
.cbp-l-grid-mosaic-flat .cbp-caption-activeWrap{
    background-color: rgba(205, 64, 64, 0.95);
}
.bg-dark {
    background-color: #083b66 !important;
}
.bg-header-grad {
  background: #d3d3d3
}

/* Video Testimonials Grid */
#video-testimonials-grid {
    margin-top: 30px;
}
.video-thumb-col {
    margin-bottom: 30px;
}
.video-thumb-link {
    display: block;
    text-decoration: none;
    color: #333;
}
.video-thumb-wrap {
    position: relative;
    width: 100%;
    /* Updated aspect ratio to 3/2 as requested */
    aspect-ratio: 3 / 2;
    background-color: #000;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.video-thumb-link:hover .video-thumb-wrap {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.video-thumb-preview {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures video fills the card uniformly without distortion */
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.video-thumb-link:hover .video-thumb-preview {
    opacity: 0.5;
}
.video-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    color: #fff;
    opacity: 0.9;
    transition: all 0.3s ease;
}
.video-thumb-link:hover .video-play-overlay {
    color: #cf1717; /* match theme color */
    transform: translate(-50%, -50%) scale(1.1);
}
.video-thumb-label {
    text-align: center;
    margin-top: 10px;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.3s ease;
}
.video-thumb-link:hover .video-thumb-label {
    color: #cf1717;
}

/* Fix for FontAwesome 5 Solid Icons in Services Section */
.services-sec .our-services .service-card .image-holder i.fas {
    font-weight: 900 !important;
}

/* Subtle Hover Animation Override for Service Cards */
.services-sec .our-services .service-card:hover .image-holder {
    animation: none !important;
    transform: translateY(-8px) scale(1.1);
    transition: transform 0.4s ease-out;
}
.services-sec .our-services .service-card .image-holder {
    transition: transform 0.4s ease-out;
}

/* Make the menu line visible and position relative for JS calculation */
.navbar-nav {
    position: relative !important;
}

.menu-line {
    display: block !important;
    left: 0;
    transition: all 0.3s ease-in-out !important;
    transform: none !important;
}

/* FAQ Accordion Styling */
#faqAccordion .card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
#faqAccordion .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.08) !important;
}
#faqAccordion .btn-link {
    transition: color 0.2s ease-in-out;
}
#faqAccordion .btn-link:hover, 
#faqAccordion .btn-link:focus, 
#faqAccordion .btn-link[aria-expanded="true"] {
    color: #cf1717 !important; /* Theme red color */
    text-decoration: none;
}
#faqAccordion .btn-link::after {
    content: '\f107'; /* fa-angle-down */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    float: right;
    transition: transform 0.3s;
}
#faqAccordion .btn-link[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

/* FancyBox Iframe/Video Fixes — Portrait (TikTok 9:16) */
.fancybox-slide--iframe .fancybox-content {
    width: auto !important;
    max-width: 90vw !important;
    height: 85vh !important;
    max-height: 85vh !important;
    aspect-ratio: 9 / 16 !important;
    background: transparent !important;
    margin: 0 auto !important;
    border-radius: 12px;
    overflow: hidden;
}

.fancybox-slide--iframe .fancybox-iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border-radius: 12px;
}

/* Fix unscrolled hamburger menu vertical alignment on mobile */
@media (max-width: 991px) {
    header:not(.header-appear) .sidemenu_btn {
        top: 22px !important;
    }
}
.fancybox-caption {
    border-top: none !important;
}