/*
CTC Separate Stylesheet
Updated: 2026-01-03 00:05:37
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,accessibility-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.4.2.1767398737
*/
/* =================================================================== */
/* 1. General Header & Layout Styling
/* =================================================================== */


.site-header-row-container-inner {
    background-color: #ffffff;
    color: #000000;
    border-bottom: 1px solid #e8e8ea;
}

.site-main-header-inner-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 96px;
}

.site-header-main-section-left,
.site-header-main-section-right {
    display: flex;
    align-items: center;
}

/* =================================================================== */
/* 2. Navigation Menu Links
/* =================================================================== */

#primary-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}

#primary-menu li a {
    display: inline-block !important; /* <-- ADD THIS LINE */

    font-size: 1.125rem;
    line-height: 1.4;
    text-decoration: none;
    color: #000000;
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease-in-out;
}

#primary-menu li a:hover {
    color: #374151;
    border-bottom-color: #4b5563;
}

#primary-menu li.current-menu-item a {
    border-bottom-color: #4b5563;
    font-weight: 500;
}

/* =================================================================== */
/* 3. The Framer-style "Request Demo" Button (CORRECTED ANIMATION)
/* =================================================================== */

/* Target the button link inside the header */
.header-button-wrap .blu-gradient-btn {
    /* Reset theme defaults */
    line-height: 1; 
    font-weight: 500;
    font-size: 16px;
    text-shadow: none;
    box-shadow: none;
    
    /* Your styles */
    position: relative; 
    overflow: hidden; 
    display: inline-block; 
    padding: 12px 25px 12px 28px; 
    border-radius: 12px; 
    border: 1px solid rgb(42, 127, 255); 
    text-decoration: none;
    background: linear-gradient(256deg, rgb(6, 87, 208) 0%, rgb(31, 120, 255) 148%);
}

.blu-gradient-btn-content {
    position: relative; 
    z-index: 2; 
    display: flex; 
    align-items: center; 
    gap: 12px;
    color: rgb(242, 249, 254); 
}

/* The gradient overlay that appears on hover */
.header-button-wrap .blu-gradient-btn::after {
    content: ''; 
    position: absolute; 
    top: 0; left: 0; right: 0; bottom: 0; 
    z-index: 1;
    border-radius: 11px;
    background: linear-gradient(256deg, rgb(26, 107, 228) 0%, rgb(51, 140, 255) 100%);
    opacity: 0; 
    transition: opacity 0.3s ease;
}

.header-button-wrap .blu-gradient-btn:hover::after { 
    opacity: 1; 
}

/* The icon sliding mechanism */
.btn-icon-wrapper { 
    width: 20px; 
    height: 20px; 
    overflow: hidden; 
}

.btn-icon-slider { 
    display: flex; 
    flex-direction: column; 
    /* THIS IS THE FIX: We explicitly set the starting position */
    transform: translateY(0); 
    /* And we ensure the transition is always active */
    transition: transform 0.3s cubic-bezier(0.7, 0, 0.3, 1); 
}

.btn-icon-slider svg { 
    flex-shrink: 0; 
    width: 20px; 
    height: 20px; 
}

/* The hover animation for the icon */
.header-button-wrap .blu-gradient-btn:hover .btn-icon-slider { 
    /* THIS IS THE FIX: The correct value is -50% to slide one icon's height */
    transform: translateY(-50%); 
}
/* =================================================================== */
/* 4. Responsive (Mobile) Design
/* =================================================================== */
@media (max-width: 1024px) {
    .site-header-item-main-navigation,
    .site-header-main-section-right .header-button-wrap {
        display: none;
    }
    
    .mobile-toggle-open-sidebar {
        color: #1570EF;
    }
    
    .site-main-header-inner-wrap {
        height: 80px;
    }
}
@media (min-width: 1024px) {
    .blu-features-section {
        padding-top: 60px !important;
        padding-bottom: 50px  !important;
    }
}

/* === Embedded Request Demo Form (Shortcode) === */
.blu-embedded-form-wrapper {
    background: #ffffff;
    padding: 24px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    max-width: 500px;
    margin: 24px auto;
}

.blu-embedded-title {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px 0;
    text-align: center;
}

.blu-embedded-desc {
    font-size: 15px;
    color: #6b7280;
    margin: 0 0 20px 0;
    text-align: center;
    line-height: 1.4;
}

.blu-embedded-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.blu-ef-input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    outline: none;
    transition: all 0.2s;
    background-color: #f9fafb;
    color: #111827;
}

.blu-ef-input:focus {
    background-color: #fff;
    border-color: #1570EF;
    box-shadow: 0 0 0 2px rgba(21, 112, 239, 0.1);
}

.blu-ef-btn {
    width: 100%;
    padding: 12px;
    margin-top: 8px;
    background: linear-gradient(256deg, rgb(6, 87, 208) 0%, rgb(31, 120, 255) 148%);
    color: white;
    font-weight: 600;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.blu-ef-btn:hover {
    opacity: 0.9;
}

/* RTL Support */
[dir="rtl"] .blu-ef-input {
    text-align: right;
}
/* === Hero Newsletter (Custom Design) === */
.blu-hero-newsletter {
    background-color: #ffffff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    max-width: 700px;
    margin: 32px auto 0 auto; /* Center the box */
    text-align: center;
}

.blu-newsletter-title {
    font-size: 28px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 12px 0;
}

.blu-newsletter-text {
    font-size: 16px;
    color: #6b7280;
    margin: 0 0 32px 0;
}

/* The Flex Row for Input + Button */
.blu-newsletter-form {
    display: flex;
    gap: 12px;
    width: 100%;
    max-width: 500px;
    margin: 0 auto; /* Center the form fields */
}

/* Mobile: Stack them */
@media (max-width: 600px) {
    .blu-newsletter-form {
        flex-direction: column;
    }
}

.blu-input {
    flex: 1; /* Takes remaining space */
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 16px;
    outline: none;
    background-color: #ffffff;
    color: #000;
}

.blu-input:focus {
    border-color: #1570EF;
    box-shadow: 0 0 0 3px rgba(21, 112, 239, 0.1);
}

.blu-btn-primary {
    background-color: #1570EF; /* Brand Blue */
    color: #ffffff;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.blu-btn-primary:hover {
    background-color: #105acb;
}

/* Success/Error Message styling */
#blu-newsletter-msg {
    margin-top: 16px;
    font-size: 14px;
    font-weight: 500;
}