/************************************/
/*        Primary (French Blue)     */
/************************************/

.bg-primary,
.btn-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-soft-primary:hover,
.btn-soft-primary:focus,
.btn-soft-primary:active,
.btn-soft-primary.active,
.btn-soft-primary.focus,
.badge-primary,
.pagination .page-item.active .page-link,
.custom-control-input:checked~.custom-control-label:before,
.social-icon li a:hover,
::selection,
#topnav .navbar-toggle.open span:hover,
.services:hover.serv-primary,
.watch-video a .play-icon-circle,
.pricing.hosting-rate:hover .plan-name,
.tns-nav button.tns-nav-active,
.sidebar .widget .tagcloud>a:hover,
.ribbon.ribbon-primary span,
.nav-pills .nav-link.active {
    background-color: #002395 !important;
    /* Main French Blue */
}

.text-primary,
.btn-soft-primary,
.btn-outline-primary,
.alert-outline-primary,
.badge-outline-primary,
.accordion .accordion-item .accordion-button:not(.collapsed),
.accordion .accordion-item .accordion-button:before,
#topnav .has-submenu.active .submenu li.active>a,
#topnav .navigation-menu>li>a:hover,
#topnav .navigation-menu>li>a:active,
#topnav .navigation-menu>li:hover>a,
#topnav .navigation-menu>li.active>a,
#topnav.scroll .navigation-menu>li:hover>a,
#topnav.scroll .navigation-menu>li.active>a,
#topnav.nav-sticky .navigation-menu.nav-light>li.active>a,
#topnav.nav-sticky .navigation-menu.nav-light>li:hover>a,
#topnav.nav-sticky .navigation-menu.nav-light>li.active>a,
#topnav .navigation-menu>li .submenu li a:hover,
#topnav .navigation-menu>li>a:hover,
#topnav .navigation-menu>li .submenu li a:hover,
#topnav .navigation-menu>li.has-submenu.open>a,
#topnav .has-submenu.active a,
.services .content .title:hover,
.pricing.hosting-rate:hover.best-plan .lable .best,
.blog-post .content .title:hover,
.blog-post .content .post-meta .like:hover,
.blog-post .content .post-meta .comment:hover,
.blog-post .content .post-meta .read-more:hover,
.sidebar .widget .catagory li a:hover,
.sidebar .widget .post-recent .post-recent-content a:hover,
.media-list .comment-desk a:hover,
.breadcrumb .breadcrumb-item.active,
.breadcrumb .breadcrumb-item a:hover {
    color: #002395 !important;
    /* Main French Blue */
}

.btn-primary,
.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-soft-primary:hover,
.btn-soft-primary:focus,
.btn-soft-primary:active,
.btn-soft-primary.active,
.btn-soft-primary.focus,
.alert-primary,
.alert-outline-primary,
.badge-outline-primary,
.pagination .page-item.active .page-link,
.form-group .form-control:focus,
.form-group .form-control.active,
.custom-control-input:checked~.custom-control-label:before,
.custom-control-input:focus~.custom-control-label::before,
.form-control:focus,
.social-icon li a:hover,
#topnav .has-submenu.active .menu-arrow,
#topnav.scroll .navigation-menu>li:hover>.menu-arrow,
#topnav.scroll .navigation-menu>li.active>.menu-arrow,
#topnav.nav-sticky .navigation-menu.nav-light>li:hover>.menu-arrow,
#topnav.nav-sticky .navigation-menu.nav-light>li.active>.menu-arrow,
#topnav .navigation-menu>li:hover>.menu-arrow {
    border-color: #002395 !important;
    /* Main French Blue */
}

/* Hover / Active states use a slightly darker variant (#001b7b) */
a.text-primary:hover,
a.text-primary:focus,
a.text-primary:active,
a.text-primary.active,
a.text-primary.focus {
    color: #001b7b !important;
    /* Darker hover color */
}

.ribbon.ribbon-primary span:before {
    border-left-color: #001b7b;
    border-top-color: #001b7b;
}

.ribbon.ribbon-primary span:after {
    border-right-color: #001b7b;
    border-top-color: #001b7b;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.focus {
    background-color: #001b7b !important;
    /* Darker hover color */
    border-color: #001b7b !important;
}

/* Button & shadow effects */
.btn-primary,
.btn-soft-primary:hover,
.btn-soft-primary:focus,
.btn-soft-primary:active,
.btn-soft-primary.active,
.btn-soft-primary.focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active {
    box-shadow: 0 3px 7px rgba(0, 35, 149, 0.5) !important;
    /* Adjusted RGBA */
}

.btn-soft-primary {
    background-color: rgba(0, 35, 149, 0.15) !important;
    border-color: rgba(0, 35, 149, 0.1) !important;
    box-shadow: 0 3px 7px rgba(0, 35, 149, 0.2);
}

/* Alerts & Pagination */
.alert-primary,
.pagination .page-item .page-link:hover {
    background-color: rgba(0, 35, 149, 0.9);
}

.alert-primary .alert-link {
    color: #0b1d70;
    /* Lighter link shade within alert */
}

.pagination .page-item .page-link:hover {
    border-color: rgba(0, 35, 149, 0.9);
}

/* Services Icon, etc. */
.services .icon {
    border: 3px solid rgba(0, 35, 149, 0.2);
    background-color: rgba(0, 35, 149, 0.065);
}

/* Play Icon Stroke */
.play-icon i {
    -webkit-text-stroke: 2px #002395;
    -webkit-text-fill-color: transparent;
}

.play-icon i:hover {
    -webkit-text-stroke: 2px #002395;
    -webkit-text-fill-color: #002395;
}

/* Tiny Slider dots */
.tns-nav button {
    background: rgba(0, 35, 149, 0.5) !important;
}

/* Gradient Overlay */
.gradient-overlay {
    /* Picked a lighter shade (#91b4ed) fading into #002395 */
    background: linear-gradient(to right, #91b4ed, #002395) !important;
}

/* (Ensure the ribbon bottom overrides remain consistent) */
.ribbon.ribbon-primary span:before {
    border-left-color: #002395;
    border-top-color: #002395;
}

.ribbon.ribbon-primary span:after {
    border-right-color: #002395;
    border-top-color: #002395;
}