@charset "UTF-8";
/*
Theme Name: Christian
Theme URI: https://christian.cmsmasters.net/
Author: cmsmasters
Author URI: https://cmsmasters.net/
Description: Christian WordPress Elementor Theme is a perfect theme for traditional and modern churches and religious organizations, church events and other community events, church donations, etc. This WordPress theme has all the needed functionality for churches including Sermons, Campaigns and Ministries custom post types, Donations Functionality and Events support. Besides it has WooCommerce plugin integration to sell goods from your church website to collect funds for your religious projects and church.
Version: 1.0.3
License:
License URI:
Text Domain: christian
Domain Path: /theme-config/languages
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/


.sticky,
.bypostauthor,
.screen-reader-text {
  outline: none;
}

/* ==========================================================ssss=========
   NAVBAR / HEADER FIXES - Custom fixes for golgotabistrita.ro
   =================================================================== */

/* CRITICAL FIX: Force parent container to be horizontal */
.elementor-1892 .elementor-element.elementor-element-36a5ce2 {
    --flex-direction: row !important;
    flex-direction: row !important;
    align-items: center !important;
}

/* Fix the excessive line-height issue on menu items - CRITICAL FIX */
.elementor-1892 .elementor-element.elementor-element-54ed475 .elementor-nav-menu .elementor-item {
    line-height: 1.4em !important; /* Override the 76px line-height */
    padding: 15px 20px !important; /* Add proper padding instead */
    font-size: 16px !important; /* More readable size */
    height: auto !important; /* Reset any fixed heights */
    display: inline-block !important; /* Ensure proper inline display */
}

/* Additional specificity boost for menu items */
.elementor-1892 .elementor-element-54ed475 .elementor-nav-menu--main .elementor-item {
    line-height: 1.4em !important;
    padding: 15px 20px !important;
}

/* Main navigation menu styling - FORCE horizontal layout */
.elementor-nav-menu--main.elementor-nav-menu__container {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
}

/* Menu item spacing and alignment */
.elementor-nav-menu--main > .menu-item {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 10px !important;
}

/* Menu links - fix vertical spacing */
.elementor-nav-menu--main .elementor-item {
    display: inline-block !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

/* Ensure UL element displays horizontally */
.elementor-1892 .elementor-element.elementor-element-54ed475 ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix for CMSmasters Nav Menu Widget (element a052fad) */
.elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}

.elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal > ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    list-style: none !important;
    gap: 10px;
}

.elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal > ul > li > a {
    line-height: 1.4em !important;
    padding: 15px 20px !important;
    display: inline-block !important;
}

/* Header container alignment */
.elementor-1892 .elementor-element.elementor-element-e23ea3b {
    align-items: center;
}

/* Logo sizing consistency */
.elementor-widget-cmsmasters-site-logo__img {
    display: block;
    height: auto;
}

/* Navigation container centering */
.elementor-1892 .elementor-element.elementor-element-36a5ce2 {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Menu toggle button for mobile */
.elementor-menu-toggle {
    cursor: pointer;
    display: none;
}

/* Dropdown menu improvements */
.elementor-nav-menu--main .sub-menu {
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    border-radius: 4px;
    padding: 10px 0;
    min-width: 220px;
}

.elementor-nav-menu--main .sub-menu .elementor-sub-item {
    line-height: 1.5em !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    color: #333 !important;
    transition: all 0.3s ease;
}

.elementor-nav-menu--main .sub-menu .elementor-sub-item:hover {
    background: #f8f8f8;
    padding-left: 25px !important;
    color: #F0D47A !important;
}

/* ===================================================================
   CRITICAL WIDTH FIXES - Override Elementor's excessive widths
   =================================================================== */

/* FORCE ALL NAVBAR CONTAINERS TO STAY WITHIN VIEWPORT */
.elementor-1892 .elementor-element.elementor-element-e23ea3b {
    max-width: 100vw !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Base styles - apply to all sizes */
.elementor-1892 .elementor-element.elementor-element-e23ea3b {
    max-width: 100vw !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ===================================================================
   RESPONSIVE STYLES
   =================================================================== */

/* DESKTOP - Full horizontal layout (1025px and up) */
@media (min-width: 1025px) {
    /* Main header container - flexbox layout */
    .elementor-1892 .elementor-element.elementor-element-e23ea3b {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    /* Logo container - stay on left */
    .elementor-1892 .elementor-element.elementor-element-54aaf93 {
        max-width: 250px !important;
        flex: 0 0 auto !important;
        padding-left: 20px !important;
        --width: auto !important;
        width: auto !important;
    }

    /* Navigation container - expand in center */
    .elementor-1892 .elementor-element.elementor-element-36a5ce2 {
        flex: 1 1 auto !important;
        --width: auto !important;
        width: auto !important;
        max-width: none !important;
    }

    /* Button - stay on right */
    .elementor-1892 .elementor-element.elementor-element-d61398c {
        flex: 0 0 auto !important;
        padding-right: 20px !important;
        --width: auto !important;
        width: auto !important;
    }

    /* Navigation menu - remove fixed width constraints */
    .elementor-1892 .elementor-element.elementor-element-54ed475 {
        width: auto !important;
        max-width: none !important;
        --container-widget-width: auto !important;
    }
}

/* TABLET - Two row layout (768px to 1024px) */
@media (max-width: 1024px) and (min-width: 768px) {
    /* Main header container - allow wrapping */
    .elementor-1892 .elementor-element.elementor-element-e23ea3b {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
        --min-height: auto !important;
        min-height: auto !important;
    }

    /* Logo - top left */
    .elementor-1892 .elementor-element.elementor-element-54aaf93 {
        max-width: 180px !important;
        padding-left: 15px !important;
        padding-right: 0 !important;
        flex: 0 0 auto !important;
        order: 1 !important;
        --width: auto !important;
        width: auto !important;
    }

    /* Navigation - full width second row */
    .elementor-1892 .elementor-element.elementor-element-36a5ce2 {
        order: 3 !important;
        flex: 1 1 100% !important;
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 15px !important;
        --flex-direction: row !important;
        flex-direction: row !important;
    }

    /* Button - top right */
    .elementor-1892 .elementor-element.elementor-element-d61398c {
        padding-right: 15px !important;
        padding-left: 0 !important;
        order: 2 !important;
        flex: 0 0 auto !important;
        --width: auto !important;
        width: auto !important;
        max-width: none !important;
    }

    /* Navigation menu */
    .elementor-1892 .elementor-element.elementor-element-54ed475 {
        width: 100% !important;
        max-width: 100% !important;
        --container-widget-width: 100% !important;
    }

    /* Smaller menu items */
    .elementor-1892 .elementor-element.elementor-element-54ed475 .elementor-nav-menu .elementor-item {
        font-size: 13px !important;
        padding: 8px 10px !important;
    }

    .elementor-nav-menu--main > .menu-item {
        margin: 0 3px !important;
    }
}

/* MOBILE - Vertical stack (below 768px) */
@media (max-width: 767px) {
    /* Main header container - vertical stack */
    .elementor-1892 .elementor-element.elementor-element-e23ea3b {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 15px 0 !important;
        --min-height: auto !important;
        min-height: auto !important;
        --e-con-grid-template-columns: 1fr !important;
    }

    /* Logo - top center */
    .elementor-1892 .elementor-element.elementor-element-54aaf93 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 160px !important;
        margin-bottom: 15px !important;
        order: 1 !important;
        --width: auto !important;
        width: auto !important;
        flex: 0 0 auto !important;
    }

    /* Navigation - second */
    .elementor-1892 .elementor-element.elementor-element-36a5ce2 {
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        order: 3 !important;
        margin-bottom: 15px !important;
        --flex-direction: column !important;
        flex-direction: column !important;
    }

    /* Button - move to bottom */
    .elementor-1892 .elementor-element.elementor-element-d61398c {
        padding-right: 0 !important;
        padding-left: 0 !important;
        order: 4 !important;
        --width: auto !important;
        width: auto !important;
        flex: 0 0 auto !important;
    }

    /* Navigation menu - full width */
    .elementor-1892 .elementor-element.elementor-element-54ed475 {
        width: 100% !important;
        max-width: 100% !important;
        --container-widget-width: 100% !important;
    }

    /* Menu items stack vertically on mobile */
    .elementor-1892 .elementor-element.elementor-element-54ed475 .elementor-nav-menu .elementor-item,
    .elementor-1892 .elementor-element-54ed475 .elementor-nav-menu--main .elementor-item {
        font-size: 16px !important;
        padding: 12px 20px !important;
        width: 100%;
        display: block !important;
    }

    .elementor-nav-menu--main.elementor-nav-menu__container {
        flex-direction: column !important;
    }

    .elementor-nav-menu--main > .menu-item {
        margin: 0 !important;
        width: 100%;
        border-bottom: 1px solid #f0f0f0;
    }

    .elementor-1892 .elementor-element.elementor-element-54ed475 ul.elementor-nav-menu {
        flex-direction: column !important;
        width: 100%;
    }

    /* CMSmasters Nav Menu mobile fixes */
    .elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal {
        flex-direction: column !important;
    }

    .elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal > ul {
        flex-direction: column !important;
        width: 100%;
    }

    .elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal > ul > li {
        width: 100%;
        border-bottom: 1px solid #f0f0f0;
    }

    .elementor-1892 .elementor-element.elementor-element-a052fad .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal > ul > li > a {
        display: block !important;
        width: 100%;
        padding: 12px 20px !important;
    }

    /* Logo adjustments for mobile */
    .elementor-widget-cmsmasters-site-logo__image-container img {
        max-height: 50px;
    }

    /* Mobile dropdown adjustments */
    .elementor-nav-menu--main .sub-menu {
        position: static;
        box-shadow: none;
        background: #f8f8f8;
        margin-left: 20px;
    }
}
