/* User-side brand theme only (frontend layout) */
:root {
    --lc-blue: #173f9d;
    --lc-navy: #0a2f87;
    --lc-yellow: #f5c400;
    --lc-yellow-bright: #fff200;
    --lc-green: #62d390;
    --lc-red: #ef2b24;
    --lc-pink: #e9a6c8;
    --lc-sky: #b6e6f2;

    --bs-primary: #173f9d;
    --bs-primary-rgb: 23, 63, 157;
    --bs-link-color: #173f9d;
    --bs-link-hover-color: #0b2d79;

    /* Logo-driven palette */
    --rj-red: #ef2b24;
    --rj-royal-blue: #173f9d;
    --rj-deep-blue: #0a2f87;
    --rj-gold: #f5c400;
    --rj-orange: #f6b400;
    --rj-leaf-green: #62d390;
    --rj-petal-pink: #e9a6c8;
    --rj-petal-sky: #b6e6f2;

    /* Text scale for user-side content */
    --rj-title-color: #173f9d;
    --rj-subtitle-color: #0a2f87;
    --rj-content-color: #2d3a4a;
    --rj-paragraph-color: #38485c;
    --rj-uniform-heading-size: clamp(1.45rem, 2.1vw, 2rem);
}

body {
    background: linear-gradient(180deg, #fffef8 0%, #ffffff 100%);
}

a {
    color: var(--lc-blue);
}

a:hover {
    color: var(--lc-red);
}

.text-primary {
    color: var(--lc-blue) !important;
}

.btn.btn-primary,
.btn-primary {
    background: linear-gradient(135deg, var(--lc-blue), var(--lc-navy));
    border: 1px solid var(--lc-yellow);
    color: #fff;
}

.btn.btn-primary:hover,
.btn-primary:hover {
    background: linear-gradient(135deg, var(--lc-green), #45c27a);
    border-color: var(--lc-green);
    color: #082e4f;
}

.btn.btn-light:hover {
    background: var(--lc-yellow);
    color: var(--lc-navy);
}

.nav-bar {
    /*background: linear-gradient(180deg, var(--lc-navy), #14388f);*/
}

.nav-bar.scrolled {
    /*background: linear-gradient(180deg, #082767, #0e347f);*/
}

.navbar .navbar-nav {
    /*background: linear-gradient(90deg, var(--lc-yellow-bright), var(--lc-yellow));*/
    /*border: 2px solid #f2cc40;*/
}

.navbar-nav .nav-link {
    color: #0f2f83 !important;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--lc-red) !important;
}

.navbar-nav .nav-link::after {
    background: var(--lc-green) !important;
}

.dropdown-menu.custom-dropdown .dropdown-item:hover {
/*    background: #eef6ff;
    color: #0f2f83;*/
}

.topbar {
    /*background: linear-gradient(90deg, #f7fbff, #fff9d9) !important;*/
}

.topbar .text-primary,
.topbar a:hover {
    /*color: var(--lc-blue) !important;*/
}

.footer-wrapper::before {
    background: radial-gradient(circle, rgba(239, 43, 36, 0.22), transparent 70%);
}

.footer-title::after {
    background: var(--lc-yellow);
}

.footer-links a:hover {
    color: var(--lc-yellow-bright);
}

/* User-side typography colors from logo palette */
.page-content h1,
.page-content h2,
.page-content .display-4,
.page-content .section-title,
.page-content .card-title,
.page-content .title {
    color: var(--rj-title-color);
}

.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    color: var(--rj-subtitle-color);
}

.page-content .content-box,
.page-content .section-box,
.page-content .resource-content-card,
.page-content .about-premium-card {
    color: var(--rj-content-color);
}

.page-content p,
.page-content li {
    color: var(--rj-paragraph-color);
}

.page-content strong,
.page-content b {
    color: var(--rj-deep-blue);
}

/* Global responsive hardening for all user-side pages */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
video,
canvas {
    height: auto;
}

#layout-wrapper,
.main-content,
.page-content {
    width: 100%;
    overflow: visible;
}

.table-responsive {
    -webkit-overflow-scrolling: touch;
}

table {
    word-break: normal;
}

.text-break,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: anywhere;
}

.bg-breadcrumb {
    background-position: center center !important;
    background-size: cover !important;
}

/* Unified internal-page banner sizing/alignment (excludes home slider classes) */
:root {
    --user-banner-height-desktop: 320px;
    --user-banner-height-tablet: 270px;
    --user-banner-height-mobile: 113px;
    --user-banner-content-pad: clamp(18px, 2.8vw, 36px);
}

.bg-breadcrumb,
.gallery-hero,
.contact-hero-banner,
.resources-hero {
    position: relative;
    overflow: hidden;
    /*min-height: var(--user-banner-height-desktop) !important;*/
    display: flex !important;
    align-items: center !important;
    justify-content: center;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.bg-breadcrumb > .container,
.gallery-hero > .gallery-hero-inner,
.contact-hero-banner > .container,
.resources-hero > .container {
    width: 100%;
    position: relative;
    z-index: 2;
}

.bg-breadcrumb > .container,
.gallery-hero-inner,
.contact-hero-content,
.resources-hero-content {
    padding-top: var(--user-banner-content-pad) !important;
    padding-bottom: var(--user-banner-content-pad) !important;
}

@media (max-width: 991.98px) {
    .bg-breadcrumb,
    .gallery-hero,
    .contact-hero-banner,
    .resources-hero {
        min-height: var(--user-banner-height-tablet) !important;
    }

    .container-fluid {
        /*padding-left: 12px;*/
        /*padding-right: 12px;*/
    }

    .display-4 {
        font-size: clamp(1.6rem, 6.2vw, 2.2rem);
        line-height: 1.2;
    }

    .page-content {
        padding-top: 0;
    }
}

@media (max-width: 575.98px) {
    .bg-breadcrumb,
    .gallery-hero,
    .contact-hero-banner,
    .resources-hero {
        min-height: var(--user-banner-height-mobile) !important;
    }

    .container-fluid {
        /*padding-left: 10px;*/
        /*padding-right: 10px;*/
    }

    .btn,
    .nav-link {
        font-size: 0.94rem;
    }
}

.back-to-top {
    display: none;
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(14px + env(safe-area-inset-bottom));
    z-index: 1040;
}

/* Unified heading sizing across all user-side pages */
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6,
.page-content .display-1,
.page-content .display-2,
.page-content .display-3,
.page-content .display-4,
.page-content .display-5,
.page-content .display-6,
.page-content .section-title,
.page-content .card-title,
.page-content .title {
    /*font-size: var(--rj-uniform-heading-size) !important;*/
    line-height: 1.25 !important;
}

@media (max-width: 575.98px) {
    :root {
        --rj-uniform-heading-size: 1.35rem;
    }
}
