/* ================================================
   CCOT CUSTOM CSS - CLEAN VERSION
   ================================================ */

/* Popup close button */
#ccot-close {
    position: absolute !important;
    top: 12px !important;
    right: 16px !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #888 !important;
    font-size: 1.6em !important;
    width: auto !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: block !important;
}
#ccot-close:hover { color: #333 !important; background: none !important; }

/* Popup submit button */
#ccot-popup button#ccot-submit {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    letter-spacing: 1px !important;
}

/* Stay Informed page button */
#si-submit {
    line-height: normal !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    vertical-align: middle !important;
    display: block !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: unset !important;
}

/* Mobile Stay Informed */
@media (max-width: 768px) {
    #si-fname, #si-email, #si-submit {
        width: 100% !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }
    #si-submit { white-space: normal !important; }
}

/* More Info red button */
.elementor-item[href*="stay-informed"],
.elementor-nav-menu a[href*="stay-informed"],
li.menu-item a[href*="stay-informed"] {
    background-color: #cc0000 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: bold !important;
}
li.menu-item a[href*="stay-informed"]:hover {
    background-color: #aa0000 !important;
}

/* Latest News ticker - grey label, site blue background */
.elementor-element-b6c954a,
.elementor-element-b6c954a .elementor-widget-container,
.elementor-element-b6c954a .news-ticker-wrap,
.elementor-element-b6c954a .fd-elementor-news-ticker,
.elementor-element-b6c954a .fd-ticker-b6c954a {
    background-color: #2a3047 !important;
    border: none !important;
}
.elementor-element-b6c954a .news-ticker-label {
    background-color: #f0f0f0 !important;
    color: #2a3047 !important;
    border-right: 1px solid #ddd !important;
}
.elementor-element-b6c954a .news-ticker-icon svg,
.elementor-element-b6c954a .news-ticker-icon i {
    color: #2a3047 !important;
    fill: #2a3047 !important;
}
.elementor-element-b6c954a .js-ticker-track a,
.elementor-element-b6c954a .js-ticker-track a:visited,
.elementor-element-b6c954a .top-heading,
.elementor-element-b6c954a .news-item-b6c954a,
.elementor-element-b6c954a a {
    color: #ffffff !important;
}
.elementor-element-b6c954a .sep_text,
.elementor-element-b6c954a .news-item-b6c954a.sep_text {
    color: #cc0000 !important;
}

/* Active menu item */
.elementor-element-d96ab82 .elementor-item.elementor-item-active,
.elementor-element-d96ab82 .elementor-item:focus {
    background-color: #2a3047 !important;
    color: #ffffff !important;
    outline: 2px solid rgba(255,255,255,0.3) !important;
}

/* About page - remove black border, center image and caption */
.wp-caption,
.wp-block-image figcaption,
.wp-block-image figure,
figure.wp-caption {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: none !important;
    text-align: center !important;
    margin: 20px auto !important;
    display: block !important;
}
.wp-caption img,
.wp-block-image img {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    display: block !important;
    margin: 0 auto !important;
}
.wp-caption-text,
.wp-block-image figcaption {
    text-align: center !important;
    border: none !important;
    background: none !important;
    color: #555 !important;
    font-size: 0.9em !important;
    margin-top: 8px !important;
    font-style: italic !important;
}

/* Done button */
#ccot-done-btn {
    font-family: inherit !important;
    font-size: 0.9em !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 16px 20px !important;
    line-height: normal !important;
    height: auto !important;
    min-height: unset !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}
#ccot-done-wrap {
    text-align: center !important;
    margin: 40px 0 30px 0 !important;
    padding-top: 20px !important;
    border-top: 2px solid #eee !important;
}

/* Date heading - smaller, single line */
#brp-scriptures h3 {
    font-size: 1.8em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
}
@media (max-width: 768px) {
    #brp-scriptures h3 {
        font-size: 1em !important;
        white-space: nowrap !important;
    }
    #ccot-done-btn {
        font-size: 0.8em !important;
        letter-spacing: 0.5px !important;
        padding: 14px 10px !important;
    }
}

/* Calendar today - red */
.ui-datepicker td.ui-datepicker-today a.ui-state-highlight,
.ui-datepicker td.ui-datepicker-today a.ui-state-active,
.ui-datepicker td.ui-datepicker-current-day a,
.ui-datepicker td.ui-datepicker-today a {
    background: #cc0000 !important;
    background-image: none !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    border: 1px solid #aa0000 !important;
}
.ui-datepicker td.ui-datepicker-today,
.ui-datepicker td.ui-datepicker-current-day {
    background: transparent !important;
}

/* Sidebar gauge widget */
#ccot-widget-wrap { font-family: inherit !important; padding: 15px 0 !important; }
#ccot-widget-label { font-family: inherit !important; font-size: 0.88em !important; color: #333 !important; line-height: 1.5 !important; margin-top: 10px !important; }
#ccot-widget-wrap a { font-family: inherit !important; font-size: 0.88em !important; display: inline-block !important; margin-top: 12px !important; color: #cc0000 !important; font-weight: 700 !important; text-decoration: none !important; }
#ccot-widget-wrap a:hover { color: #aa0000 !important; }

/* Progress bar */
#ccot-progress-wrap { font-family: inherit !important; }
#ccot-progress-label { font-family: inherit !important; font-size: 0.88em !important; letter-spacing: 0.3px !important; }

/* Hide gauge widget on My Reading Profile page */
.page-id-39871 #ccot-widget-wrap {
    display: none !important;
}
.page-id-39871 .widget_custom_html:has(#ccot-widget-wrap) {
    display: none !important;
}

/* Homepage - uniform content width with blue side margins */
.home .elementor-top-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.home .elementor-element-7f21b46 {
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

.home section.elementor-section > .elementor-container {
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Remove gaps between sections */
.home section.elementor-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Fix first section top spacing */
.home .elementor-element-7f21b46 {
    margin-top: 0 !important;
}
/* Fix top image left offset */
.elementor .e-462e5c8-db0acc9 {
    padding-inline-start: 0 !important;
    padding-inline-end: 0 !important;
    margin: 0 !important;
}

/* Fix FIA banner negative margin */
.elementor .e-0fdd4b5-e48a39f {
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
}
/* Homepage main container - site blue background */
.elementor-element-7f21b46 {
    background: #2a3047 !important;
    background-image: none !important;
}

/* Fix the slight right offset */
.elementor-element-7f21b46 {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* Center the content blocks inside */
.elementor-element-7f21b46 > * {
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}
/* Homepage body background */
.home {
    background-color: #2a3047 !important;
}
.home #page,
.home .site {
    background-color: #2a3047 !important;
}
/* ================================================
   CCOT SITEWIDE BLUE MARGINS - ALL PAGES
   ================================================ */

/* Desktop - blue background on all pages */
@media (min-width: 769px) {
    body {
        background-color: #2a3047 !important;
    }
    
    #page,
    .site,
    #content,
    .site-content {
        background-color: #2a3047 !important;
    }

    /* Center all page content with blue margins */
    .site-content .entry-content,
    .site-content .page-content,
    .content-area,
    #primary {
        background-color: #ffffff !important;
        max-width: 1060px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Elementor pages */
    .elementor-page .elementor,
    body:not(.home) .elementor-section-wrap,
    body:not(.home) .e-con-full {
        max-width: 1060px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        background-color: #ffffff !important;
    }

    /* Keep sections full width within the centered container */
    body:not(.home) .elementor-section {
        width: 100% !important;
    }
}

/* Mobile - minimal margins, near full screen */
@media (max-width: 768px) {
    body {
        background-color: #ffffff !important;
    }

    .site-content,
    #content,
    #primary,
    .content-area {
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Mobile - forms full width */
    #si-fname,
    #si-email,
    #si-submit,
    #ccot-auth-wrap {
        width: 100% !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
    }
}

/* ================================================
   MOBILE LOGO - flush top with hamburger
   ================================================ */
@media (max-width: 768px) {
    /* Logo container - align to top */
    .elementor-element-509a965,
    .elementor-widget-site-logo,
    [data-id="509a965"] {
        position: relative !important;
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        align-self: flex-start !important;
    }

    /* Header row - align items to top */
    .elementor-31811 .elementor-container,
    .elementor-31811 .e-con-inner,
    header .elementor-container {
        align-items: flex-start !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Logo image - constrain size on mobile */
    .elementor-element-509a965 img,
    [data-id="509a965"] img {
        max-height: 50px !important;
        width: auto !important;
        margin-top: 8px !important;
    }

    /* Hamburger menu - align to top */
    .elementor-menu-toggle,
    .elementor-nav-menu--burger {
        align-self: flex-start !important;
        margin-top: 8px !important;
    }
}