/*
Theme Name: Astra Child
Template: astra
Version: 1.0
Description: Child theme for Astra
Author: Your Name
*/

html {
  scroll-behavior: smooth;
}

html, body {
   max-width: 100%;
   overflow-x: hidden;
}
.cky-btn-revisit-wrapper {
  background: var(--primary-background) !important;
}
:root {
  --primary-background: #001b06;
  --secondary-background: #fff;
}

.zc-widget-config {
    display: none;
}
/* GLOBAL CSS */
.container,
.container-960,
.container-1300 {
  width: 90%;
  margin: 0 auto;
  float: none;
}

.container {
  max-width: 1600px;
}

.container-960 {
  max-width: 960px;
}

.container-1300 {
  max-width: 1300px;
}

.padding-section {
  padding: 6rem 0;
}

.primary-background {
  background: var(--primary-background);
}

.primary-background.text-white * {
  color: var(--text-color);
}

.text-center {
  text-align: center;
}

.img {
  width: 100%;
  height: auto;
}

.search-section-blocks {
    padding-bottom: 4rem;
}

/*Heder CSS*/
.site-title {
    font-weight: 300;
  }

  .site-title a {
    color: var(--primary-background) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 18px;
    position: relative;
    top: -2px;
  }

  .flex-control-paging {
    visibility: hidden;
  }

  /*Custom Header*/
  .custom-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 68px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background: transparent;
    color: var(--secondary-background);
    z-index: 9999;
    transition: background-color 0.6s ease;
  }

  .custom-header.scrolled {
    background: var(--secondary-background);
    /*box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;*/
  }
  body.menu-open header.custom-header.scrolled {
    box-shadow: none;
}
.trp-shortcode-switcher {
    background: none !important;
}
/*.custom-header.scrolled .trp-shortcode-switcher {*/
/*    background: transparent;*/
/*}*/
/*.custom-header.scrolled .trp-language-item-name {
    color: #fff;
}
.custom-header.scrolled svg path {
    stroke: #fff !important;
}*/
  .custom-header .site-title {
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
  }

  .custom-header.scrolled .site-title {
    opacity: 1;
    pointer-events: auto;
  }

  .left-menu {
    width: 63px;
  }

  .hamburger {
    font-size: 28px;
    cursor: pointer;
    z-index: 10001;
    color: #202123;
  }

  /*Menu*/
  /* Wrapper disabled when menu is closed */
  .custom-menu-wrapper {
    pointer-events: none;
    /* can't block clicks */
  }

  /* When menu is open, wrapper becomes clickable + visible */
  body.menu-open .custom-menu-wrapper {
    pointer-events: auto;
  }


  .custom-menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 9998;
  }

  .custom-menu-overlay.active {
    transform: translateX(0);
    pointer-events: auto;
  }

  .custom-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: var(--secondary-background);
    transform: translateX(-100%);
    transition: transform 0.5s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .custom-menu-overlay>div {
    padding: 0;
    margin: 65px 0;
    text-align: left;
    position: absolute;
    top: 80px;
    left: 40px;
  }

  .custom-menu-overlay ul {
    list-style: none;
    margin: 0;
  }

  .custom-menu-overlay ul li a {
    color: var(--primary-background);
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .custom-menu-overlay ul li a:hover {
    color: #33644d;
  }

  .main-menu {
    font-size: 2em;
    font-weight: 600;
    color: #202123;
  }

  .main-menu li {
    margin: 18px 0;
  }

  .menu-divider {
    height: 1px;
    background: #202123;
    width: 100%;
    margin: 20px 0;
    display: none;
  }

  .secondary-menu {
    font-size: 2em;
    font-weight: 600;
    color: #202123;
  }

  .secondary-menu li {
    margin: 18px 0;
  }

  /* Basic hamburger styles */
  .hamburger {
    width: 38px;
    height: 24px;
    position: relative;
    cursor: pointer;
    z-index: 10001;
  }

  /* 3-line hamburger using pseudo elements */
body:not(.menu-open) .hamburger-icon, 
body:not(.menu-open) .hamburger-icon::before, 
body:not(.menu-open) .hamburger-icon::after {
    background-color: var(--secondary-background);
}
body.page-id-258 .hamburger-icon, 
body.page-id-258 .hamburger-icon:before, 
body.page-id-258 .hamburger-icon:after {
    background-color: #202123;
}
body.page-id-258.menu-open .hamburger-icon {
    background-color: transparent
}
/*body:not(.home):not(.blog):not(.single):not(.menu-open) .hamburger-icon, 
body:not(.home):not(.blog):not(.single):not(.menu-open) .hamburger-icon::before,
body:not(.home):not(.blog):not(.single):not(.menu-open) .hamburger-icon::after {
    background-color: var(--primary-background);
}*/
.custom-header.scrolled .hamburger-icon,
.custom-header.scrolled .hamburger-icon::before,
.custom-header.scrolled .hamburger-icon::after {
    background-color: var(--primary-background)
}
body.menu-open .custom-header.scrolled .hamburger-icon {
    background-color: transparent;
}
  .hamburger-icon,
  .hamburger-icon::before,
  .hamburger-icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #202123;
    /* change to your color */
    transition: 0.4s ease;
    border-radius: 2px;
  }

  /* Middle line */
  .hamburger-icon {
    top: 50%;
    transform: translateY(-50%);
  }

  /* Top line */
  .hamburger-icon::before {
    top: -8px;
  }

  /* Bottom line */
  .hamburger-icon::after {
    top: 8px;
  }

  /* When menu is open → transform to X */
  body.menu-open .hamburger-icon {
    background: transparent;
    /* hide middle bar */
  }

  body.menu-open .hamburger-icon::before {
    top: 0;
    transform: rotate(45deg);
  }

  body.menu-open .hamburger-icon::after {
    top: 0;
    transform: rotate(-45deg);
  }
  
  .lang-container {
      width: 63px;
  }

  .lang-switcher {
    position: relative;
    top: 4px;
    display: none;
  }

  /*.lang-switcher.scrolled {*/
  /*  visibility: visible;*/
  /*}*/
  
  .lang-switcher.scrolledlanguage {
    display: block;
  }
  
  
  
/** INSIDE PAGE BANNER **/
.inside-banner {
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--primary-background);
    margin-bottom: 80px;
}
.inside-banner header .page-title {
    color: #fff !important;
    text-transform: uppercase;
}

/* BLOG PAGE */
/*
 * Scoped CSS: Elegant Blog Index (for .custom-blog-wrapper ONLY)
 * Prevents style leakage to other pages.
 */

/* --- 1. Global / Body Reset (Scoped) --- */
/*
 * IMPORTANT: If the body style is bleeding to other pages, the simplest fix is to
 * remove the direct 'body' selector and rely on the theme's body styling.
 * We will scope these properties to the wrapper for safety.
 */


.custom-blog-wrapper {
    /* Styles that might affect the whole page, now limited to the wrapper area */
    color: #444444; 
    line-height: 1.6;
    background-color: var(--secondary-background);
    
    /* Main Wrapper dimensions */
    /*max-width: 1200px;*/
    /*margin: 40px auto;*/
    /*padding: 0 20px;*/
}

.blog-container img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

/* --- 2. Page Title (Scoped) --- */
.custom-blog-wrapper .page-header {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 15px;
    margin: 80px 0;
}

.custom-blog-wrapper .page-title {
    color: #1e2f27; /* Deep Green */
    font-size: 2.5em;
    font-weight: 300; 
    margin: 0;
}

/* --- 3. Enforcing the Two-Column Layout with CSS Grid (Scoped) --- */
.custom-blog-wrapper .blog-main-layout {
    display: grid; 
    grid-template-columns: 60% 40%;
    gap: 40px;     
    align-items: flex-start;
    padding: 20px 300px;
}

/* --- 4. Main Content Column (Stacked Posts) (Scoped) --- */
.custom-blog-wrapper .main-content {
    grid-column: 1 / 2; 
    min-width: 0; 
}

.custom-blog-wrapper .blog-card.stacked-post {
    background-color: var(--secondary-background);
    border: 1px solid #d6ddda;
    border-radius: 4px;
    padding: 30px;
    margin-bottom: 30px;
    transition: border 0.3s ease;
}

.custom-blog-wrapper .blog-card.stacked-post:hover {
    border: 1px solid #1e2f27;
}

.custom-blog-wrapper .blog-thumb {
    display: block;
    margin-bottom: 20px;
    overflow: hidden;
}

.custom-blog-wrapper .blog-thumb img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
}

.custom-blog-wrapper .blog-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 2em;
    font-weight: 700;
}

.custom-blog-wrapper .blog-title a {
    color: #1e2f27; /* Deep Green Title */
    text-decoration: none;
    transition: color 0.2s;
}

.custom-blog-wrapper .blog-title a:hover {
    color: #4c6659;
}

.custom-blog-wrapper .blog-meta {
    font-size: 0.9em;
    color: #888888;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Read More Link (Scoped) */
.custom-blog-wrapper .blog-read-more {
    display: inline-block;
    color: #1e2f27; /* Deep green text */
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-bottom 0.2s, color 0.2s;
}

.custom-blog-wrapper .blog-read-more:hover {
    color: #1e2f27;
    border-bottom: 1px solid #1e2f27; 
}


/* --- 5. Sidebar Styling (Scoped) --- */

/* Target sidebar and enforce its position in the second column (40%) */
.custom-blog-wrapper aside#secondary, 
.custom-blog-wrapper .sidebar,
.custom-blog-wrapper .widget-area { 
    grid-column: 2 / 3; 
    padding-left: 0; 
    padding-top: 10px; 
}

/* Widget Container (Scoped) */
.custom-blog-wrapper .widget {
    background-color: var(--secondary-background); 
    border: 1px solid #eeeeee;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 30px;
}

/* Widget Titles (Scoped) */
.custom-blog-wrapper .widget-title {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.1em;
    font-weight: 600;
    color: #1e2f27; /* Deep green for widget titles */
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Widget Lists (Scoped) */
.custom-blog-wrapper .widget ul {
    list-style: none; 
    margin: 0;
    padding: 0;
}

.custom-blog-wrapper .widget ul li {
    padding: 8px 0;
    border-bottom: 1px dashed #f0f0f0;
}

.custom-blog-wrapper .widget ul li:last-child {
    border-bottom: none;
}

.custom-blog-wrapper .widget ul li a {
    color: #444444;
    text-decoration: none;
    transition: color 0.2s;
}

.custom-blog-wrapper .widget ul li a:hover {
    color: #1e2f27; 
}

/* Search Form Elements (Scoped) */
.custom-blog-wrapper .widget input[type="text"] {
    padding: 10px;
    border: 1px solid #dddddd;
    border-radius: 3px;
    margin-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
}

.custom-blog-wrapper .widget input[type="submit"] {
    background-color: #1e2f27;
    color: var(--secondary-background);
    cursor: pointer;
    transition: background-color 0.2s;
    padding: 10px;
    border: none;
    border-radius: 3px;
    width: 100%;
    text-transform: uppercase;
    font-weight: 600;
}

.custom-blog-wrapper .widget input[type="submit"]:hover {
    background-color: #3e5048; 
}
.custom-single-blog-wrapper .post-content {
    padding: 20px 0 120px;
}

/* --- 6. Pagination Styling (Scoped) --- */
.custom-blog-wrapper .pagination {
    margin-top: 40px;
    text-align: center;
    padding: 20px 0;
}

.custom-blog-wrapper .pagination .page-numbers {
    color: #1e2f27;
    border: 1px solid #1e2f27;
    padding: 8px 12px;
    margin: 0 5px;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s, color 0.2s;
}

.custom-blog-wrapper .pagination .current,
.custom-blog-wrapper .pagination .page-numbers:hover {
    background-color: #1e2f27;
    color: var(--secondary-background);
}

#primary, #secondary {
    width: 88%;
    padding-top: 0;
}

.sidebar-main aside.widget {
    background: #253c31 !important;
    color: white;
}

.sidebar-main aside.widget a {
    background: #253c31 !important;
    color: white !important;
}

.blog-meta a {
    color: #1e2f27;
    font-weight: 600;
}

h2.blog-title {
    color: #1e2f27;
    font-weight: 800;
    font-size: 2.2em !important;
}

form.wp-block-search__button-outside.wp-block-search__text-button.wp-block-search label {
    color: white !important;
    display: none;
}

button.wp-block-search__button.wp-element-button {
    background: white !important;
    color: #1e2f27 !important;
    font-weight: 600 !important;
}


/* BLOG SINGLE PAGE */
.content-area {
    width: 100%;
    padding: 70px 300px !important;
}

div#primary {
    width: 100%;
}

div#respond {
    background: #1e2f27;
}

form#ast-commentform {
    color: white;
}

form#ast-commentform a {
    color: white;
}

p.form-submit {
    /* background: white; */
}

input#_wp_unfiltered_html_comment_disabled {}

form#ast-commentform input#submit {
    background: white !important;
    color: #1e2f27 !important;
    color: white;
    font-weight: 500 !important;
    border: 1px solid #1e2f27;
}

form#ast-commentform input#submit:hover {
    background: #1e2f27 !important;
    color: white !important;
    font-weight: 500 !important;
    border: 1px solid white;
}

section.ast-archive-description {
    background: #1e2f27 !important;
    margin-bottom: 40px !important;
}

h2.entry-title.ast-blog-single-element a {
    color: #1e2f27;
}

h3.comments-title {
    color: #1e2f27;
}

#comments .comment-respond {
    padding-bottom: 40px;
    margin-top: 0px;
}

.entry-content h2 {
    padding: 0 !important;
    margin: 0 !important;
}

/*Remove the theme icon bottom right arrow*/
div#ast-scroll-top {
    display: none !important;
}


/* Search Page */
body.search .ast-archive-description * {
    color: #fff;
}
body.search .ast-blog-layout-6-grid .blog-layout-6 .post-content * {color: #000;}
body.search .ast-blog-layout-6-grid .blog-layout-6 .post-content *:hover {
    color: #000;
    opacity: 0.8;
}

/*privacy policy*/
ol.privacy-policy-ol li {
    padding-bottom: 20px;
}

.privacy-policy-page {
    padding: 0 20px;
}
.privacy-policy-ol h2 {
    margin-bottom: 10px !important;
}
span.effective-date {
    display: block;
    margin-bottom: 20px;
}
.entry-content[data-ast-blocks-layout] > * {
    max-width: max-content;
    padding: 0;
}

/*RESPONSIVE*/
/* Tablet */
@media (max-width: 1024px) {
  .custom-menu-overlay {
    width: 80%;
  }
  .custom-blog-wrapper .blog-main-layout {
        padding: 20px 100px;
        grid-template-columns: repeat(1, 1fr);
    }
    .sidebar-area.custom-sidebar, .custom-blog-wrapper .main-content {
        width: 60%;
    }
    .custom-blog-wrapper .blog-main-layout {
        display: flex;
        flex-direction: column-reverse;
    }
}


/* --- 7. Responsive Adjustments (Scoped) --- */
@media (max-width: 992px) {
    .custom-blog-wrapper .blog-main-layout {
        grid-template-columns: 1fr; 
        gap: 0; 
    }

    .custom-blog-wrapper .main-content,
    .custom-blog-wrapper aside#secondary, 
    .custom-blog-wrapper .sidebar,
    .custom-blog-wrapper .widget-area {
        grid-column: 1 / -1; 
        width: 100%;
        min-width: unset;
        padding-left: 0;
        padding-right: 0;
        margin-left: auto;
        margin-right: auto;
    }
}


@media (max-width: 820px) {
    .content-area {
        padding: 70px 100px !important;
    }
    
    .custom-blog-wrapper .blog-main-layout {
      padding: 20px 18px;
   }
   
    #primary, #secondary {
        width: 100%;
    }
    
    .sidebar-area.custom-sidebar, .custom-blog-wrapper .main-content {
        width: 100%;
    }
    
    .custom-single-blog-wrapper .post-content .wp-block-media-text.is-stacked-on-mobile {
        display: flex;
        flex-direction: column;
    }
    
    .custom-single-blog-wrapper .post-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        padding: 0;
    }
}

/* Mobile large */
@media (max-width: 768px) {
  .custom-menu-overlay {
    width: 100%;
  }
  
  body.menu-open {
   overflow: hidden;
  }

  .main-menu,
  .secondary-menu {
    font-size: 1.6em;
   }
   
   .custom-blog-wrapper .blog-main-layout {
      padding: 20px 18px;
   }
   
    #primary, #secondary {
        width: 100%;
    }
    
    .content-area {
        width: 100%;
        padding: 70px 10px !important;
    }
    
    .inside-banner header .page-title {
        font-size: 24px;
    }
}

/* Mobile small */
@media (max-width: 500px) {
    .inside-banner {
        margin-bottom: 40px;
    }
  .custom-menu-overlay {
    width: 100%;
  }
  
  .site-title a {
      font-size: 0.6em;
    }

  .main-menu,
  .secondary-menu {
      font-size: 1.4em;
    }
    
    .sidebar-area.custom-sidebar, .custom-blog-wrapper .main-content {
        width: 100%;
    }
    
    .inside-banner header .page-title {
        font-size: 20px;
        padding: 0 20px;
    }
}

.nfd-site-preview-warning {
    display: none;
}


/** SINGLE POST PAGE **/
.custom-single-post {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}

.post-title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 2rem;
}

.post-content {
    line-height: 1.8;
}
