/* 
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 */

/***
* class: .sticky-header
*/
.sticky-header {
	--header-height: 90px;
	--shrink-header-to: 0.6;
	--transition: .45s cubic-bezier(.4, 0, .2, 1);
	background-color: rgba(244, 245, 248, 1);
	transition: background-color var(--transition),
				backdrop-filter var(--transition),
				box-shadow var(--transition);
}

/***
* Sticky header activated
*/
.sticky-header.elementor-sticky--effects {
	background-color: rgba(244, 245, 248, .8);
	box-shadow: 0px 4px 33px 1px rgba(0, 0, 0, .07);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
}
.sticky-header > .elementor-container {
	min-height: var(--header-height);
	transition: min-height var(--transition);
}
.sticky-header.elementor-sticky--effects > .elementor-container {
	min-height: calc( var(--header-height) * var(--shrink-header-to) );
}

/***
* Shorter header on mobile (70px instead of 100px)
*/
@media only screen and (max-width: 767px) {
	.sticky-header {
		--header-height: 90px;
	}
}

/* button styles */
.elementor-slide-button, .custom-btn {
    position: relative;
    display: inline-block;
    padding: 0 30px;
    height: 50px;
    line-height: 50px;
    border-radius: 4px;
    border-width: 0;
    font-size: 14px;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    letter-spacing: -0.04em;
    text-align: center;
    color: #fff; 
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.elementor-post__read-more {
	    position: relative;
    display: inline-block;
    padding: 0 20px;
    height: 30px;
    line-height: 30px;
    border-radius: 4px;
    border-width: 0;
    font-size: 14px;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    letter-spacing: -0.04em;
    text-align: center;
    color: #fff; 
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.elementor-slide-button, .custom-btn_color, .elementor-post__read-more {
    background-color: #00b2ff; 
    color: #fff !important; 
}

.elementor-slide-button:after, .custom-btn_color:after, .elementor-post__read-more:after {
    content: '';
    position: absolute;
    top: 0;
    left: -200%;
    width: 200%;
    height: 100%;
    transform: skewX(-20deg); 
    background-image: linear-gradient(
        to right,
        transparent,
        rgba(255, 255, 255, 0.4),
        transparent
    );
    transition: left 0.3s ease; 
}

.elementor-slide-button:hover:after, .custom-btn_color:hover:after, .elementor-post__read-more:hover:after {
    left: 0; 
}

/* ===================================
   SPLIT SCREEN LAYOUT - FIXED VERSION
   =================================== */

/* Main container */
.split-container {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    overflow: hidden;
    opacity: 0; /* GSAP will fade in */
}

/* Left calendar section - 50% width but only 20% visible */
.calendar-section {
    position: absolute; /* FIXED: Changed to absolute for proper overlap */
    left: 0;
    top: 0;
    width: 50%; /* Full width is 50% */
    height: 100vh;
    z-index: 10; /* Under the right section */
    overflow-y: hidden;
}

.calendar-section .elementor-shortcode {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 50px;
}

/* Right section - overlays the calendar */
.right-section {
    position: absolute; /* FIXED: Changed to absolute */
    left: 20%; /* FIXED: Starts at 20% - only shows 20% of calendar */
    top: 0;
    width: 80%; /* Takes up 80% of viewport */
    height: 100vh;
    overflow-y: auto;
    background: #fff;
    z-index: 30; /* Above calendar */
    box-shadow: -8px 0 16px -6px rgba(0, 0, 0, 0.1);
    transition: none; /* Removed - GSAP handles this */
}

/* Calendar overlay - creates visual separation */
.calendar-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    pointer-events: none;
    z-index: 25;
    transition: opacity 0.4s ease;
    opacity: 1;
}

/* ===================================
   EXPANDED STATE (Calendar Active)
   =================================== */

.calendar-active .calendar-section {
    width: 50%; /* Stays 50% */
    cursor: default;
}

.calendar-active .right-section {
    left: 50%; /* FIXED: Moves to 50% position */
    width: 50%; /* Takes 50% width */
    overflow: hidden;
    pointer-events: none;
}

.calendar-active .calendar-overlay {
    opacity: 0;
}

/* ===================================
   NAVIGATION LINKS
   =================================== */

.view-calendar-link {
    position: absolute;
    top: 20px;
    left: 20px;
    color: black;
    text-decoration: none;
    border-bottom: 1px solid black;
    padding: 5px;
    font-size: 16px;
    font-weight: 700;
    z-index: 1001;
    text-transform: uppercase;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    pointer-events: auto;
}

.view-content-link {
    position: absolute;
    top: 20px;
    left: 50px;
    color: white;
    text-decoration: none;
    border-bottom: 1px solid white;
    padding: 5px;
    font-size: 16px;
    font-weight: 700;
    z-index: 1001;
    text-transform: uppercase;
    opacity: 0;
    display: none;
    transition: opacity 0.3s ease;
}

.right-section-calendar-link {
    position: absolute;
    top: 20px;
    left: 20px;
    color: #FFF;
    text-decoration: none;
    border-bottom: 1px solid #FFF;
    padding: 5px;
    font-size: 16px;
    font-weight: 700;
    z-index: 1001;
    text-transform: uppercase;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    pointer-events: auto;
}

.right-section-calendar-link:hover {
    opacity: 1;
}

.calendar-section:hover .view-calendar-link {
    opacity: 1;
}

.calendar-active .view-calendar-link {
    display: none;
}

/* FIXED: Show cursor properly when not expanded */
.calendar-section:not(.calendar-active) {
    cursor: pointer; /* Shows pointer when hovering */
}

.calendar-active .view-content-link {
    display: block;
    opacity: 1;
    pointer-events: auto;
    z-index: 1002;
    cursor: pointer; /* FIXED: Ensure cursor shows */
}

/* ===================================
   SCROLLBAR HIDING
   =================================== */

.calendar-section::-webkit-scrollbar,
.right-section::-webkit-scrollbar,
.calendar-section .elementor-shortcode::-webkit-scrollbar {
    display: none;
}

.calendar-section,
.right-section,
.calendar-section .elementor-shortcode {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* ===================================
   MOBILE TOGGLE
   =================================== */

.mobile-toggle {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
    background: #000;
    color: white;
    padding: 10px 20px;
    border-radius: 30px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

/* ===================================
   MOBILE RESPONSIVE
   =================================== */

@media (max-width: 768px) {
    .split-container {
        flex-direction: column;
    }
    
    .calendar-section,
    .right-section {
        width: 100% !important;
    }
    
    .calendar-section {
        display: none;
        height: auto;
        min-height: 100vh;
    }
    
    .calendar-section .elementor-shortcode {
        position: relative;
        height: auto;
    }
    
    .right-section {
        height: auto;
        min-height: 100vh;
    }
    
    .calendar-active .calendar-section {
        display: block;
    }
    
    .calendar-active .right-section {
        display: none;
    }
    
    .view-calendar-link,
    .view-content-link,
    .right-section-calendar-link {
        display: none !important;
    }
    
    .mobile-toggle {
        display: block;
    }
}

/* ===================================
   BUTTON STYLES (from your original)
   =================================== */

.elementor-slide-button, .custom-btn {
    position: relative;
    display: inline-block;
    padding: 0 30px;
    height: 50px;
    line-height: 50px;
    border-radius: 4px;
    border-width: 0;
    font-size: 14px;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    letter-spacing: -0.04em;
    text-align: center;
    color: #fff; 
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.elementor-post__read-more {
    position: relative;
    display: inline-block;
    padding: 0 20px;
    height: 30px;
    line-height: 30px;
    border-radius: 4px;
    border-width: 0;
    font-size: 14px;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
    letter-spacing: -0.04em;
    text-align: center;
    color: #fff; 
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.elementor-slide-button, .custom-btn_color, .elementor-post__read-more {
    background-color: #00b2ff; 
    color: #fff !important; 
}

.elementor-slide-button:after, .custom-btn_color:after, .elementor-post__read-more:after {
    content: '';
    position: absolute;
    top: 0;
    left: -200%;
    width: 200%;
    height: 100%;
    transform: skewX(-20deg); 
    background-image: linear-gradient(
        to right,
        transparent,
        rgba(255, 255, 255, 0.4),
        transparent
    );
    transition: left 0.3s ease; 
}

.elementor-slide-button:hover:after, .custom-btn_color:hover:after, .elementor-post__read-more:hover:after {
    left: 0; 
}

.elementor-grid-item {
    transition: box-shadow 0.3s ease, transform 0.3s ease; 
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.elementor-grid-item:hover {
    transform: translateY(-5px) scale(1.02); 
    box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.2);
}
