/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ==========================================================================
   1. GLOBAL & LAYOUT STYLES
   ========================================================================== */

/* Fix for mobile horizontal overflow */
html, body {
    max-width: 100%;
    overflow-x: hidden;
    position: relative; /* Helps with absolute positioned elements */
}

/* ==========================================================================
   2. MAIN NAVIGATION (Desktop Menu Divider, Centering & Icon Logic)
   ========================================================================== */

/* 1. Set the widths and center the list items */
#ast-hf-menu-1 > li {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    border-left: 1px solid #969696 !important; /* The divider color */
}

/* 2. Breakpoints for the individual item widths */
@media (min-width: 1101px) { #ast-hf-menu-1 > li { min-width: 100px; } }
@media (min-width: 1201px) { #ast-hf-menu-1 > li { min-width: 110px; } }
@media (min-width: 1367px) { #ast-hf-menu-1 > li { min-width: 120px; } }

/* 3. Remove divider from the first item (HOME) */
#ast-hf-menu-1 > li:first-child {
    border-left: none !important;
}

/* 4. Force the link and text to be dead-center */
#ast-hf-menu-1 > li > .menu-link {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important; /* Ensures no leftover padding interferes */
}

/* 5. Hide the default Astra icons (to keep it centered) */
#ast-hf-menu-1 > li .ast-icon {
    display: none !important;
}

/* 6. Show ONLY the icon that is a direct part of the INFO link text */
#ast-hf-menu-1 > li.menu-item-has-children > .menu-link .ast-header-navigation-arrow .ast-icon {
    display: inline-flex !important;
    margin-left: 8px !important;
}

/* 7. Specifically HIDE the mobile toggle button arrow (the 2nd arrow) */
#ast-hf-menu-1 > li.menu-item-has-children .ast-menu-toggle {
    display: none !important;
}

/* 8. Keep 'INFO' centered (Counter-balance the arrow) */
#ast-hf-menu-1 > li.menu-item-has-children > .menu-link {
    padding-left: 14px !important;
}

/* 9. Ensure the SVG is sized correctly */
#ast-hf-menu-1 > li.menu-item-has-children .menu-link svg {
    width: 10px !important;
    height: 10px !important;
    fill: currentColor !important;
}

/* ==========================================================================
   3. SPECTRA & BLOG POST GRID STYLING
   ========================================================================== */

/* Spectra Post Grid Hover Zoom Effect */
.uagb-post__image {
    overflow: hidden !important;
}

.uagb-post__image img {
    transition: transform 0.6s ease-in-out !important;
}

.uagb-post__inner-wrap:hover .uagb-post__image img {
    transform: scale(1.1);
}

/* GRID SPACING: 20px GAPS BETWEEN COLUMNS & ROWS */
.ast-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px !important;
    margin-right: -10px !important;
    row-gap: 20px !important;
}

.ast-row .ast-article-post {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-bottom: 0 !important;
}

/* CONTAINER: WHITE CARD STYLING */
.ast-article-inner, 
.ast-article-inner .post-content {
    background-color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ast-article-inner {
    height: 100%; /* Ensures all cards in a row are equal height */
    border-radius: 8px !important;
    overflow: hidden;
    border: none !important;
    display: flex;
    flex-direction: column;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.05);
}

/* ALIGN READ MORE BUTTON TO BOTTOM */
.ast-article-inner .post-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ast-excerpt-container {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Pushes the button down */
}

.read-more-container {
    margin-top: auto !important;
    padding-top: 15px; 
}

/* RESPONSIVE GRID LAYOUT (Columns per row) */
@media (min-width: 768px) {
    .ast-row .ast-article-post {
        width: 50% !important;
        max-width: 50% !important;
    }
}

@media (min-width: 977px) {
    .ast-row .ast-article-post {
        width: 33.33% !important;
        max-width: 33.33% !important;
    }
}

/* TITLE: BARLOW CONDENSED & MANUAL STYLING */
.ast-article-inner .entry-title.ast-blog-single-element,
.ast-article-inner .entry-title.ast-blog-single-element a {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 28px !important; 
    font-weight: 400 !important;
    line-height: 1.3 !important;
    color: #0B2870 !important; /* Dark Blue */
    text-decoration: none !important;
}

.ast-article-inner .entry-title.ast-blog-single-element {
    margin: 0px 20px 10px 20px !important; 
    display: block;
}

/* EXCERPT: MANUAL STYLING */
.ast-article-inner .ast-excerpt-container.ast-blog-single-element p {
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #444444 !important;
    margin: 0 20px 15px 20px !important;
}

/* BUTTON: READ MORE STYLING */
.ast-article-inner .wp-block-button.read-more-container {
    padding: 0 20px 25px 20px !important;
    margin-top: auto; 
}

.ast-article-inner .wp-block-button__link {
    background-color: #333333 !important; 
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    text-transform: none !important;
    letter-spacing: 0.5px;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background-color 0.3s ease;
}

.ast-article-inner .wp-block-button__link:hover {
    background-color: #666666 !important; 
    color: #ffffff !important;
}

/* ==========================================================================
   4. ASTRA HEADER SYNC (Switching at 1100px)
   ========================================================================== */

@media (max-width: 1100px) {
    #ast-desktop-header {
        display: none !important;
    }

    #ast-mobile-header,
    .ast-mobile-header-wrap {
        display: block !important;
    }

    #ast-mobile-header .ast-primary-header-bar,
    #ast-mobile-header .site-primary-header-wrap,
    #ast-mobile-header .ast-builder-grid-row {
        height: 60px !important;
        min-height: 60px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    #ast-mobile-header .ast-builder-grid-row {
        justify-content: space-between !important;
        width: 100% !important;
    }

    .site-header-primary-section-right {
        justify-content: flex-end !important;
        flex: 1 !important;
        display: flex !important;
    }

    .site-header-primary-section-left {
        justify-content: flex-start !important;
        flex: 1 !important;
        display: flex !important;
    }

    .site-logo-img img, 
    .ast-mobile-svg {
        max-height: 40px !important;
        width: auto !important;
    }
}

/* =========================================
   5. Search Page Title Responsive Fix
   ========================================= */

/* Tablet (Standard Astra Breakpoint) */
@media (max-width: 921px) {
    .page-title.ast-archive-title, 
    .page-title.ast-archive-title span {
        font-size: 35px !important;
    }
}

/* Mobile (Standard Astra Breakpoint) */
@media (max-width: 544px) {
    .page-title.ast-archive-title, 
    .page-title.ast-archive-title span {
        font-size: 27px !important;
        line-height: 1.2;
        word-wrap: break-word; /* Added safety for very long words */
    }
}

/* =========================================
   6. GLOBAL H1 STYLES - PAGES ONLY (No Posts)
   ========================================= */

/* 1. Global H1 Styles (Desktop) */
.page h1.wp-block-heading {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    font-size: 7vw !important;
    line-height: 1.2;
}

/* 2. Tablet View (Screens smaller than 1024px) */
@media (max-width: 1024px) {
    .page h1.wp-block-heading {
        font-size: 10vw !important;
    }
}

/* 3. Mobile View (Screens smaller than 767px) */
@media (max-width: 767px) {
    .page h1.wp-block-heading {
        font-size: 14vw !important;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    }
}

/* ==========================================================================
   7. ARCHIVE PAGINATION SYNC (Centered Symbols & Boxes)
   ========================================================================== */
.ast-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
}

.ast-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

/* Base style for all pagination boxes */
.ast-pagination .nav-links .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 35px;
    background-color: #E4E4E4;
    color: #000000 !important;
    text-decoration: none !important;
    font-weight: 500;
    font-size: 15px;
    transition: 0.3s;
    padding: 0; /* Removed horizontal padding to ensure perfect centering */
    line-height: 1;
    text-align: center;
}

/* Active (Current) page style */
.ast-pagination .nav-links .page-numbers.current {
    background-color: #838383;
    color: #FFFFFF !important;
}

/* Hover state */
.ast-pagination .nav-links .page-numbers:hover:not(.current) {
    background-color: #cccccc;
}

/* Hide text and existing arrows */
.ast-pagination .nav-links .prev, 
.ast-pagination .nav-links .next {
    font-size: 0 !important;
    position: relative;
}

/* Centered « icon for Previous */
.ast-pagination .nav-links .prev:before {
    content: "«";
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* Centered » icon for Next */
.ast-pagination .nav-links .next:after {
    content: "»";
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* Force KMIA location title to uppercase */
.tax-location.term-kmia .page-title, 
.tax-location.term-kmia h1 {
    text-transform: uppercase !important;
}

/* ==========================================================================
   8. KLT LOCATION & CATEGORY PAGES: Unified Layout & Typography
   ========================================================================== */

/* 1. Global Reset: Hide the Extra Astra Title & Container */
.tax-location .ast-archive-description .ast-archive-title,
.tax-location h1.ast-archive-title,
.tax-member_cat .ast-archive-description .ast-archive-title,
.tax-member_cat h1.ast-archive-title,
.tax-member_cat .entry-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tax-location .ast-archive-header,
.tax-member_cat .ast-archive-header {
    display: none !important;
}

/* 2. White Box Styling (The Star of the Show) */
.klt-town-box {
    margin-top: 30px !important;
    background: #ffffff !important;
    padding: 25px !important;
    box-shadow: 0px 10px 25px rgba(0,0,0,0.05) !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Custom H1 Inside the Box */
.klt-town-box h1 {
    display: block !important;
    visibility: visible !important;
    color: #214189 !important; /* Your brand blue */
    font-size: 2.4rem !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    font-weight: 700;
}

/* 3. Desktop "Pull-Up" Layout (Above 923px) */
@media (min-width: 923px) {
    /* Moves Breadcrumbs up into the empty header space */
    .tax-location .ast-breadcrumbs-wrapper,
    .tax-member_cat .ast-breadcrumbs-wrapper {
        margin-top: -45px !important;
        margin-bottom: 5px !important;
        padding: 0 !important;
        position: relative;
        z-index: 100;
    }
    
    /* Pulls the White Box container up closer to the breadcrumbs */
    .tax-location #content > .ast-container,
    .tax-member_cat #content > .ast-container {
        margin-top: -25px !important;
        padding-top: 0 !important;
    }
}

/* 4. Mobile/Tablet Layout (Neutralize for smaller screens) */
@media (max-width: 922px) {
    body.tax-location #content .ast-container,
    body.tax-member_cat #content .ast-container {
        margin-top: 10px !important;
        padding-top: 0 !important;
    }

    body.tax-location .ast-breadcrumbs-wrapper,
    body.tax-member_cat .ast-breadcrumbs-wrapper {
        margin-top: 0px !important;
        padding: 10px 0 !important;
    }
}

/* ==========================================================================
   9. MEMBER CARDS: Alignment & Meta Container Fix
   ========================================================================== */

/* 1. Reset the empty meta header that causes vertical 'jumping' */
/* This ensures the gap is identical on Hazyview and Eat & Drink pages */
.ast-blog-meta-container.entry-header {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
    display: block !important;
}

/* 2. Standardize Business Title spacing */
.entry-title {
    margin-bottom: 5px !important;
    line-height: 1.3 !important;
}

/* 3. Ensure Category Link wrapper sits tight against the title */
.astra-archive-alignment-wrapper {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    line-height: 1 !important;
}

/* 4. Category Link styling (Blue and Underlined) */
.astra-archive-alignment-wrapper a {
    font-size: 16px;
    color: #0B2870 !important;
    text-decoration: underline !important;
    font-weight: 400;
}