/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1783055022
Updated: 2026-07-03 10:48:42

*/

/* ==========================================================================
   GENERATEPRESS PREMIUM THREE-COLUMN STICKY ENGINE LAYOUT (DESKTOP)
   ========================================================================== */
@media (min-width: 1300px) {
    /* 1. Expand the master content grid bounding box container wrapper */
    .single-post .grid-container {
        max-width: 1480px !important;
        width: 100% !important;
        padding-left: 30px !important;
        padding-right: 30px !important; /* Elegant outer window margin padding */
        box-sizing: border-box !important;
    }

    /* 2. Re-index parent block to coordinate direct layout rendering */
    .single-post .site-content {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        float: none !important;
    }

    /* 3. The Left Sidebar Component Frame with Sticky Execution */
    .gp-premium-sidebar-left-column {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 110px !important; /* Keeps layout clear of active header overlays */
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        margin-right: 40px !important; /* Spacious layout gap before main post copy text */
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
        order: 1 !important; /* Natural flex progression ordering positions column left */
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        box-sizing: border-box !important;
    }

    /* 4. Center Primary Article Column Content Box */
    .single-post #primary {
        flex: 1 !important;
        order: 2 !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 40px !important; /* Spacer clearance tracking sidebar */
        box-sizing: border-box !important;
    }

    .single-post #main {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 5. Right Sidebar Component Framework adjustments */
    .single-post #right-sidebar {
        width: 340px !important; /* Expanded wide width layout */
        min-width: 340px !important;
        max-width: 340px !important;
        order: 3 !important; /* Forces layout placement cleanly onto right track edge */
        float: none !important;
        margin-left: auto !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   BASE CONFIGURATIONS FOR SHARED INTERNAL SIDEBAR COMPONENTS
   ========================================================================== */
.ai-interaction-block {
    text-align: left;
}
.ai-block-heading-title {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 12px;
}
.ai-icon-grid-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ai-service-link-btn {
    width: 36px;
    height: 36px;
    border: 1px solid #d1d5db;
    border-radius: 50%;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111827;
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.ai-service-link-btn:hover {
    background: #f8fafc;
    border-color: #0066cc;
    color: #0066cc;
    transform: translateY(-2px);
}

/* SVG icon styling */
.ai-service-link-btn svg {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

/* Chapters Navigation Box Component Framework Styles */
.chapters-navigation-card {
    background-color: #ffffff; /* Changed from #f8fafc to solid white */
    border-radius: 14px;
    padding: 22px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.chapters-box-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 20px;
    color: #1e293b;
    margin: 0 0 6px 0;
    font-weight: 700;
}
.chapters-blue-wavy-accent {
    width: 50px;
    height: 4px;
    background: radial-gradient(circle at 50% 100%, transparent 2px, #0066cc 3px, #0066cc 4px, transparent 5px) 0 0,
                radial-gradient(circle at 50% 0%, transparent 2px, #0066cc 3px, #0066cc 4px, transparent 5px) 4px 0;
    background-size: 8px 6px;
    background-repeat: repeat-x;
    margin-bottom: 18px;
}

/* Scroll Window Area Configurations */
.chapters-box-scroller-area {
    max-height: 380px;
    overflow-y: auto;
    padding-right: 4px;
}
.chapters-box-scroller-area::-webkit-scrollbar {
    width: 5px;
}
.chapters-box-scroller-area::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 10px;
}
.chapters-box-scroller-area ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.chapters-box-scroller-area li a {
    text-decoration: none;
    font-size: 13.5px;
    color: #475569;
    display: block;
    padding: 8px 12px;
    border-radius: 8px;
    line-height: 1.5;
    transition: all 0.15s ease;
}
.chapters-box-scroller-area li.active a,
.chapters-box-scroller-area li a:hover {
    background-color: #0066cc !important;
    color: #ffffff !important;
    font-weight: 500;
}

/* Hide mobile core layout layers on desktop viewports */
.gp-mobile-ai-section-box, #gp-mobile-toc-floating-button-action, #gp-mobile-floating-toc-card {
    display: none;
}

/* ==========================================================================
   MOBILE DEVICE VIEWPORT LAYOUT SPECIFICS (<= 1299px)
   ========================================================================== */
@media (max-width: 1299px) {
    .gp-premium-sidebar-left-column {
        display: none !important;
    }

    .gp-mobile-ai-section-box {
        display: block;
        margin: 35px 0;
        padding: 22px;
        background: #f8fafc;
        border-radius: 12px;
        border: 1px solid #e2e8f0;
    }

    /* Mobile Floating Action Trigger Button Base Structure */
    #gp-mobile-toc-floating-button-action {
        display: flex !important;
        flex-direction: column !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed;
        bottom: 170px;
        right: 15px;
        
        /* SMASH THE SIZE CEILING: Forces the circle to let you shrink it */
        width: 38px !important;       
        height: 38px !important;      
        min-width: 0 !important;   
        min-height: 0 !important;  
        
        border-radius: 50%;
        border: none;
        cursor: pointer;
        z-index: 999999;
        box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        background-color: #0066cc !important; 

        /* PERCENTAGE GRADIENT: Positioned slightly lower to balance the text addition above it */
        background-image: linear-gradient(to bottom, 
            #ffffff 0%, #ffffff 15%, 
            transparent 15%, transparent 42.5%, 
            #ffffff 42.5%, #ffffff 57.5%, 
            transparent 57.5%, transparent 85%, 
            #ffffff 85%, #ffffff 100%
        ) !important;
        
        background-repeat: no-repeat !important;
        background-position: center 21px !important; /* Shifted down to make perfect room for TOC text */
        background-size: 18px 12px !important; 
    }

    #gp-mobile-toc-floating-button-action {
        color: #ffffff;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    }

    /* Inject the small "TOC" text label inside the top edge of the circle */
    #gp-mobile-toc-floating-button-action::after {
        content: "TOC";
        position: absolute;
        top: 4px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 0.5px;
        color: rgba(255, 255, 255, 0.95);
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: none;
        border: none !important;
    }

    /* Completely hide any lingering properties on the ::before pseudo-element */
    #gp-mobile-toc-floating-button-action::before {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Keeps the broken original icon hidden */
    #gp-mobile-toc-floating-button-action svg,
    #gp-mobile-toc-floating-button-action img {
        display: none !important;
    }

    /* Rotational transition response properties for open/active states */
    #gp-mobile-toc-floating-button-action.button-active-state {
        transform: rotate(360deg); /* Maintains vertical text orientation when expanded */
        background-color: #1e293b;
    }

    /* Mobile Drawer Frame Overlay Navigation Interface */
    #gp-mobile-floating-toc-card {
        display: block;
        position: fixed;
        bottom: 155px;
        right: 20px;
        width: 290px;
        z-index: 999998;
        background: #ffffff;
        box-shadow: 0 12px 32px rgba(0,0,0,0.12);
        border: 1px solid #cbd5e1;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }
    #gp-mobile-floating-toc-card.gp-mobile-hidden-state {
        visibility: hidden;
        opacity: 0;
        transform: translateY(15px);
        pointer-events: none;
    }
}

/* Adjust Yoast Breadcrumb text size and add horizontal padding */
#breadcrumbs {
    font-size: 14px; /* Adjust as needed */
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 15px;
}

/* Adjust Entry Meta (date and author) text size */
.entry-meta {
    font-size: 15px; /* Adjust as needed */
}


/* Style and align bullet lists */
.entry-content ul {
    background-color: #f0f0f0;
    margin-left: 0;
    padding: 15px 15px 15px 30px; 
    list-style-type: disc;
    border-radius: 4px;
}

/* Bold the bullets */
.entry-content ul li::marker {
    font-weight: bold;
}

/* Style and align numbered lists */
.entry-content ol {
    background-color: #f0f0f0;
    margin-left: 0;
    padding: 15px 15px 15px 30px; 
    list-style-type: decimal;
    border-radius: 4px;
}

/* Bold the numbers */
.entry-content ol li::marker {
    font-weight: bold;
}