/*
Theme Name: AVL JCC 2026 (Frost)
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.1
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: avl-jcc-2026-frost
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks
*/

/* 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) {
	.is-style-hidden-mobile {
		display: none !important;
	}
}

@media only screen and (min-width: 600px) {
	.is-style-visible-mobile {
		display: none !important;
	}
}

@media only screen and (max-width: 782px) {
	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}
}

/* Mobile Logo Resize */
@media (max-width: 1100px) {
    .wp-block-site-logo img {
		width: 240px;
        max-width: 240px; 
        height: auto;     
    }
}

/* =========================================
   1. DESKTOP NAVIGATION (Min-width: 1101px)
   ========================================= */

.desktop-only {
	display:none!important;
}

@media (min-width: 1101px) {
	
	.desktop-only {
		display:flex!important;
	}
    /* Container Styling */
    .wp-block-navigation .wp-block-navigation__submenu-container {
        background-color: #ffffff !important;
        border: 1px solid rgba(0,0,0,0.05);
        border-top: 4px solid #bd4467 !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;
    }

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

    /* Hover Interaction */
    .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
        background-color: #f5f7fa;
        color: #bd4467 !important;
        padding-left: 26px !important;
    }
    
	/* Align the last navigation dropdown to the right to prevent cutoff */
	.wp-block-navigation .desktop-last-item .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 0 !important;
		border-radius: 6px 0 6px 6px !important; 
	}
}


/* =========================================
   2. MOBILE MENU & OVERLAY (Max-width: 1100px)
   ========================================= */

@media (max-width: 1100px) {
	
	.header-row {
		align-items:center!important;
	}
	
	/* --- Force Mobile Menu at 1100px --- */
    /* Hide the default desktop horizontal list */
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }

    /* Force the hamburger button to show */
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    /* --- Hamburger Toggle Button --- */
    .wp-block-navigation__responsive-container-open {
        background-color: #bd4467 !important; /* Brand Pink */
        color: #ffffff !important;            /* White Icon */
        padding: 4px 4px !important;
        border-radius: 4px;
        transition: background-color 0.2s ease;
    }

    .wp-block-navigation__responsive-container-open svg {
        width: 28px;
        height: 28px;
        fill: currentColor;
    }

    .wp-block-navigation__responsive-container-open:hover,
    .wp-block-navigation__responsive-container-open:focus {
        background-color: #1a2c42 !important; /* Dark Blue */
        color: #ffffff !important;
    }

    /* --- The Overlay Background --- */
    .wp-block-navigation__responsive-container {
        background-color: #f5f7fa !important; 
        padding-top: 20px !important;         
        padding-bottom: 20px !important;
    }

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

    /* --- Stack the Menu Vertically --- */
    .wp-block-navigation__container {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

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

    /* --- Submenu Container (Static, Accordion style) --- */
    .wp-block-navigation__submenu-container {
        position: static !important;
        display: block !important;
        background-color: transparent !important;
        padding-left: 20px !important;
        border: none !important;
        box-shadow: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-width: auto !important;
    }

    /* --- Submenu Items --- */
    .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 1.2rem !important; 
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        color: #4479bd !important;     
        font-weight: 500;
        border-bottom: none !important;           
    }

    /* --- Clean up the bottom border for the last item --- */
    .wp-block-navigation__responsive-container .wp-block-navigation-item:last-child > .wp-block-navigation-item__content {
        border-bottom: none !important;
    }
}


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

.tribe-events-view {
	background-color:transparent!important;
}
section.tribe-events-l-container {
	background-color:#ffffffe6!important;
	padding:40px!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 texture for the mobile menu */
.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%;
}

.split-banner .wp-block-columns .image-column {
	min-height:30vh;
}
.home-banner .wp-block-columns .image-column {
	min-height:40vh;
}
.wp-block-button__link {
	white-space:nowrap;
}

/* --- MENU: UNCLICKABLE PARENT LABELS --- */

/* 1. Reset the cursor to an arrow (visual cue) */
.wp-block-navigation-item.unclickable-label > a {
    cursor: default !important;
}

/* 2. Disable pointer events (makes the text strictly inert) */
/* Note: Users on mobile must tap the arrow/chevron to open the menu */
.wp-block-navigation-item.unclickable-label > a {
    pointer-events: none;
}

/* --- MAP RESPONSIVE --- */
.map-responsive {
    overflow: hidden;
    padding-bottom: 56.25%; /* Calculates aspect ratio: 16:9 (9 / 16 = 0.5625) */
    position: relative;
    height: 0;
}

.map-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
}

/* --- Custom Password Form Styles --- */

.bm-password-form {
    max-width: 500px;
    margin: 40px auto; /* Centers the form */
    padding: 40px;
    background: #f9f9f9;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    text-align: center;
}

.bm-password-msg {
    margin-bottom: 25px;
    font-size: 1.1rem;
    color: #1E2C42; /* JCC Dark Blue */
    font-weight: 600;
}

.bm-password-wrapper {
    display: flex;
    gap: 10px;
    flex-wrap: wrap; /* Stacks on mobile */
    justify-content: center;
}

.bm-password-form input[type="password"] {
    flex: 1;
    padding: 12px 15px;
    border: 2px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    min-width: 200px;
}

.bm-password-form input[type="password"]:focus {
    border-color: #1E2C42;
    outline: none;
}

.bm-password-submit {
    background-color: #1E2C42; /* JCC Dark Blue */
    color: #fff;
    border: none;
    padding: 12px 25px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.bm-password-submit:hover {
    background-color: #bd4467; /* JCC Pink */
    color: #fff;
}
.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
    margin-top: 20px!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    padding-top: 1em!important;
}

/* Hide utility links inside the primary menu on Desktop */
@media (min-width: 1101px) {
    .mobile-only-link {
        display: none !important;
    }
}

/* Optional: Add a top border to Member Login on mobile to separate it */
@media (max-width: 1100px) {
    .mobile-only-link:first-of-type {
        margin-top: 15px !important;
        border-top: 2px dashed rgba(26, 44, 66, 0.2) !important;
    }
}

#sb_instagram .sbi_photo_wrap p {
	margin:0!important;
	padding:0!important;
	display:inline;
	margin-block-start: 1em!important;
    margin-block-end: 1em!important;
}
.nk-awb-pause, .nk-awb-play {
    display: none !important;
}
/* Hide empty Events Calendar blocks */
.tribe-block__venue:not(:has(*)),
.tribe-block__event-price:not(:has(*)) {
    display: none !important;
}