/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Astra Child Theme for Image Compress Pro
Author: Brainstorm Force
Author URI: https://wpastra.com/
Template: astra
Version: 1.0.5
Text Domain: astra-child
*/

/* Google Fonts & Base Styling */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --primary-blue: #2563eb;
    --primary-purple: #7c3aed;
    --dark-bg: #111827;
    --card-bg: #ffffff;
    --text-main: #111827;
    --text-muted: #6b7280;
    --border-color: #e5e7eb;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: #111827;
    color: #1e293b;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* ==========================================================================
   Header Styling (Logo Left, Menu Right with Margins)
   ========================================================================== */
.site-header, 
#masthead, 
.main-header-bar, 
.ast-main-header-wrap, 
.ast-primary-header-bar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.04) !important;
    width: 100% !important;
}

/* Header Container spans with left & right margins/padding */
.site-header .ast-container,
.site-primary-header-wrap.ast-container,
.ast-main-header-wrap .ast-container,
#masthead .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Ensure Grid Row spreads Logo left and Menu right */
.site-header .ast-builder-grid-row,
.ast-primary-header-bar .ast-builder-grid-row,
.ast-builder-grid-row-has-sides,
.site-primary-header-wrap .ast-builder-grid-row {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    grid-template-columns: none !important;
}

.site-header-primary-section-left {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
}

.site-header-primary-section-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    flex: 1 1 auto !important;
    text-align: right !important;
}

.ast-builder-menu-1,
.ast-main-header-bar-alignment,
.main-header-bar-navigation,
.site-navigation,
.main-navigation,
.main-header-menu,
#ast-hf-menu-1 {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: auto !important;
    width: 100% !important;
}

/* Hide text site title next to logo */
.site-title, 
.site-description, 
.ast-site-title-wrap,
.site-branding .site-title,
.site-branding .site-description {
    display: none !important;
}

.site-logo img, 
.custom-logo {
    max-height: 42px !important;
    width: auto !important;
    display: block !important;
}

/* Header Navigation Menu Links */
.main-header-menu .menu-item {
    margin: 0 !important;
}

.main-header-menu .menu-item a,
.main-navigation .main-nav ul li a,
.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    padding: 0 16px !important;
    transition: color 0.2s ease !important;
}

.main-header-menu .menu-item:last-child a,
.ast-builder-menu-1 .main-header-menu .menu-item:last-child > .menu-link {
    padding-right: 0 !important;
}

.main-header-menu .menu-item:hover > a,
.main-header-menu .menu-item.current-menu-item > a,
.main-header-menu .menu-item.current_page_item > a,
.ast-builder-menu-1 .main-header-menu .menu-item:hover > .menu-link,
.ast-builder-menu-1 .main-header-menu .menu-item.current-menu-item > .menu-link {
    color: #2563eb !important;
}

/* ==========================================================================
   Homepage Main Content Area (Full-Width Background, Centered Tool)
   ========================================================================== */
body.home #page,
body.home #content,
body.home .site-content,
body.home .site-content > .ast-container,
body.home .ast-plain-container,
body.home .ast-page-builder-template,
body.home #primary,
body.home #main,
body.home .site-main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    float: none !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.home #secondary,
body.home .widget-area {
    display: none !important;
}

body.home .entry-header {
    display: none !important;
}

/* ==========================================================================
   Inner Pages Styling (About, Contact, Disclaimer, Privacy Policy)
   ========================================================================== */
body:not(.home) {
    background-color: #f8fafc !important;
}

body:not(.home) .site-content {
    max-width: 920px;
    margin: 40px auto !important;
    padding: 0 20px !important;
}

body:not(.home) .inside-article,
body:not(.home) .ast-article-single {
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

body:not(.home) .entry-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 25px !important;
}

body:not(.home) .entry-content p {
    font-size: 16px;
    line-height: 1.8;
    color: #4b5563;
    margin-bottom: 18px;
}

body:not(.home) .entry-content h2 {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin-top: 30px;
    margin-bottom: 15px;
}

body:not(.home) .entry-content ul {
    color: #4b5563;
    line-height: 1.8;
    padding-left: 25px;
    margin-bottom: 20px;
}

/* ==========================================================================
   Footer Styling
   ========================================================================== */
.site-footer, 
.ast-footer-builder, 
.site-below-footer-wrap,
.ast-small-footer,
.ast-footer-copyright {
    background-color: #0c1222 !important;
    color: #94a3b8 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: center !important;
    padding: 22px 0 !important;
    font-size: 14px !important;
}

.site-footer .ast-container,
.site-below-footer-wrap .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

.site-footer a, 
.ast-footer-builder a, 
.site-below-footer-wrap a,
.ast-footer-copyright a {
    color: #60a5fa !important;
    text-decoration: none !important;
}

.site-footer a:hover, 
.ast-footer-builder a:hover,
.ast-footer-copyright a:hover {
    text-decoration: underline !important;
}

/* ==========================================================================
   Mobile Adjustments
   ========================================================================== */
@media (max-width: 768px) {
    .site-header .ast-container,
    .site-primary-header-wrap.ast-container,
    .ast-main-header-wrap .ast-container,
    #masthead .ast-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-logo img, .custom-logo {
        max-height: 36px !important;
    }
    
    body:not(.home) .inside-article,
    body:not(.home) .ast-article-single {
        padding: 25px !important;
    }
}
