/*--------------- 
    BEGIN MAIN THEME STYLE RULES (LUKE CENTER BRAND PALLETE)
---------------*/
:root {
    --brand-700: #185644; /* pine green */
    --brand-600: #2E6B5A;
    --brand-500: #4E837C;
    --brand-blue-700: #103452; /* Dark Blue - Added from Copy */
    --hero-grad-start: #ECF6FF;
    --hero-grad-end: #78B7E8;
    --accent-bg: #f7faf9;
}

/* --- Layout Utilities --- */
.section-accent {
    background: var(--accent-bg);
    padding: 8px;    
}

.bg-brand-blue {
    background-color: var(--brand-blue-700) !important;
}

.hero {
    background: radial-gradient(100% 120% at 30% 20%, var(--hero-grad-start) 0%, var(--hero-grad-end) 100%);
}

.text-hero {
    color: #0b2a22;
}

/*--------------- 
    BEGIN TYPOGRAPHY & TEXT UTILITIES
---------------*/
.letter-wide {
    letter-spacing: 0.1em; /* Merged: used the 0.1em from Copy file */
}

.text-brand {
    color: var(--brand-700) !important;
}

.text-brand-blue {
    color: var(--brand-blue-700) !important;
}

.small-label {
    font-size: 0.8em;
    color: #666;
    margin-left: 5px;
}

/*--------------- 
    BEGIN HEADER & NAVBAR RULES 
---------------*/
.site-header .navbar-brand {
    padding: .25rem 0;
}

.brand-logo {
    height: 44px;
    width: auto;
}

/* From Copy file - presumably for a specific banner image */
.banner-logo {
    width: 154px;
    height: 154px;
    object-fit: contain; 
}

.navbar-nav .nav-link {
    color: var(--brand-700);
    border-radius: .5rem;
    padding: .5rem .75rem;
}

.navbar-nav .nav-link:hover {
    background: #e8f3ee;
}

.navbar-nav .nav-link.active {
    color: #0d3429;
}

/*--------------- 
    BEGIN FOOTER RULES 
---------------*/
footer a {
    color: var(--brand-700);
}

footer a:hover {
    text-decoration: underline;
}

/*--------------- 
    BEGIN BUTTON RULES 
---------------*/

/* --- Green Buttons (Default) --- */
.btn-brand {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--brand-700);
    --bs-btn-border-color: var(--brand-700);
    --bs-btn-hover-bg: #0f3f31;
    --bs-btn-hover-border-color: #0f3f31;
    --bs-btn-font-weight: 700;
}

.btn-outline-brand {
    --bs-btn-color: var(--brand-700);
    --bs-btn-border-color: var(--brand-700);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--brand-700);
    --bs-btn-hover-border-color: var(--brand-700);
    --bs-btn-font-weight: 700;
}

/* --- Blue Buttons (Speakers/Dashboard) --- */
.btn-brand-blue {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--brand-blue-700);
    --bs-btn-border-color: var(--brand-blue-700);
    --bs-btn-hover-bg: #0c263d;
    --bs-btn-hover-border-color: #0c263d;
    --bs-btn-font-weight: 700;
}

.btn-outline-brand-blue {
    --bs-btn-color: var(--brand-blue-700);
    --bs-btn-border-color: var(--brand-blue-700);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--brand-blue-700);
    --bs-btn-hover-border-color: var(--brand-blue-700);
    --bs-btn-font-weight: 700;
}

/*--------------- 
    BEGIN DASHBOARD & TABLE RULES 
---------------*/

/* --- Table Headers --- */
.table-brand-head th {
    background-color: var(--brand-700);
    color: #fff;
}

.table-speakers-head th {
    background-color: var(--brand-blue-700);
    color: #fff;
}

/* --- Dashboard Toggle Animations --- */
[data-dashboard-toggle] .bi-chevron-down {
    transition: transform 0.3s ease-in-out;
}

[data-dashboard-toggle]:not(.collapsed) .bi-chevron-down {
    transform: rotate(180deg);
}

.btn-view-details i {
    pointer-events: none;
}
/* --- Modal Rules --- */
/* 1. Force the second generated backdrop to sit ON TOP of the first modal 
   (Standard Bootstrap modal z-index is 1055, so we go to 1056) */
.modal-backdrop:nth-of-type(2) {
    z-index: 1056 !important;
}

/* 2. Force the Add Invoice modal to sit ON TOP of that second backdrop */
#addInvoiceModal {
    z-index: 1060 !important;
}
/* --- Applicant/Speaker Row Styles --- */
.applicant-data-row td,
.speaker-data-row td {
    border-bottom: none !important;
}

.applicant-action-row td,
.speaker-action-row td {
    border-top: none !important;
    background-color: #f8f9fa; /* Light gray background */
}

.applicant-action-row.border-bottom-2,
.speaker-action-row.border-bottom-2 {
    border-bottom: 2px solid #dee2e6 !important;
}

/*--------------- 
    BEGIN MEDIA & IMAGE RULES 
---------------*/
#logo-image {
    height: 256px;
    width: 256px;
}

.object-cover {
    object-fit: cover;
    max-height: 480px;
}

.bi-lock {
    float: right;
}

/*---------------
    BEGIN GALLERY RULES
---------------*/
.lc-gallery {
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6efe9;
}

.lc-gallery-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #f7faf9;
}

.lc-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.lc-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255,255,255,0.85);
    color: #0d3429;
    font-size: 1.5rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.lc-gallery-arrow:hover {
    background: rgba(255,255,255,1);
}

.lc-gallery-prev {
    left: .75rem;
}

.lc-gallery-next {
    right: .75rem;
}

.lc-testimonial {
    min-height: 3.5rem;
}

/*---------------
    BEGIN CATALYTIC LEADERSHIP OVERVIEW (EXPANDABLE) RULES
---------------*/
.lc-expand-toggle {
    text-align: left;
    padding: .9rem 1rem;
}

.lc-expand-toggle .lc-toggle-subtitle {
    color: #6c757d;
    font-weight: 500;
}

.lc-expand-toggle .lc-collapse-chevron {
    transition: transform .18s ease-in-out;
}

.lc-expand-toggle:not(.collapsed) .lc-collapse-chevron {
    transform: rotate(180deg);
}

.btn-outline-brand:hover .lc-toggle-subtitle {
    color: rgba(255,255,255,0.9);
}

.lc-toc a {
    display: block;
    padding: .15rem 0;
}

.lc-overview-content p:last-child {
    margin-bottom: 0;
}