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

/* === Mobile menu popup: Sign In + Sign Up side by side (2026-04-08) === */
/* The auth-menu nav-menu widget (element 4d7d385) inside popup 96 stacks
   items vertically by default. Force them into a row so Sign In and Sign Up
   sit side by side at equal width. */

.elementor-96 .elementor-element-4d7d385 .elementor-nav-menu--main .elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px;
}

.elementor-96 .elementor-element-4d7d385 .elementor-nav-menu--main .elementor-nav-menu > li {
    flex: 1 1 0 !important;
    margin: 0 !important;
}

.elementor-96 .elementor-element-4d7d385 .elementor-nav-menu--main .elementor-nav-menu > li > a {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}


/* === Prevent overscroll / Safari bounce fix (2026-04-23-v6) === */
html, body {
    overscroll-behavior: none !important;
    background-color: #000;
}

/* Safari-only: disable momentum scroll easing to eliminate top-boundary bounce.
   -webkit-touch-callout is not recognised by Chrome/Firefox/Edge so this block
   is completely ignored by all non-Safari browsers. */
@supports (-webkit-touch-callout: none) {
    html, body {
        -webkit-overflow-scrolling: auto !important;
    }
}

/* === GPU-accelerate Elementor motion effects for smooth scroll (2026-04-12) === */
/* 49 motion-effect layers on this page were promoted to GPU on-demand during scroll,
   causing jank. Pre-promoting them eliminates the on-demand layer creation cost. */
.elementor-motion-effects-container,
.elementor-motion-effects-layer {
    will-change: transform;
}


/* Header slides up when scrolling down, slides back on scroll-up.
   Works for both sticky/fixed Elementor headers on desktop and mobile.
   .header--hidden is toggled by js/scroll-hide-menu.js              */
#site-header {
    transition: transform 0.35s ease;
    will-change: transform;
}
#site-header.header--hidden {
    transform: translateY(-100%);
}


/* === Scroll-hide menu (2026-04-14) ===
/* Animation is JS-driven (rAF + ease-in-out). CSS only supplies the
   GPU hint so the browser composites these layers cheaply.           */
.elementor-element-4f5e7d2b,
.elementor-element-229e883b {
    will-change: transform;
}