/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

body, html {
	height: 100%;
}

body, html, p {
	font-family: "Montserrat", system-ui, Arial, sans-serif;
}

.elementor-empty-view {
	display: none !important;
}
.elementor-button {
	min-width: 175px;
}
body.single-tribe_events #tribe-events-pg-template {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    padding: 0;
}

.event-month-custom {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 14px;
    text-transform: uppercase;
    color: #000;
    text-align: center;
    line-height: 1.1em;
    margin-right: -20px;
    white-space: nowrap;
}

.event-day-custom {
    font-size: 96px;
    font-weight: 900;
    text-transform: uppercase;
    color: var( --e-global-color-accent );
    text-align: center;
    line-height: 0.8em;
}

h1.bsm-brand-page-title {margin-bottom: 5px;}

h2.bsm-hero-subtitle {
	color: #555 !important;
	font-family: 'Helvetica Neue', Arial, sans-serif !important;
}

.panels { display: grid; grid-template-rows: 1fr; grid-template-columns: 100%; height: 75vh; width: 100%; overflow: hidden; }
.panel { position: relative; min-width: 0; cursor: pointer; overflow: hidden; background:#000; }
.panel video { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; filter: brightness(85%); transition: transform 0.9s ease, filter 0.9s ease; }
.panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.55)); transition: background 0.6s ease, opacity 0.6s ease; pointer-events: none; }

.bottom-row { grid-row: 1; grid-column: 1; display: flex !important; height: 100%; width: 100%; }
.bottom-row .panel-bottom { flex: 1; transition: flex 0.6s ease, filter 0.6s ease; }
.bottom-row:hover .panel-bottom { flex: 0.25; filter: brightness(55%) saturate(60%); }
.bottom-row:hover .panel-bottom:hover { flex: 1.5; filter: none; z-index: 2; }
.bottom-row:hover .panel-bottom:hover video { transform: scale(1.08); filter: brightness(100%); }
.bottom-row:hover .panel-bottom:hover::after { background: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.75)); }

.content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: clamp(1rem,2.5vw,2.5rem); color: #fff; z-index: 2; gap: 0.9rem; max-width: 50ch; margin: 0 auto; }
.content h2 { margin: 0; transition: font-size 0.4s ease, opacity 0.4s ease; }
.bottom-row:hover .panel-bottom:not(:hover) .content h2 { opacity: 0.85; }
.content p { font-size: clamp(0.9rem,1vw,1.05rem); line-height: 1.5; margin: 0; opacity: 0; transform: translateY(12px); transition: opacity 0.6s ease 0.05s, transform 0.6s ease 0.05s; }
.content a { align-self: center; display: inline-block; background: #203f66; color: #fff; font-weight: 700; padding: 0.85rem 1.5rem; border-radius: 4px; font-size: 0.85rem; letter-spacing: 0.5px; text-decoration: none; position: relative; overflow: hidden; opacity: 0; transform: translateY(14px); transition: opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s, background 0.3s; }
.content a:hover, .content a:focus-visible { background: #3171bb; color: #fff; }
.content a:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.bottom-row:hover .panel-bottom:hover .content p,
.bottom-row:hover .panel-bottom:hover .content a { opacity: 1; transform: translateY(0); }

.panel:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }

.scroll-indicator { position: absolute; left: 50%; bottom: 1.2rem; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; font-size: 0.65rem; font-weight: 600; letter-spacing: 1px; color: #fff; text-transform: uppercase; gap: 0.35rem; z-index: 3; opacity: 0; pointer-events: none; }
.scroll-indicator .arrow { font-size: 1.1rem; animation: bounce 1.9s infinite; line-height: 1; }
@keyframes bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
.scroll-indicator.show { opacity: 0.9; pointer-events: none; transition: opacity 0.6s ease; }
.scroll-indicator.hide { opacity: 0 !important; }

h1.bsm-brand-page-title, h2.bsm-section-title {
    color: #2c3e50 !important;
}

/* TRUE MOBILE STACKED STICKY */
@media (max-width: 1024px) {
	body, html { height: auto; }
	.panels { display: block; height: auto; overflow: visible; }
	/* Flatten bottom-row so its children become siblings for stacking */
	.bottom-row { display: contents; }
	.panel-hero, .panel-bottom { position: sticky; top: 0; height: 24vh; width: 100%; }
	.panel-hero, .panel-bottom { cursor: default; }
	/* Remove desktop hover behavior */
	.bottom-row:hover .panel-bottom { flex: 1; filter: none; }
	.bottom-row:hover .panel-bottom:hover { flex: 1; }
	/* Each panel layered by order (higher later) */
	.panels .panel { z-index: 1; }
	.panels .panel:nth-of-type(2) { z-index: 2; }
	.panels .panel:nth-of-type(3) { z-index: 3; }
	.panels .panel:nth-of-type(4) { z-index: 4; }
	.panels .panel:nth-of-type(5) { z-index: 5; }
	/* Ensure content & overlay fill sticky area */
	.panel video { position: absolute; inset: 0; height: 100%; width: 100%; }
	.content, .panel::after { position: absolute; inset: 0; }
	/* Always show text (optional fade logic removed) */
	.content p, .content a { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.panel, .panel video, .content p, .content a, .scroll-indicator .arrow { transition: none !important; animation: none !important; }
}