/*
Theme Name: Asheville Symphony Guild 2026
Author: Bednar Multimedia
Author URI: https://bednarmultimedia.com/
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0.10
Text Domain: frost
*/


/* Defaults
---------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	background: linear-gradient(90deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary) 100%);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--neutral);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* Blocks
---------------------------------------- */

/* -- Code -- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* -- Navigation -- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	padding: 2px;
}

.has-background .wp-block-navigation__responsive-container-open:focus,
.has-background .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--base);
}

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	border: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 10px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

/* Utility
---------------------------------------- */

/* -- Box Shadow -- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

/* Media Queries
---------------------------------------- */

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

}


/* =========================================
   1. NAVIGATION SWAP LOGIC (Breakpoint: 1200px)
   ========================================= */

/* --- ABOVE 1200px (Desktop View) --- */
@media (min-width: 1201px) {
    /* Hide the Mobile Hamburger Menu */
    .nav-mobile,
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    
    /* Ensure Desktop Menus are visible */
    .nav-desktop,
    .desktop-only-menu,
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: flex !important;
        width: 100%;
        background-color: inherit;
        color: inherit;
    }

    /* --- DROPDOWN CARD STYLING (Desktop Only) --- */
    .wp-block-navigation .wp-block-navigation__submenu-container {
        background-color: #F7F8F6 !important;
        border: 1px solid rgba(0,0,0,0.05);
        border-top: 4px solid #89af3f !important;
        box-shadow: 0 12px 30px rgba(26, 44, 66, 0.15);
        padding: 8px 0 !important;
        border-radius: 0 0 6px 6px;
        min-width: 240px !important;
    }

    .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        color: #000 !important;
        font-size: 0.95rem;
        padding: 12px 24px !important;
        transition: all 0.2s ease;
    }

    .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
        background-color: #fff;
        color: #2d6c6e !important;
        padding-left: 26px !important;
    }
}

/* --- BELOW 1200px (Mobile/Tablet View) --- */
@media (max-width: 1200px) {
    /* 1. Hide the Desktop Lists & Text Menus */
    .nav-desktop,
    .desktop-only-menu,
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none !important;
    }

    /* 2. Show the Mobile Hamburger Container */
    .nav-mobile,
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex !important;
        justify-content: flex-end;
    }
    
    /* Ensure nav wrapper takes full width */
    .nav-mobile {
        width: 100%;
        height: auto !important;
        margin: 0 !important;
    }

    /* 3. ALIGNMENT FIX: Vertically center the button */
    .wp-block-group:has(> .nav-mobile) {
        display: flex !important;
        align-items: center !important; 
        min-height: 100%;              
    }
    
    /* 4. Style the Hamburger Button */
    .nav-mobile .wp-block-navigation__responsive-container-open,
    .main-navigation .wp-block-navigation__responsive-container-open {
        background-color: #2d6c6e !important; 
        color: #ffffff !important;            
        padding: 4px 4px !important;
        border-radius: 4px;
        transition: background-color 0.2s ease;
    }

    /* 5. Icon Color */
    .nav-mobile .wp-block-navigation__responsive-container-open svg,
    .main-navigation .wp-block-navigation__responsive-container-open svg {
        width: 28px;
        height: 28px;
        fill: currentColor;
    }

    /* 6. Hover/Focus State */
    .nav-mobile .wp-block-navigation__responsive-container-open:hover,
    .nav-mobile .wp-block-navigation__responsive-container-open:focus,
    .main-navigation .wp-block-navigation__responsive-container-open:hover,
    .main-navigation .wp-block-navigation__responsive-container-open:focus {
        background-color: #2d6c6e !important;
        color: #ffffff !important;
    }

    /* =========================================
       MOBILE OVERLAY MENU STYLING
       ========================================= */

    /* 1. The Overlay Background */
    .nav-mobile .wp-block-navigation__responsive-container,
    .main-navigation .wp-block-navigation__responsive-container {
        background-color: #f5f7fa !important; 
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    
    .main-navigation ul.wp-block-navigation,
    .main-navigation ul.wp-block-navigation.items-justified-right {
        justify-content: flex-start !important; 
        text-align: left !important;
        --navigation-layout-justification-setting: flex-start!important;
        --navigation-layout-justify: flex-start!important;
    }

    /* 2. The Close "X" Button */
    .nav-mobile .wp-block-navigation__responsive-container-close,
    .main-navigation .wp-block-navigation__responsive-container-close {
        background-color: #2d6c6e !important; 
        color: #ffffff !important;            
        border-radius: 4px;
        padding: 4px !important;
        position: absolute; 
        top: 28px; 
        right: 20px; 
        z-index: 1000;
    }
    
    .nav-mobile .wp-block-navigation__responsive-container-close svg,
    .main-navigation .wp-block-navigation__responsive-container-close svg {
        width: 28px;
        height: 28px;
        fill: currentColor;
    }

    /* 3. The Menu Links */
    .nav-mobile .wp-block-navigation__responsive-container .wp-block-navigation-item__content,
    .main-navigation .wp-block-navigation__responsive-container .wp-block-navigation-item__content  {
        color: #000 !important;      
        font-family: var(--wp--preset--font-family--fira-sans); 
        font-size: 1.6rem !important;   
        font-weight: 700;
        padding: 10px 0 !important;     
        border-bottom: 1px solid rgba(26, 44, 66, 0.1); 
    }

    /* 4. Submenu Items */
    .nav-mobile .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
    .main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 1.2rem !important; 
        padding-left: 20px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        color: #000 !important;     
        font-weight: 500;
        border-bottom: none;           
    }
    
    .nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container,
    .main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
        padding: 0 0 20px 0;
    }

    /* 5. Clean up the bottom border */
    .nav-mobile .wp-block-navigation__responsive-container .wp-block-navigation-item:last-child .wp-block-navigation-item__content,
    .main-navigation .wp-block-navigation__responsive-container .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
        border-bottom: none;
    }
}

/* =========================================
   Utility / Other
   ========================================= */

@media (max-width: 800px) {
	.top-bar {
		padding-left:10px!important;
		padding-right:10px!important;
	}
    .top-bar .wp-block-group.alignwide {
        gap: 10px;
    }
	.top-bar .wp-block-buttons {
		display:none;
		width:0;
	}
}



/* =========================================
   The Events Calendar Custom Styling
   ========================================= */

section.tribe-events-l-container {
    padding: 0 !important;
}
section.tribe-events-pg-template {
    background-color: #ffffffe6 !important;
    padding: 40px 40px 0 40px !important;
    margin-bottom: 40px;
}
.tribe-events .tribe-events-calendar-list__month-separator {
    margin: 0 0 30px 0;
}
.custom-event-category-description {
    padding-bottom: var(--tec-spacer-4) !important;
}
.custom-event-category-description p {
    margin: inherit !important;
    padding: inherit !important;
}

/* Background Image Fix - Ensure this path is correct */
.wp-block-navigation__responsive-container {
    background-image: url('/wp-content/uploads/2025/12/j-bg.png');
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: 130% 100%;
}

.home-banner .wp-block-columns .image-column {
    min-height: 60vh;
}
.wp-block-button__link {
    white-space: nowrap;
}
.tribe-events .tribe-events-header__title h1.tribe-events-header__title-text, 
.tribe-events .tribe-events-header__title h2.tribe-events-header__title-text, 
.tribe-events .tribe-events-header__title h3.tribe-events-header__title-text, 
.tribe-events .tribe-events-header__title h4.tribe-events-header__title-text, 
.tribe-events .tribe-events-header__title h5.tribe-events-header__title-text, 
.tribe-events .tribe-events-header__title h6.tribe-events-header__title-text {
    font-family: "Freight Sans Compressed" !important;
}
.tribe-block.tec-block__archive-events {
    margin-top: 0 !important;
}
.event-cat-extra-content {
    margin: 30px 0 0 0;
}
.featured-events-container .tribe-events .tribe-events-header,
.featured-events-container .tribe-events-c-nav,
.featured-events-container .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    list-style: none;
    padding: 0.2em 0;
}
header.site-header,
header.wp-block-template-part {
    border-bottom: 1px solid #cddacf;
}
header .wp-block-cover {
    overflow: visible !important;
}
header .wp-block-cover__inner-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
    margin-top: 0 !important;
}

/* REMOVED DUPLICATE NAV LOGIC HERE 
   (The code that was previously lines 332-356 has been merged into the top media queries)
*/

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container, 
.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container, 
.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container, 
.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container {
    left: 0;
    right: auto;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
    width: 100%;
}

@media (max-width: 500px) {
	.background-image-container {
		background:none!important;
		padding:0!important;
	}
	.background-image-container-child {
		border:none!important;
	}
}