/* 
Theme Name: Hello Elementor Child
Theme URI: https://www.linkedin.com/in/nababur/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Nababur 
Author URI: https://nababur.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 */

/* ==========================================================================
   TABLE OF CONTENTS
   
   1. CSS VARIABLES
   2. RESET & BASE STYLES
   3. PRELOADER STYLES
   4. GRADIENT BACKGROUND
   5. CALENDAR CONTAINER STYLES
   6. CALENDAR CONTROLS STYLES
   7. CALENDAR GRID STYLES
   8. TOOLTIP STYLES
   9. EVENT LIST STYLES
   10. ANIMATIONS
   11. ACCESSIBILITY
   12. FOOTER
   13. MOBILE RESPONSIVENESS
   14. HEADER & NAVIGATION
   15. BUTTON STYLES
   16. DROPDOWN MENU STYLES
   17. FILTERABLE GALLERY STYLES
   18. GRAVITY FORMS STYLES
   19. FAQ ACCORDION STYLES
   20. BLOG GRID STYLES
   21. MAP BLOCK STYLES
   22. AMBASSADOR FORM STYLES
   23. NEWSLETTER FORM STYLES
   24. RESPONSIVE UTILITIES
   25. FOOTER SUBSCRIBE FORM STYLES
   26. RE-CAPTCHA STYLES
   27. ANALYTICS STYLES
   
   ========================================================================== */





/* ===== 1. CSS VARIABLES ===== */
:root {
    --primary-color: #E1B129;
    --primary-dark: #c99a1e;
    --text-dark: #1a1a1a;
    --text-light: #e2e8f0;
    --bg-dark: #0f0f1a;
    --bg-card: #1a1a2e;
    --bg-card-hover: #232342;
    --white: #ffffff;
    --border-color: #2d2d4d;
    --shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    --shadow-hover: 0 15px 35px rgba(0, 0, 0, 0.4);
    --radius: 16px;
    --transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    --transition-fast: all 0.2s ease;
}





/* ===== 2. RESET & BASE STYLES ===== */
/* Remove mobile blue tap highlight */
a,
button,
.elementor-button,
input[type="submit"],
input[type="button"] {
    -webkit-tap-highlight-color: transparent;
}

/* Optional: remove focus outline on mobile */
a:focus,
button:focus,
.elementor-button:focus {
    outline: none !important;
}

.primary-color {
    color: var(--primary-color);
}

.primary-color1 {
    color: #E1B129;
}





/* ===== 3. PRELOADER STYLES ===== */
.imaginarium360_calendar_preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bg-dark);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.imaginarium360_calendar_preloader.hidden {
    opacity: 0;
    visibility: hidden;
}

.imaginarium360_calendar_preloader_logo {
    width: 120px;
    height: 120px;
    margin-bottom: 2rem;
    position: relative;
}

.imaginarium360_calendar_preloader_logo_circle {
    width: 100%;
    height: 100%;
    border: 4px solid rgba(225, 177, 41, 0.2);
    border-top: 4px solid var(--primary-color);
    border-radius: 50%;
    animation: imaginarium360_calendar_spin 1.5s linear infinite;
}

.imaginarium360_calendar_preloader_logo_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.5rem;
    color: var(--primary-color);
    font-weight: 800;
}

.imaginarium360_calendar_preloader_text {
    color: var(--text-light);
    font-size: 1.2rem;
    font-weight: 600;
    margin-top: 1rem;
    text-align: center;
}

.imaginarium360_calendar_preloader_progress {
    width: 200px;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    margin-top: 1.5rem;
    overflow: hidden;
}

.imaginarium360_calendar_preloader_progress_bar {
    height: 100%;
    background: linear-gradient(90deg, var(--primary-color), var(--primary-dark));
    border-radius: 3px;
    width: 0%;
    transition: width 0.3s ease;
}

.imaginarium360_calendar_preloader_events {
    display: flex;
    gap: 10px;
    margin-top: 2rem;
}

.imaginarium360_calendar_preloader_event {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    animation: imaginarium360_calendar_pulse 2s infinite;
}

.imaginarium360_calendar_preloader_event:nth-child(2) {
    animation-delay: 0.2s;
}

.imaginarium360_calendar_preloader_event:nth-child(3) {
    animation-delay: 0.4s;
}





/* ===== 4. GRADIENT BACKGROUND ===== */
.imaginarium360_calendar_gradient_bg {
    background: linear-gradient(200deg, #0c1e7f 0%, #612897 100%) !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 320px;
    z-index: -2;
}

.imaginarium360_calendar_dark_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 15, 26, 0.9);
    z-index: -1;
}





/* ===== 5. CALENDAR CONTAINER STYLES ===== */
.imaginarium360_calendar_wrapper {
    max-width: 1300px;
    margin: 2rem auto;
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.imaginarium360_calendar_wrapper.loaded {
    opacity: 1;
    transform: translateY(0);
}

.imaginarium360_calendar_header {
    text-align: center;
    margin-bottom: 3rem;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.imaginarium360_calendar_title {
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, #fff 0%, #e2e8f0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.imaginarium360_calendar_subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    font-weight: 500;
    color: var(--text-light);
}





/* ===== 6. CALENDAR CONTROLS STYLES ===== */
.imaginarium360_calendar_controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5rem;
    background: var(--bg-card);
    padding: 1.5rem 2rem;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid var(--border-color);
    flex-wrap: wrap;
    gap: 1rem;
}

.imaginarium360_calendar_nav {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.imaginarium360_calendar_nav_button {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 0.8rem 1.5rem;
    cursor: pointer;
    transition: var(--transition);
    font-weight: 600;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.imaginarium360_calendar_nav_button:hover {
    background: var(--primary-color);
    color: var(--text-dark);
    border-color: var(--primary-color);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(225, 177, 41, 0.3);
}

.imaginarium360_calendar_nav_button:active {
    transform: translateY(-1px);
}

.imaginarium360_calendar_nav_button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.imaginarium360_calendar_nav_button:disabled:hover {
    background: var(--bg-card);
    color: var(--text-light);
    border-color: var(--border-color);
}

.imaginarium360_calendar_current_month {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-light);
    text-align: center;
}





/* ===== 7. CALENDAR GRID STYLES ===== */
.imaginarium360_calendar_container {
    /* display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem; */
    margin-bottom: 3rem;
}

@media (max-width: 900px) {
    .imaginarium360_calendar_container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

.imaginarium360_calendar_month {
    background: var(--bg-card);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid var(--border-color);
}

.imaginarium360_calendar_month:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-5px);
}

.imaginarium360_calendar_month_header {
    background: linear-gradient(200deg, #0c1e7f 0%, #612897 100%) !important;
    color: white;
    padding: 1.75rem;
    text-align: center;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.5px;
    position: relative;
    overflow: hidden;
}

.imaginarium360_calendar_month_header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transform: translateX(-100%);
}

.imaginarium360_calendar_month:hover .imaginarium360_calendar_month_header::after {
    animation: imaginarium360_calendar_shimmer 1.5s ease;
}

.imaginarium360_calendar_weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid var(--border-color);
}

.imaginarium360_calendar_weekday {
    padding: 1.25rem 0.5rem;
    text-align: center;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.imaginarium360_calendar_days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: var(--border-color);
}

.imaginarium360_calendar_day {
    background: var(--bg-card);
    padding: 1rem 0.5rem;
    text-align: center;
    cursor: pointer;
    transition: var(--transition);
    min-height: 85px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    font-weight: 600;
}

@media (max-width: 600px) {
    .imaginarium360_calendar_day {
        min-height: 65px;
        padding: 0.75rem 0.25rem;
    }
}

.imaginarium360_calendar_day:hover {
    background: var(--bg-card-hover);
    transform: scale(1.05);
    z-index: 2;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--past {
    color: #4a5568;
    background: #151525;
    cursor: not-allowed;
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--past:hover {
    background: #151525;
    transform: none;
    box-shadow: none;
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--selected {
    background: var(--primary-color);
    color: var(--text-dark);
    font-weight: 700;
    transform: scale(1.05);
    box-shadow: 0 5px 20px rgba(225, 177, 41, 0.4);
    z-index: 3;
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--today {
    font-weight: 700;
    color: var(--primary-color);
    position: relative;
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--today::before {
    content: '';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary-color);
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--today.imaginarium360_calendar_day--selected {
    color: var(--text-dark);
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--today.imaginarium360_calendar_day--selected::before {
    background: var(--text-dark);
}

.imaginarium360_calendar_day_events {
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 3px;
}

.imaginarium360_calendar_day_event_indicator {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-color);
    transition: var(--transition);
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--selected .imaginarium360_calendar_day_event_indicator {
    background: var(--text-dark);
}





/* ===== 8. TOOLTIP STYLES ===== */
.imaginarium360_calendar_tooltip {
    position: fixed;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    color: var(--text-dark);
    padding: 12px 18px;
    border-radius: 24px;
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    transform: translateY(10px) scale(0.9);
    transition: opacity 0.3s, transform 0.3s;
    white-space: nowrap;
    text-align: center;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
    max-width: 150px;
}

.imaginarium360_calendar_tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: var(--primary-color) transparent transparent transparent;
}

.imaginarium360_calendar_tooltip.imaginarium360_calendar_tooltip--visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    animation: imaginarium360_calendar_bounce 0.5s ease;
}





/* ===== 9. EVENT LIST STYLES ===== */
.imaginarium360_calendar_event_list {
    background: var(--bg-card);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 0;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid var(--border-color);
}

.imaginarium360_calendar_event_list:hover {
    box-shadow: var(--shadow-hover);
}

.imaginarium360_calendar_event_list_header {
    background: linear-gradient(200deg, #0c1e7f 0%, #612897 100%) !important;
    color: white;
    padding: 1.75rem 2rem;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 1rem;
    position: relative;
    overflow: hidden;
}

.imaginarium360_calendar_event_list_header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transform: translateX(-100%);
}

.imaginarium360_calendar_event_list:hover .imaginarium360_calendar_event_list_header::after {
    animation: imaginarium360_calendar_shimmer 1.5s ease;
}

.imaginarium360_calendar_event_list_header i {
    font-size: 1.5rem;
}

.imaginarium360_calendar_event_list_content {
    padding: 2rem;
}

.imaginarium360_calendar_event_item {
    display: flex;
    gap: 1.5rem;
    padding: 2rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-color);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    background: var(--bg-card);
    opacity: 0;
    transform: translateY(20px);
}

@media (max-width: 600px) {
    .imaginarium360_calendar_event_item {
        flex-direction: column;
        padding: 1.5rem;
        gap: 1rem;
    }
}

.imaginarium360_calendar_event_item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: var(--primary-color);
    transform: scaleY(0);
    transition: var(--transition);
}

.imaginarium360_calendar_event_item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    background: var(--bg-card-hover);
}

.imaginarium360_calendar_event_item:hover::before {
    transform: scaleY(1);
}

.imaginarium360_calendar_event_item:last-child {
    margin-bottom: 0;
}

.imaginarium360_calendar_event_logo {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--bg-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    border: 1px solid var(--border-color);
}

@media (max-width: 600px) {
    .imaginarium360_calendar_event_logo {
        width: 70px;
        height: 70px;
    }
}

.imaginarium360_calendar_event_logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.imaginarium360_calendar_event_details {
    flex: 1;
}

.imaginarium360_calendar_event_name {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: var(--text-light);
}

.imaginarium360_calendar_event_time {
    margin-bottom: 1rem;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    opacity: 0.9;
}

.imaginarium360_calendar_event_time i {
    color: var(--primary-color);
}

.imaginarium360_calendar_event_extra {
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 1rem;
    opacity: 0.8;
}

.imaginarium360_calendar_event_extra a {
    background: var(--primary-color);
    color: var(--text-dark);
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    transition: var(--transition);
    margin-top: 0.5rem;
}

.imaginarium360_calendar_event_extra a:hover {
    background: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(225, 177, 41, 0.4);
}

.imaginarium360_calendar_no_events {
    text-align: center;
    padding: 4rem 2rem;
    color: var(--text-light);
    font-style: italic;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    opacity: 0.7;
}

.imaginarium360_calendar_no_events i {
    font-size: 4rem;
    color: var(--border-color);
}





/* ===== 10. ANIMATIONS ===== */
@keyframes imaginarium360_calendar_fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes imaginarium360_calendar_pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 5px 15px rgba(225, 177, 41, 0.3);
    }
    50% {
        transform: scale(1.08);
        box-shadow: 0 8px 25px rgba(225, 177, 41, 0.5);
    }
    100% {
        transform: scale(1.05);
        box-shadow: 0 5px 20px rgba(225, 177, 41, 0.4);
    }
}

@keyframes imaginarium360_calendar_shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

@keyframes imaginarium360_calendar_bounce {
    0% {
        transform: translateY(10px) scale(0.9);
        opacity: 0;
    }
    50% {
        transform: translateY(-5px) scale(1.05);
        opacity: 1;
    }
    70% {
        transform: translateY(2px) scale(1);
        opacity: 1;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

@keyframes imaginarium360_calendar_spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.imaginarium360_calendar_day.imaginarium360_calendar_day--selected {
    animation: imaginarium360_calendar_pulse 0.6s ease;
}

.imaginarium360_calendar_event_item.imaginarium360_calendar_event_item--visible {
    animation: imaginarium360_calendar_fadeIn 0.5s ease forwards;
}

/* Stagger animation for event items */
.imaginarium360_calendar_event_item:nth-child(1) {
    animation-delay: 0.1s;
}

.imaginarium360_calendar_event_item:nth-child(2) {
    animation-delay: 0.2s;
}

.imaginarium360_calendar_event_item:nth-child(3) {
    animation-delay: 0.3s;
}

.imaginarium360_calendar_event_item:nth-child(4) {
    animation-delay: 0.4s;
}





/* ===== 11. ACCESSIBILITY ===== */
.imaginarium360_calendar_sr_only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}





/* ===== 12. FOOTER ===== */
.imaginarium360_calendar_footer {
    text-align: center;
    margin-top: 4rem;
    color: var(--text-light);
    font-size: 0.9rem;
    opacity: 0.7;
}





/* ===== 13. MOBILE RESPONSIVENESS ===== */
@media (max-width: 768px) {
    .imaginarium360_calendar_controls {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .imaginarium360_calendar_nav {
        justify-content: center;
    }

    .imaginarium360_calendar_title {
        font-size: 2.5rem;
    }

    .imaginarium360_calendar_current_month {
        font-size: 1.3rem;
    }
}

@media (max-width: 480px) {
    .imaginarium360_calendar_title {
        font-size: 2rem;
    }

    .imaginarium360_calendar_subtitle {
        font-size: 1rem;
    }

    .imaginarium360_calendar_weekday {
        padding: 1rem 0.25rem;
        font-size: 0.8rem;
    }

    .imaginarium360_calendar_day {
        font-size: 0.9rem;
    }

    .imaginarium360_calendar_event_list_header {
        padding: 1.5rem 1rem;
        font-size: 1.2rem;
    }

    .imaginarium360_calendar_event_list_content {
        padding: 1.5rem;
    }

    .imaginarium360_calendar_event_item {
        padding: 1.5rem;
    }

    .imaginarium360_calendar_event_name {
        font-size: 1.1rem;
    }

    .imaginarium360_calendar_tooltip {
        font-size: 0.75rem;
        padding: 10px 14px;
    }

    .imaginarium360_calendar_preloader_logo {
        width: 80px;
        height: 80px;
    }

    .imaginarium360_calendar_preloader_logo_inner {
        font-size: 1.8rem;
    }
}





/* ===== 14. HEADER & NAVIGATION ===== */
#menu-item-402 .imaginarium360-dropdown .sub-menu li a {
    text-transform: uppercase;
}

.gallery_width a img {
    width: 100%;
}

/* Enhanced Navigation Styles */
#main-header {
    position: fixed;
    top: 0;
    left: 0;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    /* z-index: 99999; */
    width: 100% !important;
    padding: 10px 15px;
}

/* Compact state when scrolled */
#main-header.scrolled {
    padding: 10px 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Navigation wrapper */
.header-bottom-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    transition: all 0.4s ease;
}

/* Logo scaling effect */
.header-logo img {
    transition: all 0.4s ease;
    height: 50px;
}

/* Animation for sticky state */
@keyframes slideDown {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

#main-header.scrolled {
    animation: slideDown 0.5s ease;
}

.press-area a.--eael-wrapper-link-tag {
    z-index: 1 !important;
}

/* Custom Button css */
/* .ticket-book-menu .elementor-nav-menu--layout-horizontal ul li ul.elementor-nav-menu--dropdown{    min-width: 100% !important;max-width: 100% !important;} */
.ticket-book-menu .right-ticket-menu-dropdown {
    padding-top: 0px !important;
    border-radius: 10px;
    border: 1px solid rgba(225, 177, 41, 0.2) !important;
}





/* ===== 15. BUTTON STYLES ===== */
/* Enhanced Global Animated Button Styles */
.global-animate-btn .elementor-button {
    /* Base button styling */
    background-color: #e1b129;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5em;
    letter-spacing: 2px;
    box-shadow: 0 5px 15px rgba(225, 177, 41, 0.4);
    border-radius: 10px;
    padding: 15px 35px;
    
    /* Smooth transitions for all properties */
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    
    /* Position relative for pseudo-elements */
    position: relative;
    overflow: hidden;
    
    /* Border setup */
    border: none;
    
    /* Text color */
    color: #fff;
}

/* Animated background overlay */
.global-animate-btn .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.7s ease;
    z-index: 1;
}

/* Hover state transformations */
.global-animate-btn .elementor-button:hover {
    /* Gradient background on hover */
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%);
    
    /* Enhanced shadow effect */
    box-shadow: 0 10px 25px rgba(12, 30, 127, 0.5);
    
    /* Scale up slightly */
    /* transform: translateY(-5px) scale(1.05); */
    
    /* Text color change */
    color: #ffffff;
    
    /* Add border for contrast */
    border: 2px solid rgba(255, 255, 255, 0.2);
    
    /* Add text shadow for better readability */
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

/* Shine effect on hover */
.global-animate-btn .elementor-button:hover::before {
    left: 100%;
}

/* Icon animation on hover */
.global-animate-btn .elementor-button:hover .elementor-button-icon {
    /* Move icon to the right with bounce effect */
    transform: translateX(6px);
    
    /* Smooth transition */
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Focus state for accessibility */
.global-animate-btn .elementor-button:focus {
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%);
    box-shadow: 0 0 0 4px rgba(225, 177, 41, 0.5);
    outline: none;
    color: #ffffff;
}

/* Button content wrapper adjustments */
.global-animate-btn .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Icon styling and transition */
.global-animate-btn .elementor-button-icon {
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    display: flex;
    align-items: center;
}

/* Text element transition */
.global-animate-btn .elementor-button-text {
    transition: all 0.4s ease;
}

/* Optional: Text slight movement on hover */
.global-animate-btn .elementor-button:hover .elementor-button-text {
    letter-spacing: 3px;
}

/* Active state click effect */
.global-animate-btn .elementor-button:active {
    transform: translateY(0) scale(0.98);
    transition: transform 0.1s ease;
}

/* White Background Animated Button Styles */
.global-white-bg-animate-btn .elementor-button {
    /* Base button styling - White background */
    background-color: #ffffff;
    font-family: "Inter", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5em;
    letter-spacing: 2px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    padding: 15px 35px;
    
    /* Smooth transitions for all properties */
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    
    /* Position relative for pseudo-elements */
    position: relative;
    overflow: hidden;
    
    /* Border setup */
    border: 2px solid #f0f0f0;
    
    /* Text color */
    color: #333;
}

/* Animated background overlay */
.global-white-bg-animate-btn .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(12, 30, 127, 0.1), transparent);
    transition: left 0.7s ease;
    z-index: 1;
}

/* Hover state transformations */
.global-white-bg-animate-btn .elementor-button:hover {
    /* Gradient background on hover */
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%);
    
    /* Enhanced shadow effect */
    box-shadow: 0 10px 25px rgba(12, 30, 127, 0.4);
    
    /* Scale up slightly */
    transform: translateY(-5px) scale(1.05);
    
    /* Text color change */
    color: #ffffff;
    
    /* Border color transition */
    border-color: rgba(255, 255, 255, 0.3);
    
    /* Add text shadow for better readability */
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Shine effect on hover */
.global-white-bg-animate-btn .elementor-button:hover::before {
    left: 100%;
}

/* Icon animation on hover */
.global-white-bg-animate-btn .elementor-button:hover .elementor-button-icon {
    /* Move icon to the right with bounce effect */
    transform: translateX(6px) rotate(360deg);
    
    /* Smooth transition */
    transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Focus state for accessibility */
.global-white-bg-animate-btn .elementor-button:focus {
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%);
    box-shadow: 0 0 0 4px rgba(12, 30, 127, 0.3);
    outline: none;
    color: #ffffff;
}

/* Button content wrapper adjustments */
.global-white-bg-animate-btn .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Icon styling and transition */
.global-white-bg-animate-btn .elementor-button-icon {
    transition: transform 0.5s ease;
    display: flex;
    align-items: center;
}

/* Text element transition */
.global-white-bg-animate-btn .elementor-button-text {
    transition: all 0.4s ease;
}

/* Optional: Text slight movement on hover */
.global-white-bg-animate-btn .elementor-button:hover .elementor-button-text {
    letter-spacing: 3px;
}

/* Active state click effect */
.global-white-bg-animate-btn .elementor-button:active {
    transform: translateY(0) scale(0.98);
    transition: transform 0.1s ease;
}

.gallery-grid-btn-list .global-animate-btn .elementor-button {
    padding: 14px 20px;
}

.lakewood-price-list .elementor-price-list .elementor-price-list-title {
    max-width: 50%;
}





/* ===== 16. DROPDOWN MENU STYLES ===== */
/* Elementor Dropdown Menu Styling - Imaginarium360 Theme */
.right-ticket-menu-dropdown .elementor-nav-menu--main {
    position: relative;
    z-index: 1000;
}

.right-ticket-menu-dropdown .elementor-nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.right-ticket-menu-dropdown .elementor-item {
    color: #fff !important;
    text-decoration: none;
    padding: 10px 24px !important;
    display: flex;
    align-items: center;
    /* gap: 8px; */
    border-radius: 8px;
    transition: all 0.3s ease;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 15px;
    position: relative;
}

/* ===== ENHANCED HOVER EFFECTS FOR PRIMARY MENU ===== */
/* Beautiful gradient background on hover */
.right-ticket-menu-dropdown .elementor-item.has-submenu:hover {
    background: linear-gradient(135deg, rgba(225, 177, 41, 0.2) 0%, rgba(225, 177, 41, 0.1) 100%) !important;
    /* border-color: rgba(225, 177, 41, 0.4) !important;
    box-shadow: 
        0 5px 20px rgba(225, 177, 41, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-3px) scale(1.02); */
}

/* Shine effect on hover */
.right-ticket-menu-dropdown .elementor-item.has-submenu {
    position: relative;
    overflow: hidden;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    );
    transition: left 0.6s ease;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu:hover::before {
    left: 100%;
}

/* Pulse animation for attention */
@keyframes goldPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(225, 177, 41, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(225, 177, 41, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(225, 177, 41, 0);
    }
}

.right-ticket-menu-dropdown .elementor-item.has-submenu:hover {
    animation: goldPulse 1.5s infinite;
}

/* Border glow effect */
.right-ticket-menu-dropdown .elementor-item.has-submenu {
    border: 1px solid transparent;
    background: 
        linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05)) padding-box,
        linear-gradient(135deg, transparent 30%, rgba(225, 177, 41, 0.3) 50%, transparent 70%) border-box;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu:hover {
    background: 
        linear-gradient(rgba(225, 177, 41, 0.15), rgba(225, 177, 41, 0.1)) padding-box,
        linear-gradient(135deg, rgba(225, 177, 41, 0.6), rgba(225, 177, 41, 0.3), rgba(225, 177, 41, 0.6)) border-box;
    background-size: 200% 200%;
    animation: borderGradient 3s ease infinite;
}

@keyframes borderGradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Text glow effect on hover */
.right-ticket-menu-dropdown .elementor-item.has-submenu:hover {
    color: #E1B129 !important;
    text-shadow: 0 0 10px rgba(225, 177, 41, 0.5);
}

/* Enhanced arrow animation */
.right-ticket-menu-dropdown .elementor-item.has-submenu:hover .sub-arrow {
    transform: rotate(180deg) scale(1.2);
    filter: drop-shadow(0 0 5px rgba(225, 177, 41, 0.5));
}

/* Ripple effect on click */
.right-ticket-menu-dropdown .elementor-item.has-submenu {
    position: relative;
    overflow: hidden;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(225, 177, 41, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu:active::after {
    width: 300px;
    height: 300px;
}

/* ===== END ENHANCED HOVER EFFECTS ===== */

/* Main menu item hover - keep text visible */
.right-ticket-menu-dropdown .elementor-item:hover {
    background: rgba(225, 177, 41, 0.15) !important;
    color: #E1B129 !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(225, 177, 41, 0.2);
}

/* Dropdown arrow styling - fixed size and visibility */
.right-ticket-menu-dropdown .sub-arrow {
    margin-left: 8px;
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.right-ticket-menu-dropdown .elementor-item:hover .sub-arrow {
    transform: rotate(180deg);
}

/* Fixed arrow icon size and visibility */
.right-ticket-menu-dropdown .sub-arrow .e-font-icon-svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
    color: currentColor !important;
    transition: all 0.3s ease;
}

/* Ensure arrow stays visible during and after rotation */
.right-ticket-menu-dropdown .elementor-item .sub-arrow .e-font-icon-svg {
    color: #fff !important;
    fill: #fff !important;
}

.right-ticket-menu-dropdown .elementor-item:hover .sub-arrow .e-font-icon-svg {
    color: #E1B129 !important;
    fill: #E1B129 !important;
}

/* Fix for text color staying visible on hover */
.right-ticket-menu-dropdown .elementor-item:hover,
.right-ticket-menu-dropdown .elementor-item:hover .sub-arrow,
.right-ticket-menu-dropdown .elementor-item:hover .sub-arrow .e-font-icon-svg {
    color: #ffffff  !important;
    fill: #ffffff  !important;
}

/* List icons css */
/* .sacramento-list-area .elementor-icon-list-items.elementor-inline-items {
    display: flex;
    justify-content: center;
    gap: 10px;
} */

/* Dropdown menu styling */
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 220px;
    background: rgba(0, 0, 0, 0.95) !important;
    border-radius: 10px !important;
    padding: 10px 0 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
    border: 1px solid rgba(225, 177, 41, 0.2) !important;
    backdrop-filter: blur(10px);
    animation: dropdownFadeIn 0.25s ease-out;
    z-index: 1001;
}

.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item {
    margin: 0;
    width: 100%;
    animation: itemFadeIn 0.2s ease-out both;
}

.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(1) {
    animation-delay: 0.03s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(2) {
    animation-delay: 0.06s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(3) {
    animation-delay: 0.09s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(4) {
    animation-delay: 0.12s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(5) {
    animation-delay: 0.15s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(6) {
    animation-delay: 0.18s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(7) {
    animation-delay: 0.21s;
}
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item:nth-child(8) {
    animation-delay: 0.24s;
}

.right-ticket-menu-dropdown .elementor-sub-item {
    color: #fff !important;
    text-decoration: none;
    padding: 12px 20px !important;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    overflow: hidden;
    width: 100%;
    justify-content: flex-start;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
    background: transparent !important;
    font-size: 14px;
    font-weight: 500;
}

.right-ticket-menu-dropdown .elementor-sub-item:last-child {
    border-bottom: none;
}

.right-ticket-menu-dropdown .elementor-sub-item:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: #E1B129;
    transform: scaleY(0);
    transition: transform 0.2s ease;
}

.right-ticket-menu-dropdown .elementor-sub-item:hover {
    background: rgba(225, 177, 41, 0.1) !important;
    color: #E1B129 !important;
    padding-left: 28px !important;
}

.right-ticket-menu-dropdown .elementor-sub-item:hover:before {
    transform: scaleY(1);
}

/* Mobile responsive styles */
@media (max-width: 1024px) {
    .right-ticket-menu-dropdown .elementor-nav-menu--dropdown {
        position: static;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        padding: 0 !important;
        margin: 0;
        box-shadow: none;
        border: none !important;
        border-left: 4px solid transparent;
        transition: all 0.4s ease-out !important;
        background: transparent !important;
        border-radius: 0;
    }
    
    .right-ticket-menu-dropdown .elementor-nav-menu--dropdown[aria-hidden="false"] {
        max-height: 5000px !important;
        padding: 0 !important;
        border-left-color: #E1B129;
        margin: 15px 0 0 0;
        background: rgba(0, 0, 0, 0.7) !important;
        border-radius: 8px;
        animation: dropdownFadeIn 0.4s ease-out;
    }
    
    .right-ticket-menu-dropdown .elementor-sub-item {
        padding: 12px 15px 12px 10px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        font-size: 16px;
        font-weight: 500;
    }
    
    .right-ticket-menu-dropdown .elementor-sub-item:hover {
        padding-left: 50px !important;
    }
    
    .right-ticket-menu-dropdown .elementor-item {
        justify-content: space-between;
        border-radius: 10px;
        padding: 15px 8px!important;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.15);
        font-size: 17px;
        font-weight: 600;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }
    
    .right-ticket-menu-dropdown .elementor-item:hover {
        background: rgba(225, 177, 41, 0.25) !important;
        color: #E1B129 !important;
        transform: translateX(8px);
        box-shadow: 0 6px 20px rgba(225, 177, 41, 0.3);
        border-color: rgba(225, 177, 41, 0.4);
    }
    
    /* Mobile arrow fixes */
    .right-ticket-menu-dropdown .elementor-item:hover .sub-arrow .e-font-icon-svg {
        color: #E1B129 !important;
        fill: #E1B129 !important;
    }
}

.gform-theme--foundation .gform_fields {
    grid-column-gap: unset;
    -moz-column-gap: unset;
    column-gap: unset;
    display: unset;
    grid-template-columns: unset;
    grid-template-rows: unset;
    inline-size: unset;
}

/* Desktop hover effects */
@media (min-width: 1025px) {
    .right-ticket-menu-dropdown .menu-item:hover .elementor-nav-menu--dropdown {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }
    
    .right-ticket-menu-dropdown .elementor-nav-menu--dropdown {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-5px);
        transition: all 0.25s ease-out;
        display: block !important;
    }
    
    /* Ensure dropdown stays open when hovering over it */
    .right-ticket-menu-dropdown .elementor-nav-menu--dropdown:hover {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }
}

/* Animations */
@keyframes dropdownFadeIn {
    0% {
        opacity: 0;
        transform: translateY(-8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes itemFadeIn {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Ensure proper z-index and positioning */
.right-ticket-menu-dropdown {
    position: relative;
    z-index: 999;
}

.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .elementor-sub-item {
    border: none !important;
    margin: 0 !important;
}

/* Remove default Elementor styles that might conflict */
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown,
.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .sub-menu {
    min-width: auto !important;
    width: 100% !important;
}

.right-ticket-menu-dropdown .elementor-nav-menu--dropdown .menu-item {
    width: 100% !important;
    display: block !important;
}

/* Force text color to stay visible */
.right-ticket-menu-dropdown .elementor-item,
.right-ticket-menu-dropdown .elementor-item:focus,
.right-ticket-menu-dropdown .elementor-item:active,
.right-ticket-menu-dropdown .elementor-item:hover {
    color: #fff !important;
}

.right-ticket-menu-dropdown .elementor-item:hover {
    color: #E1B129 !important;
}

/* Specific fixes for arrow icon visibility */
.right-ticket-menu-dropdown .has-submenu .sub-arrow {
    opacity: 1 !important;
    visibility: visible !important;
}

.right-ticket-menu-dropdown .has-submenu:hover .sub-arrow {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure the entire menu item including text and arrow work together */
.right-ticket-menu-dropdown .elementor-item.has-submenu {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu:hover {
    color: #fff !important;
}

.right-ticket-menu-dropdown .elementor-item.has-submenu:hover .sub-arrow {
    color: #fff !important;
}

/* Fix for any potential theme conflicts */
.right-ticket-menu-dropdown * {
    box-sizing: border-box;
}

/* Additional specificity to override Elementor defaults */
body .right-ticket-menu-dropdown .elementor-item,
body .right-ticket-menu-dropdown .elementor-item:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    /* border: 1px solid rgba(255, 255, 255, 0.1) !important; */
}

body .right-ticket-menu-dropdown .elementor-item:hover {
    background: rgba(225, 177, 41, 0.15) !important;
    /* border-color: rgba(225, 177, 41, 0.3) !important; */
}

@media (max-width: 1024px) {
    .ticket-book-menu {
        z-index: -1;
    }
    .ticket-book-menu .right-ticket-menu-dropdown {
        background: transparent !important;
        border: 0px solid rgba(225, 177, 41, 0.2) !important;
    }
}





/* ===== 17. FILTERABLE GALLERY STYLES ===== */
/* Filterable gallery */
/* Filterable Gallery Button Styles */
.filterable-gallery-video-image .eael-filter-gallery-control .control {
    /* Base button styling */
    background-color: #e1b129;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 12px 30px;
    border-radius: 50px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(225, 177, 41, 0.3);
    
    /* Remove default list styles */
    list-style: none;
    display: inline-block;
    text-align: center;
    
    /* Ensure proper tabindex behavior */
    outline: none;
    border-radius: 10px !important;
}

/* Active state styling */
.filterable-gallery-video-image .eael-filter-gallery-control .control.active {
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%) !important;
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(12, 30, 127, 0.4);
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.3);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Hover effects for non-active buttons */
.filterable-gallery-video-image .eael-filter-gallery-control .control:not(.active):hover {
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%) !important;
    color: #ffffff;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(12, 30, 127, 0.5);
    border-color: rgba(255, 255, 255, 0.3);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Shine effect on hover */
.filterable-gallery-video-image .eael-filter-gallery-control .control::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important;
    transition: left 0.6s ease;
    z-index: 1;
}

.filterable-gallery-video-image .eael-filter-gallery-control .control:hover::before {
    left: 100%;
}

/* Focus state for accessibility */
.filterable-gallery-video-image .eael-filter-gallery-control .control:focus {
    outline: 0px solid rgba(225, 177, 41, 0.5);
    outline-offset: 0px;
}

.filterable-gallery-video-image .eael-filter-gallery-control .control.active:focus {
    outline: 0px solid rgba(255, 255, 255, 0.5);
}

/* Active state transition */
.filterable-gallery-video-image .eael-filter-gallery-control .control.active {
    transition: all 0.3s ease;
}

/* Click animation */
.filterable-gallery-video-image .eael-filter-gallery-control .control:active {
    transform: translateY(0) scale(0.98);
    transition: transform 0.1s ease;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .filterable-gallery-video-image .eael-filter-gallery-control .control {
        padding: 10px 20px;
        font-size: 12px;
        letter-spacing: 1px;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .filterable-gallery-video-image .eael-filter-gallery-control .control {
        width: auto;
        padding: 12px 20px;
    }
}

/* Load More Button Styles */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more {
    background-color: #e1b129;
    color: #1a1a2e;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.5em;
    padding: 15px 40px;
    border-radius: 50px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(225, 177, 41, 0.4);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    outline: none;
    text-decoration: none;
    border-radius: 10px !important;
    margin-top: 15px;
}

/* Hover state transformations */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more:hover {
    /* Gradient background on hover */
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%);
    
    /* Enhanced shadow effect */
    box-shadow: 0 10px 25px rgba(12, 30, 127, 0.5);
    
    /* Scale up slightly */
    transform: translateY(-5px) scale(1.05);
    
    /* Text color change */
    color: #ffffff;
    
    /* Border color transition */
    border-color: rgba(255, 255, 255, 0.3);
    
    /* Add text shadow for better readability */
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Shine effect on hover */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.7s ease;
    z-index: 1;
}

.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more:hover::before {
    left: 100%;
}

/* Icon animation on hover */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more:hover .eael-filterable-gallery-load-more-icon {
    /* Move icon with bounce effect */
    transform: translateX(4px) scale(1.2);
    
    /* Smooth transition */
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Focus state for accessibility */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more:focus {
    background-image: linear-gradient(200deg, #0c1e7f 0%, #612897 100%);
    box-shadow: 0 0 0 4px rgba(225, 177, 41, 0.5);
    outline: none;
    color: #ffffff;
}

/* Icon styling and transition */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-filterable-gallery-load-more-icon {
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    display: inline-flex;
    align-items: center;
}

/* Text element transition */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-filterable-gallery-load-more-text {
    transition: all 0.4s ease;
}

/* Optional: Text slight movement on hover */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more:hover .eael-filterable-gallery-load-more-text {
    letter-spacing: 3px;
}

/* Active state click effect */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more:active {
    transform: translateY(0) scale(0.98);
    transition: transform 0.1s ease;
}

/* Loading state styles */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more.loading {
    background-color: #f0f0f0;
    color: #666;
    cursor: not-allowed;
    transform: none;
}

.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more.loading:hover {
    background-color: #f0f0f0;
    color: #666;
    transform: none;
    box-shadow: 0 5px 15px rgba(225, 177, 41, 0.4);
}

/* Loader animation */
.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-btn-loader {
    display: none;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more.loading .eael-btn-loader {
    display: inline-block;
}

.filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more.loading .eael-filterable-gallery-load-more-text {
    margin-right: 8px;
}

.imaginarium360_calendar_ticket_pricing_toggle,
.imaginarium360_calendar_ticket_pricing_toggle:hover,
.imaginarium360_calendar_ticket_pricing_toggle:active,
.imaginarium360_calendar_ticket_pricing_toggle:disable {
    background: transparent !important;
}

/* #main-header  .e-font-icon-svg{display:none} */

.gds-body a.event-ticket-link {
    background: var(--primary-color);
    color: var(--text-dark);
    text-decoration: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    transition: var(--transition);
    margin-top: 1.5rem;
}

.gds-body a.event-ticket-link:hover {
    background: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(225, 177, 41, 0.4);
}

/* Loader animation keyframes */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more {
        padding: 12px 30px;
        font-size: 13px;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .filterable-gallery-video-image .eael-filterable-gallery-loadmore .eael-gallery-load-more {
        padding: 12px 25px;
        font-size: 12px;
        letter-spacing: 1px;
    }
}

@media (max-width: 767px) {
    .hero-video .elementor-widget-text-editor p {
        margin-block-end: 0 !important;
    }
    .imaginarium360_calendar_wrapper {
        margin: 1rem auto;
    }
    .imaginarium360_calendar_controls {
        padding: 1rem 1rem;
    }
    .imaginarium360_calendar_nav {
        display: flex;
        gap: 0rem;
        justify-content: space-evenly;
    }
    
    .gds-block-data-icon img {
        padding: 0;
        border-radius: 15px !important;
    }
}

@media (max-width: 768px) {
    .gds-block-data-icon {
        width: 100%;
        height: auto;
        text-align: left;
        align-items: start;
        display: block;
    }
}

@media (max-width: 480px) {
    .imaginarium360_calendar_event_list_content {
        padding: .5rem;
    }
}





/* ===== 18. GRAVITY FORMS STYLES ===== */
/* =============================================
   GRAVITY FORMS GLOBAL STYLES
   Dark Theme - Optimized for Black Backgrounds
   ============================================= */

/* Form Container & Layout
   ====================== */
.gform_body,
.gform_footer {
    font-family: "Nunito Sans", Sans-serif;
    font-weight: 400;
    color: #e0e0e0 !important;
}

.gform_body {
    margin-bottom: 2rem !important;
}

/* Field Groups & Layout
   ==================== */
.gfield {
    margin-bottom: 0rem !important;
    position: relative !important;
}

/* Required Field Indicators
   ======================== */
.gfield_required {
    color: #ff6b6b !important;
    margin-left: 0.25rem !important;
}

.gfield_required_text {
    font-size: 0.875rem !important;
    font-weight: normal !important;
    opacity: 0.8 !important;
}

/* Labels & Typography
   ================== */
.gfield_label {
    display: block !important;
    font-weight: 400 !important;
    margin-bottom: 0.5rem !important;
    color: #ffffff !important;
    font-size: 16px !important;
}

.gform-field-label--type-sub {
    font-size: 0.875rem !important;
    color: #b0b0b0 !important;
    margin-bottom: 0.25rem !important;
    display: block !important;
}

/* Section Headers
   ============== */
.gsection {
    border-bottom: 2px solid #333 !important;
    padding-bottom: 1rem !important;
    margin: 2rem 0 1.5rem 0 !important;
}

.gsection_title {
    color: #ffffff !important;
    font-size: 16px !important;
    margin: 0 0 0.5rem 0 !important;
    font-weight: 400 !important;
}

.gsection_description {
    color: #b0b0b0 !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
}

/* Form Inputs - Base Styles
   ======================== */
.ginput_container input[type="text"],
.ginput_container input[type="email"],
.ginput_container input[type="tel"],
.ginput_container select,
.ginput_container textarea {
    width: 100% !important;
    /* padding: 1.5rem 1rem !important; */
    background: #1a1a1a !important;
    border: 2px solid #333 !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-size: 14px  !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    height: 52px;
    line-height: 48px !important;
}

/* Input Focus States
   ================= */
.ginput_container input:focus,
.ginput_container select:focus,
.ginput_container textarea:focus {
    outline: none !important;
    border-color: #E1B129 !important;
    background: #2a2a2a !important;
    box-shadow: 0 0 0 3px rgba(77, 144, 254, 0.1) !important;
}

/* Placeholder Styling
   ================== */
.ginput_container input::placeholder,
.ginput_container textarea::placeholder {
    color: #666 !important;
    opacity: 1 !important;
}

/* Select Dropdown Specific Styles
   ============================== */
.ginput_container_select select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 16px !important;
    padding-right: 3rem !important;
}

/* Textarea Specific Styles
   ======================= */
.ginput_container_textarea textarea {
    min-height: 120px !important;
    resize: vertical !important;
    line-height: 1.5 !important;
}

/* Complex/Grid Fields (Name, Email, etc.)
   ====================================== */
.ginput_complex {
    display: flex !important;
    flex-wrap: wrap !important;
}

.ginput_complex .gform-grid-col {
    flex: 1 !important;
    min-width: 200px !important;
}

/* Name Field Specific Layout */
.gf_name_has_2 .gform-grid-col {
    flex: 1 !important;
    min-width: 150px !important;
}

/* Submit Button
   ============ */
.gform_button {
    width: 100% !important;
    padding: 1rem 2rem !important;
    background: #e1b129 !important;
    color: white !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.gform_button:hover {
    background: #e1b129 !important;
    transform: translateY(-1px) !important;
}

.gform_button:active {
    transform: translateY(0) !important;
}

html body .elementor-159 .elementor-element.elementor-element-e9b2ed2 .eael-gravity-form .gform_footer input[type="submit"] {
    width: 150px !important;
}

/* CAPTCHA & reCAPTCHA Styling
   ========================== */
.ginput_recaptcha {
    margin: 1rem 0 !important;
}

/* Hidden Fields & Conditional Logic
   ================================ */
.gfield_visibility_hidden,
[data-conditional-logic="hidden"] {
    display: none !important;
}

/* Field Validation States (Base)
   ============================= */
.gfield_error .gfield_label {
    color: #ff6b6b !important;
}

.gfield_error input,
.gfield_error select,
.gfield_error textarea {
    border-color: #ff6b6b !important;
    background: #2a1a1a !important;
}

/* Responsive Design
   ================ */
@media (max-width: 768px) {
    .ginput_complex {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }
    
    .ginput_complex .gform-grid-col {
        min-width: 100% !important;
    }
    
    .gform_button {
        padding: 0.875rem 1.5rem !important;
        font-size: 1rem !important;
    }
}

/* High Contrast Mode Support
   ========================= */
@media (prefers-contrast: high) {
    .ginput_container input[type="text"],
    .ginput_container input[type="email"],
    .ginput_container input[type="tel"],
    .ginput_container select,
    .ginput_container textarea {
        border-color: #ffffff !important;
        background: #000000 !important;
    }
    
    .gfield_label {
        color: #ffffff !important;
    }
}

.gsection {
    margin: 0rem 0 1.5rem 0!important;
}

/* Reduced Motion Support
   ===================== */
@media (prefers-reduced-motion: reduce) {
    .ginput_container input,
    .ginput_container select,
    .ginput_container textarea,
    .gform_button {
        transition: none !important;
    }
    
    .gform_button:hover {
        transform: none !important;
    }
}

/* Print Styles
   =========== */
@media print {
    .ginput_recaptcha,
    .gform_footer {
        display: none !important;
    }
    
    .ginput_container input[type="text"],
    .ginput_container input[type="email"],
    .ginput_container input[type="tel"],
    .ginput_container select,
    .ginput_container textarea {
        background: transparent !important;
        border: 1px solid #000 !important;
        color: #000 !important;
    }
}

.gfield {
    margin-bottom: 0rem!important;
    position: relative!important;
}





/* ===== 19. FAQ ACCORDION STYLES ===== */
/* =============================================
   MODERN FAQ ACCORDION STYLES
   Premium & Eye-catching Design
   ============================================= */

.e-n-accordion {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

/* Glass Morphism Accordion Item */
.e-n-accordion-item {
    background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 100%);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 10px;
    margin-bottom: 20px;
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255,255,255,0.6);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow: hidden;
    position: relative;
}

.e-n-accordion-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent);
}

.e-n-accordion-item:hover {
    transform: translateY(-5px);
    box-shadow: 
        0 15px 40px rgba(99, 102, 241, 0.15),
        0 5px 15px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255,255,255,0.8);
    border-color: rgba(99, 102, 241, 0.3);
}

.e-n-accordion-item[open] {
    /* background: linear-gradient(135deg, rgba(99, 102, 241, 0.05) 0%, rgba(255,255,255,0.9) 100%); */
    border-color: rgba(99, 102, 241, 0.4);
    box-shadow: 
        0 20px 50px rgba(99, 102, 241, 0.2),
        inset 0 1px 0 rgba(255,255,255,0.8);
}

/* Premium Header */
.e-n-accordion-item-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 30px;
    background: transparent;
    cursor: pointer;
    list-style: none;
    transition: all 0.4s ease;
    position: relative;
}

.e-n-accordion-item-title:hover {
    background: rgba(99, 102, 241, 0.02);
}

.e-n-accordion-item-title:focus {
    outline: none;
    background: rgba(99, 102, 241, 0.05);
}

/* Remove default marker */
.e-n-accordion-item-title::-webkit-details-marker {
    display: none;
}

/* Elegant Title Text */
.e-n-accordion-item-title-header {
    flex: 1;
    margin-right: 25px;
}

.e-n-accordion-item-title-text {
    font-size: 19px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.4;
    transition: all 0.3s ease;
    letter-spacing: -0.01em;
    background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.e-n-accordion-item-title:hover .e-n-accordion-item-title-text {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.e-n-accordion-item[open] .e-n-accordion-item-title-text {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Luxury Icon Design */
.e-n-accordion-item-title-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px !important;
    height: 32px;
    border-radius: 8px;
    background: #f1f5f9;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
}

.e-n-accordion-item-title-icon::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    transition: left 0.6s;
}

.e-n-accordion-item-title:hover .e-n-accordion-item-title-icon::before {
    left: 100%;
}

.e-n-accordion-item-title:hover .e-n-accordion-item-title-icon {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.4);
}

/* Icons */
.e-n-accordion-item-title-icon svg {
    width: 18px;
    height: 18px;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.e-n-accordion-item-title-icon .e-closed {
    display: block;
}

.e-n-accordion-item-title-icon .e-opened {
    display: none;
}

/* Open state icon magic */
.e-n-accordion-item[open] .e-n-accordion-item-title-icon {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    transform: scale(1.1) rotate(180deg);
    box-shadow: 0 10px 30px rgba(99, 102, 241, 0.5);
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-closed {
    display: none;
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened {
    display: block;
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon svg {
    filter: drop-shadow(0 2px 8px rgba(255,255,255,0.3));
}

/* Premium Content Area */
.e-n-accordion-item > div[role="region"] {
    background: transparent;
    border-top: 1px solid rgba(99, 102, 241, 0.1);
    padding: 0;
    animation: premiumSlideDown 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Inner content container */
.e-n-accordion-item .e-con-full {
    padding: 20px !important;
    background: rgba(255,255,255,0.5);
    backdrop-filter: blur(10px);
    gap: 10px;
    display: block;
}

/* Content Text Styles */
.e-n-accordion-item .elementor-widget-text-editor {
    margin-bottom: 0;
}

.e-n-accordion-item .elementor-widget-text-editor p {
    margin: 0 0 20px 0;
    font-size: 16px;
    line-height: 1.7;
    color: #4b5563;
    font-weight: 500;
}

.e-n-accordion-item .elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

/* Premium Links */
.e-n-accordion-item a {
    color: #6366f1;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    padding: 4px 8px;
    border-radius: 6px;
    margin: 0 -8px;
    display: block;
    position: relative;
}

.e-n-accordion-item a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 8px;
    right: 8px;
    height: 2px;
    background: linear-gradient(90deg, #6366f1, #8b5cf6);
    transform: scaleX(0);
    transition: transform 0.3s ease;
    border-radius: 2px;
}

.e-n-accordion-item a:hover {
    color: #8b5cf6;
    background: rgba(99, 102, 241, 0.05);
    transform: translateY(-1px);
}

.e-n-accordion-item a:hover::before {
    transform: scaleX(1);
}

/* Elegant Dividers */
.e-n-accordion-item .elementor-divider {
    margin: 5px 0;
}

.e-n-accordion-item .elementor-divider-separator {
    border-top: 1px solid;
    border-image: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.3), transparent) 1;
    width: 100%;
}

/* Premium Animations */
@keyframes premiumSlideDown {
    from {
        opacity: 0;
        transform: translateY(-15px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Floating particles effect */
.e-n-accordion-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(99, 102, 241, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.e-n-accordion-item:hover::after {
    opacity: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
    .e-n-accordion-item-title {
        padding: 20px 24px;
    }
    
    .e-n-accordion-item-title-text {
        font-size: 17px;
    }
    
    .e-n-accordion-item .e-con-full {
        padding: 24px !important;
    }
    
    .e-n-accordion-item-title-icon {
        width: 40px;
        height: 40px;
    }
    
    .e-n-accordion-item-title-icon svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 480px) {
    .e-n-accordion-item-title {
        padding: 18px 20px;
    }
    
    .e-n-accordion-item-title-header {
        margin-right: 20px;
    }
    
    .e-n-accordion-item-title-text {
        font-size: 16px;
    }
    
    .e-n-accordion-item .e-con-full {
        padding: 20px !important;
    }
    
    .e-n-accordion-item-title-icon {
        width: 36px;
        height: 36px;
    }
}

/* Dark Theme Excellence */
@media (prefers-color-scheme: dark) {
    .e-n-accordion-item {
        background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(15, 23, 42, 0.7) 100%);
        border: 1px solid rgba(255,255,255,0.1);
        box-shadow: 
            0 8px 32px rgba(0, 0, 0, 0.3),
            inset 0 1px 0 rgba(255,255,255,0.1);
    }
    
    .e-n-accordion-item-title-text {
        background: linear-gradient(135deg, #f1f5f9 0%, #cbd5e1 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    
    .e-n-accordion-item .e-con-full {
        background: rgba(30, 41, 59, 0.6);
    }
    
    .e-n-accordion-item .elementor-widget-text-editor p {
        color: #cbd5e1;
    }
}

/* Add some 3D depth on hover */
.e-n-accordion-item {
    perspective: 1000px;
}

.e-n-accordion-item:hover {
    transform: translateY(-5px) rotateX(2deg);
}

/* Loading animation for initial load */
.e-n-accordion-item {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Stagger animation for multiple items */
.e-n-accordion-item:nth-child(1) {
    animation-delay: 0.1s;
}
.e-n-accordion-item:nth-child(2) {
    animation-delay: 0.2s;
}
.e-n-accordion-item:nth-child(3) {
    animation-delay: 0.3s;
}
.e-n-accordion-item:nth-child(4) {
    animation-delay: 0.4s;
}
.e-n-accordion-item:nth-child(5) {
    animation-delay: 0.5s;
}










/* ===== Lakewood Utopia header css ===== */
header .lakewood-utopia-header{background: transparent !important;box-shadow: 0 0px 0px rgba(0, 0, 0, 0.05); !important}
header .lakewood-utopia-header.scrolled {
    background: #000 !important;
}
header .lakewood-utopia-header
.imaginarium360_buy_btn {
    padding: 12px 15px !important;
    background-color: #E1B129;
    background-image: linear-gradient(
269deg, #4C00BE 0%, #5C2895 100%) !important;
    border-radius: 50px !important;
}

.utopia-ticket-location {
    /* Transparent background with slight tint */
    background-color: rgba(255, 255, 255, 0.1);
    
    /* Blur effect */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    
    /* Optional: add some styling */
    border-radius: 8px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}













/* ===== 20. BLOG GRID STYLES ===== */
/* Main blog grid container */
.archives-blog-grid .elementor-posts-container {
    gap: 40px !important;
}

/* Individual blog post cards */
.archives-blog-grid .elementor-post {
    background: #000000;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(225, 177, 41, 0.1);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    border: 1px solid rgba(225, 177, 41, 0.15);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.archives-blog-grid .elementor-post:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(225, 177, 41, 0.25);
    border-color: rgba(225, 177, 41, 0.3);
}

/* Thumbnail styling */
.archives-blog-grid .elementor-post__thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    margin-bottom: 0;
}

.archives-blog-grid .elementor-post__thumbnail img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.archives-blog-grid .elementor-post:hover .elementor-post__thumbnail img {
    /* transform: scale(1.08); */
}

/* Gold accent border on top */
.archives-blog-grid .elementor-post::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #e1b129, #ffd95a);
    z-index: 2;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.archives-blog-grid .elementor-post:hover::before {
    opacity: 1;
}

/* Text content container */
.archives-blog-grid .elementor-post__text {
    padding: 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: #000000;
}

/* Post title */
.archives-blog-grid .elementor-post__title {
    margin: 0 0 15px 0;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 700;
}

.archives-blog-grid .elementor-post__title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
}

.archives-blog-grid .elementor-post__title a:hover {
    color: #e1b129;
}

/* Meta data styling */
.archives-blog-grid .elementor-post__meta-data {
    margin-bottom: 18px;
    font-size: 0.9rem;
    color: #b0b0b0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(225, 177, 41, 0.15);
}

.archives-blog-grid .elementor-post-author,
.archives-blog-grid .elementor-post-date,
.archives-blog-grid .elementor-post-avatar {
    color: #b0b0b0;
    position: relative;
}

.archives-blog-grid .elementor-post-author::before {
    content: '👤';
    margin-right: 5px;
    opacity: 0.7;
}

.archives-blog-grid .elementor-post-date::before {
    content: '📅';
    margin-right: 5px;
    opacity: 0.7;
}

.archives-blog-grid .elementor-post-avatar::before {
    content: '💬';
    margin-right: 5px;
    opacity: 0.7;
}

/* Excerpt styling */
.archives-blog-grid .elementor-post__excerpt {
    color: #d0d0d0;
    line-height: 1.7;
    margin-bottom: 20px;
    flex-grow: 1;
    font-size: 1rem;
}

.archives-blog-grid .elementor-post__excerpt p {
    margin: 0;
    color: #d0d0d0;
}

/* Read More button */
.archives-blog-grid .elementor-post__read-more {
    display: inline-flex;
    align-items: center;
    color: #e1b129;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    padding: 10px 0;
    border-top: 1px solid rgba(225, 177, 41, 0.15);
    margin-top: auto;
}

.archives-blog-grid .elementor-post__read-more:hover {
    color: #ffd95a;
    letter-spacing: 0.5px;
}

/* .archives-blog-grid .elementor-post__read-more::after {
    content: '→';
    margin-left: 8px;
    transition: transform 0.3s ease;
} */

.archives-blog-grid .elementor-post__read-more:hover::after {
    transform: translateX(5px);
}

/* Pagination styling */
.archives-blog-grid .elementor-pagination {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid rgba(225, 177, 41, 0.15);
}

.archives-blog-grid .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    margin: 0 5px;
    background: rgba(255, 255, 255, 0.05);
    color: #b0b0b0;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 1px solid rgba(225, 177, 41, 0.1);
}

.archives-blog-grid .page-numbers:hover {
    background: rgba(225, 177, 41, 0.2);
    color: #ffffff;
    border-color: rgba(225, 177, 41, 0.3);
}

.archives-blog-grid .page-numbers.current {
    background: #e1b129;
    color: #000000;
    border-color: #e1b129;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .archives-blog-grid .elementor-post__thumbnail img {
        height: 200px;
    }
    
    .archives-blog-grid .elementor-post__text {
        padding: 20px;
    }
    
    .archives-blog-grid .elementor-post__title {
        font-size: 1.3rem;
    }
}

@media (max-width: 768px) {
    .archives-blog-grid .elementor-posts-container {
        gap: 30px !important;
    }
    
    .archives-blog-grid .elementor-post__thumbnail img {
        height: 180px;
    }
    
    .archives-blog-grid .elementor-post__text {
        padding: 18px;
    }
    
    .archives-blog-grid .elementor-post__title {
        font-size: 1.2rem;
    }
    
    .archives-blog-grid .elementor-post__excerpt {
        font-size: 0.95rem;
    }
}

/* Animation for post entry */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.archives-blog-grid .elementor-post {
    animation: fadeInUp 0.6s ease forwards;
}

/* Stagger the animation for grid items */
.archives-blog-grid .elementor-post:nth-child(1) {
    animation-delay: 0s;
}
.archives-blog-grid .elementor-post:nth-child(2) {
    animation-delay: 0.1s;
}
.archives-blog-grid .elementor-post:nth-child(3) {
    animation-delay: 0.2s;
}
.archives-blog-grid .elementor-post:nth-child(4) {
    animation-delay: 0.3s;
}

/* Category badge (if you want to add one) */
.archives-blog-grid .elementor-post::after {
    content: 'News';
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(225, 177, 41, 0.9);
    color: #000000;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 3;
}

/* Main sidebar blog grid container */
.archives-blog-grid-sidebar .elementor-posts-container {
    gap: 25px !important;
}

/* Individual sidebar blog post cards */
.archives-blog-grid-sidebar .elementor-post {
    background: #000000;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(225, 177, 41, 0.08);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    border: 1px solid rgba(225, 177, 41, 0.1);
    display: flex;
    align-items: flex-start;
    padding: 15px;
    gap: 15px;
}

.archives-blog-grid-sidebar .elementor-post:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(225, 177, 41, 0.15);
    border-color: rgba(225, 177, 41, 0.25);
}

/* Thumbnail styling for sidebar */
.archives-blog-grid-sidebar .elementor-post__thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    flex-shrink: 0;
    width: 100px;
    height: 75px;
    margin: 0;
}

.archives-blog-grid-sidebar .elementor-post__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.archives-blog-grid-sidebar .elementor-post:hover .elementor-post__thumbnail img {
    transform: scale(1.05);
}

/* Gold accent dot indicator */
.archives-blog-grid-sidebar .elementor-post::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background: linear-gradient(45deg, #e1b129, #ffd95a);
    border-radius: 50%;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.archives-blog-grid-sidebar .elementor-post:hover::before {
    opacity: 1;
}

/* Text content container for sidebar */
.archives-blog-grid-sidebar .elementor-post__text {
    padding: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: transparent;
    min-width: 0; /* Allows text to shrink properly */
}

/* Post title for sidebar */
.archives-blog-grid-sidebar .elementor-post__title {
    margin: 0 0 8px 0;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 600;
}

.archives-blog-grid-sidebar .elementor-post__title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.archives-blog-grid-sidebar .elementor-post__title a:hover {
    color: #e1b129;
}

/* Meta data styling for sidebar */
.archives-blog-grid-sidebar .elementor-post__meta-data {
    margin-bottom: 10px;
    font-size: 0.8rem;
    color: #b0b0b0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(225, 177, 41, 0.1);
}

.archives-blog-grid-sidebar .elementor-post-date {
    color: #b0b0b0;
    position: relative;
    font-size: 0.75rem;
}

.archives-blog-grid-sidebar .elementor-post-date::before {
    content: '📅';
    margin-right: 4px;
    opacity: 0.7;
    font-size: 0.7rem;
}

/* Remove excerpt from sidebar to save space */
.archives-blog-grid-sidebar .elementor-post__excerpt {
    display: none;
}

/* Read More button for sidebar */
.archives-blog-grid-sidebar .elementor-post__read-more {
    display: inline-flex;
    align-items: center;
    color: #e1b129;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    padding-top: 8px;
    margin-top: auto;
    align-self: flex-start;
}

.archives-blog-grid-sidebar .elementor-post__read-more:hover {
    color: #ffd95a;
}

.archives-blog-grid-sidebar .elementor-post__read-more::after {
    content: '→';
    margin-left: 5px;
    transition: transform 0.3s ease;
    font-size: 0.9rem;
}

.archives-blog-grid-sidebar .elementor-post__read-more:hover::after {
    transform: translateX(3px);
}

/* Remove pagination from sidebar */
.archives-blog-grid-sidebar .elementor-pagination {
    display: none;
}

/* Responsive adjustments for sidebar */
@media (max-width: 1024px) {
    .archives-blog-grid-sidebar .elementor-post__thumbnail {
        width: 90px;
        height: 70px;
    }
    
    .archives-blog-grid-sidebar .elementor-post__title {
        font-size: 0.95rem;
    }
    
    .archives-blog-grid-sidebar .elementor-post__read-more {
        font-size: 0.8rem;
    }
}

@media (max-width: 768px) {
    .archives-blog-grid-sidebar .elementor-posts-container {
        gap: 20px !important;
    }
    
    .archives-blog-grid-sidebar .elementor-post {
        padding: 12px;
        gap: 12px;
    }
    
    .archives-blog-grid-sidebar .elementor-post__thumbnail {
        width: 80px;
        height: 60px;
    }
    
    .archives-blog-grid-sidebar .elementor-post__title {
        font-size: 0.9rem;
        -webkit-line-clamp: 3;
    }
    
    .archives-blog-grid-sidebar .elementor-post-date {
        font-size: 0.7rem;
    }
}

/* Tablet-specific adjustments */
@media (max-width: 768px) and (min-width: 481px) {
    .archives-blog-grid-sidebar.elementor-grid-tablet-2 .elementor-posts-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .archives-blog-grid-sidebar.elementor-grid-tablet-2 .elementor-post {
        flex-direction: column;
        padding: 15px;
    }
    
    .archives-blog-grid-sidebar.elementor-grid-tablet-2 .elementor-post__thumbnail {
        width: 100%;
        height: 120px;
        margin-bottom: 12px;
    }
    
    .archives-blog-grid-sidebar.elementor-grid-tablet-2 .elementor-post__title a {
        -webkit-line-clamp: 2;
    }
}

/* Mobile-specific adjustments */
@media (max-width: 480px) {
    .archives-blog-grid-sidebar.elementor-grid-mobile-1 .elementor-post {
        flex-direction: row;
        padding: 15px;
    }
    
    .archives-blog-grid-sidebar.elementor-grid-mobile-1 .elementor-post__thumbnail {
        width: 80px;
        height: 60px;
    }
}

/* Animation for sidebar post entry */
@keyframes fadeInSidebar {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.archives-blog-grid-sidebar .elementor-post {
    animation: fadeInSidebar 0.4s ease forwards;
}

/* Stagger the animation for sidebar items */
.archives-blog-grid-sidebar .elementor-post:nth-child(1) {
    animation-delay: 0.1s;
}
.archives-blog-grid-sidebar .elementor-post:nth-child(2) {
    animation-delay: 0.2s;
}
.archives-blog-grid-sidebar .elementor-post:nth-child(3) {
    animation-delay: 0.3s;
}
.archives-blog-grid-sidebar .elementor-post:nth-child(4) {
    animation-delay: 0.4s;
}

/* Category badge for sidebar */
.archives-blog-grid-sidebar .elementor-post::after {
    content: 'News';
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(225, 177, 41, 0.9);
    color: #000000;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    z-index: 3;
    opacity: 0.9;
}

.archives-blog-grid-sidebar .elementor-widget-container article.elementor-post .elementor-post__thumbnail__link {
    width: 30%;
}





/* ===== 21. MAP BLOCK STYLES ===== */
/* ===== RESPONSIVE DESIGN ===== */

/* Tablet: 600px and up */
@media (min-width: 600px) {
    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-practical-info {
        padding: 1.25rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-item:nth-child(2) {
        grid-column: 1 / -1;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-highlight {
        grid-column: 1 / -1;
        margin-top: 0.75rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-section-header {
        margin-bottom: 1.25rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-emoji-large {
        width: 48px;
        height: 48px;
        font-size: 1.6rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-section-header h2 {
        font-size: 1.45rem;
    }
}

/* Desktop: 1024px and up */
@media (min-width: 1024px) {
    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-practical-info {
        padding: 1.5rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-item:nth-child(2) {
        grid-column: 2 / -1;
        grid-row: 1 / 3;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-highlight {
        grid-column: 1 / -1;
        margin-top: 1rem;
    }
}

/* Large Desktop: 1200px and up */
@media (min-width: 1200px) {
    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-practical-info {
        padding: 1.75rem;
    }
}

/* Small Mobile: 360px and below */
@media (max-width: 360px) {
    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-practical-info {
        padding: 0.875rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-item {
        padding: 0.625rem;
        gap: 0.625rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-emoji-large {
        width: 40px;
        height: 40px;
        font-size: 1.35rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-info-icon {
        width: 34px;
        height: 34px;
        font-size: 1.1rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-section-header {
        gap: 0.625rem;
        margin-bottom: 0.875rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-section-header h2 {
        font-size: 1.25rem;
    }

    .imaginarium360_map_block_parent .imaginarium360_map_block_parent-hours-detail {
        font-size: 0.8rem;
    }
}





/* ===== 22. AMBASSADOR FORM STYLES ===== */
/* Main wrapper styling from Codepen - using YOUR existing wrapper */
#become-ambassador-wrapper,
.become-ambassador-wrapper {
    --gradient-angle: 0deg;
    --rotateX: 0deg;
    --rotateY: 0deg;
    border-radius: 20px;
    border: 1px solid #865DFF;
    position: relative;
    /* Your gradient background - loads immediately */
    background-image: linear-gradient(180deg, var(--e-global-color-secondary) 0%, var(--e-global-color-7f20f40) 100%);
    padding: 50px;
    box-shadow: 0 0 20px #27253f;
    width: 100%;
    max-width: 800px; /* Adjust as needed */
    transition: 0.15s all;
    transform-style: preserve-3d;
    transform: perspective(5000px) rotateX(var(--rotateX)) rotateY(var(--rotateY));
    cursor: none; /* Hide default cursor for 3D effect */
    margin: 0 auto;
}

/* Conic gradient border from Codepen - KEEPING THE ANIMATED BORDER */
#become-ambassador-wrapper:before,
#become-ambassador-wrapper:after,
.become-ambassador-wrapper:before,
.become-ambassador-wrapper:after {
    content: '';
    border-radius: inherit;
    position: absolute;
    inset: -0.7rem;
    background: conic-gradient(
        from var(--gradient-angle),
        #865dff,
        #e384ff,
        #fff,
        #865dff,
        #e384ff,
        #fff,
        #865dff
    );
    animation: rotate 3s linear infinite;
    z-index: -1;
}

#become-ambassador-wrapper:after,
.become-ambassador-wrapper:after {
    transform: rotateX(0deg) rotateZ(0deg) translateZ(-50px) translateY(0);
}

#become-ambassador-wrapper:before,
.become-ambassador-wrapper:before {
    transform: translateZ(-49px);
    filter: blur(15px);
}

/* Class to completely hide the border animation initially */
#become-ambassador-wrapper.no-border-animation,
.become-ambassador-wrapper.no-border-animation {
    /* Keep the wrapper itself but hide the pseudo-elements */
    border: 1px solid #865DFF;
}

#become-ambassador-wrapper.no-border-animation:before,
#become-ambassador-wrapper.no-border-animation:after,
.become-ambassador-wrapper.no-border-animation:before,
.become-ambassador-wrapper.no-border-animation:after {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Custom cursor - using your primary button gradient */
.become-ambassador-cursor {
    position: fixed;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-image: linear-gradient(135deg, #E1B129, #FFD166) !important;
    border: 2px solid #E1B129;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: width 0.15s, height 0.15s, background-image 0.15s;
    will-change: left, top;
}

/* Animation keyframes from Codepen */
@property --gradient-angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}

@keyframes rotate {
    0% {
        --gradient-angle: 0deg;
    }
    100% {
        --gradient-angle: 360deg;
    }
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    #become-ambassador-wrapper,
    .become-ambassador-wrapper {
        padding: 25px 10px;
        margin: 0 15px;
    }
    
    #become-ambassador-wrapper:before,
    #become-ambassador-wrapper:after,
    .become-ambassador-wrapper:before,
    .become-ambassador-wrapper:after {
        inset: -0.5rem;
    }
    
    #become-ambassador-wrapper:before,
    .become-ambassador-wrapper:before {
        filter: blur(10px);
    }
}

/* Apply your primary button gradient to form buttons inside the wrapper */
#become-ambassador-wrapper button,
#become-ambassador-wrapper input[type="submit"],
#become-ambassador-wrapper input[type="button"],
.become-ambassador-wrapper button,
.become-ambassador-wrapper input[type="submit"],
.become-ambassador-wrapper input[type="button"] {
    background-image: linear-gradient(135deg, #E1B129, #FFD166) !important;
    border: none;
    color: #000 !important;
    font-weight: 600;
}

/* Optional: Style hover effect for buttons */
#become-ambassador-wrapper button:hover,
#become-ambassador-wrapper input[type="submit"]:hover,
#become-ambassador-wrapper input[type="button"]:hover,
.become-ambassador-wrapper button:hover,
.become-ambassador-wrapper input[type="submit"]:hover,
.become-ambassador-wrapper input[type="button"]:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(225, 177, 41, 0.3);
}

/* Keep all your existing CSS below this line - I won't remove it */
/* Become Ambassador Form Styling */
.become-ambassador {
    position: relative;
    transform-style: preserve-3d;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(229, 177, 41, 0.2);
    border-radius: 16px;
    padding: 15px 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Form wrapper styling */
.become-ambassador .gform_wrapper {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* #input_8_1_3_container label, #input_8_3_1_container {display:none !important} */

/* Progress Bar Styling */
.become-ambassador .gf_progressbar_wrapper {
    margin-bottom: 40px !important;
}

.become-ambassador .gf_progressbar_title {
    color: #E1B129 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}

.become-ambassador .gf_progressbar {
    height: 8px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: none !important;
}

.become-ambassador .gf_progressbar_percentage {
    background: linear-gradient(90deg, #E1B129, #FFD166) !important;
    border-radius: 10px !important;
    transition: width 0.8s ease !important;
}

.become-ambassador .gf_progressbar_percentage span {
    display: none !important;
}

/* Labels Styling */
.become-ambassador .gfield_label {
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    display: block !important;
}

.become-ambassador .gform-field-label--type-sub {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Required Field Indicator */
.become-ambassador .gfield_required {
    color: #E1B129 !important;
    margin-left: 4px !important;
}

/* Input Fields Styling */
.become-ambassador input[type="text"],
.become-ambassador input[type="email"],
.become-ambassador textarea,
.become-ambassador select {
    width: 100% !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 2px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}

.become-ambassador input[type="text"]::placeholder,
.become-ambassador input[type="email"]::placeholder,
.become-ambassador textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

.become-ambassador input[type="text"]:focus,
.become-ambassador input[type="email"]:focus,
.become-ambassador textarea:focus,
.become-ambassador select:focus {
    outline: none !important;
    border-color: #E1B129 !important;
    background: rgba(225, 177, 41, 0.05) !important;
    box-shadow: 0 0 0 4px rgba(225, 177, 41, 0.15) !important;
}

/* Checkbox Styling */
.become-ambassador .gfield_checkbox {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.become-ambassador .gchoice {
    position: relative !important;
}

.become-ambassador .gfield-choice-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.become-ambassador .gform-field-label--type-inline {
    position: relative !important;
    display: block !important;
    padding: 18px 20px 18px 60px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 2px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.become-ambassador .gform-field-label--type-inline::before {
    content: '' !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    transition: all 0.3s ease !important;
}

.become-ambassador .gfield-choice-input:checked + .gform-field-label--type-inline {
    background: rgba(225, 177, 41, 0.1) !important;
    border-color: #E1B129 !important;
    color: #FFFFFF !important;
}

.become-ambassador .gfield-choice-input:checked + .gform-field-label--type-inline::before {
    border-color: #E1B129 !important;
    background: #E1B129 !important;
}

.become-ambassador .gfield-choice-input:checked + .gform-field-label--type-inline::after {
    content: '✓' !important;
    position: absolute !important;
    left: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #000000 !important;
    font-size: 14px !important;
    font-weight: bold !important;
}

/* Select All Button */
.become-ambassador .gfield-choice-toggle-all button {
    background: transparent !important;
    border: 2px solid rgba(225, 177, 41, 0.3) !important;
    color: #E1B129 !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}

.become-ambassador .gfield-choice-toggle-all button:hover {
    background: rgba(225, 177, 41, 0.1) !important;
    border-color: #E1B129 !important;
}

/* Button Styling */
.become-ambassador .gform-theme-button {
    background: linear-gradient(135deg, #E1B129, #FFD166) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 10px !important;
    color: #000000 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 8px 30px rgba(225, 177, 41, 0.3) !important;
}

.become-ambassador .gform-theme-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 40px rgba(225, 177, 41, 0.4) !important;
}

.become-ambassador .gform-theme-button--secondary {
    background: transparent !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    padding: 12px 6px !important;
    width: 155px !important;
}

.become-ambassador .gform-theme-button--secondary:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #E1B129 !important;
    color: #E1B129 !important;
}

/* Page Footer */
.become-ambassador .gform-page-footer {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 40px !important;
    padding-top: 30px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Complex Input Layout */
.become-ambassador .ginput_complex {
    gap: 20px !important;
}

.become-ambassador .gform-grid-col {
    flex: 1 !important;
    min-width: 0 !important;
}

/* Submit Button */
.become-ambassador .gform_button {
    background: linear-gradient(135deg, #E1B129, #FFD166) !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 18px 50px !important;
    color: #000000 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 8px 30px rgba(225, 177, 41, 0.3) !important;
}

.become-ambassador .gform_button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 40px rgba(225, 177, 41, 0.4) !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .become-ambassador {
        padding: 20px 10px !important;
    }
    
    .become-ambassador .gfield_label {
        font-size: 16px !important;
    }
    
    .become-ambassador input[type="text"],
    .become-ambassador input[type="email"],
    .become-ambassador textarea,
    .become-ambassador select {
        padding: 14px 16px !important;
        font-size: 15px !important;
    }
    
    .become-ambassador .gform-theme-button,
    .become-ambassador .gform_button {
        padding: 16px 30px !important;
        font-size: 16px !important;
    }
    
    .become-ambassador .gform-page-footer {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .become-ambassador .gform-page-footer input {
        width: 100% !important;
    }
}

/* Dark overlay for better contrast */
.become-ambassador:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9));
    border-radius: 16px;
    z-index: -1;
}

/* Fix for select dropdown background and text color */
.become-ambassador select option {
    background: rgba(0, 0, 0, 0.9) !important;
    color: #FFFFFF !important;
    padding: 12px !important;
    font-size: 16px !important;
}

/* Also fix any select dropdown that might appear */
.become-ambassador select:focus option:checked,
.become-ambassador select option:checked {
    background: rgba(225, 177, 41, 0.3) !important;
    color: #E1B129 !important;
}

/* Style the select dropdown itself better */
.become-ambassador select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: rgba(255, 255, 255, 0.1) url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E1B129'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") no-repeat right 20px center / 16px !important;
    padding-right: 50px !important;
}

/* For Firefox specifically */
@-moz-document url-prefix() {
    .become-ambassador select {
        color: #FFFFFF !important;
        text-shadow: 0 0 0 #FFFFFF !important;
    }
    
    .become-ambassador select option {
        text-shadow: none !important;
    }
}

/* For Webkit browsers (Chrome, Safari, Edge) */
.become-ambassador select::-ms-expand {
    display: none !important;
}

.become-ambassador select::-webkit-scrollbar {
    width: 8px;
}

.become-ambassador select::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.become-ambassador select::-webkit-scrollbar-thumb {
    background: rgba(225, 177, 41, 0.5);
    border-radius: 4px;
}

.become-ambassador select::-webkit-scrollbar-thumb:hover {
    background: rgba(225, 177, 41, 0.7);
}

.become-ambassador select {
    padding: 0px 20px !important;
}





/* ===== 23. NEWSLETTER FORM STYLES ===== */
/* News letter form css  */
.gf-news-letter-form .gform_body {
    margin-bottom: 0rem !important;
}

html body .gf-news-letter-form input[type="submit"][id^="gform_submit_button_"].gform_button.button {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}





/* ===== 24. RESPONSIVE UTILITIES ===== */
/* ==========================================================================
   RESPONSIVE BOTTOM SPACING UTILITIES
   ========================================================================== */

/* Responsive bottom margin utilities */
.responsive-bottom-margin-small {
    margin-bottom: 20px !important;
}

.responsive-bottom-margin-medium {
    margin-bottom: 40px !important;
}

.responsive-bottom-margin-large {
    margin-bottom: 60px !important;
}

.responsive-bottom-margin-xlarge {
    margin-bottom: 80px !important;
}

/* Responsive bottom padding utilities */
.responsive-bottom-padding-small {
    padding-bottom: 20px !important;
}

.responsive-bottom-padding-medium {
    padding-bottom: 40px !important;
}

.responsive-bottom-padding-large {
    padding-bottom: 60px !important;
}

.responsive-bottom-padding-xlarge {
    padding-bottom: 80px !important;
}

/* Tablet responsive adjustments */
@media (max-width: 1024px) {
    .responsive-bottom-margin-small {
        margin-bottom: 15px !important;
    }
    
    .responsive-bottom-margin-medium {
        margin-bottom: 30px !important;
    }
    
    .responsive-bottom-margin-large {
        margin-bottom: 45px !important;
    }
    
    .responsive-bottom-margin-xlarge {
        margin-bottom: 60px !important;
    }
    
    .responsive-bottom-padding-small {
        padding-bottom: 15px !important;
    }
    
    .responsive-bottom-padding-medium {
        padding-bottom: 30px !important;
    }
    
    .responsive-bottom-padding-large {
        padding-bottom: 45px !important;
    }
    
    .responsive-bottom-padding-xlarge {
        padding-bottom: 60px !important;
    }
    .become-ambassador .gform-grid-col {
        flex: 1 !important;
        min-width: 100% !important;
    }
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .become-ambassador .gform-grid-col {
        flex: 1 !important;
        min-width: 100% !important;
    }
    .responsive-bottom-margin-small {
        margin-bottom: 10px !important;
    }
    
    .responsive-bottom-margin-medium {
        margin-bottom: 20px !important;
    }
    
    .responsive-bottom-margin-large {
        margin-bottom: 30px !important;
    }
    
    .responsive-bottom-margin-xlarge {
        margin-bottom: 40px !important;
    }
    
    .responsive-bottom-padding-small {
        padding-bottom: 10px !important;
    }
    
    .responsive-bottom-padding-medium {
        padding-bottom: 20px !important;
    }
    
    .responsive-bottom-padding-large {
        padding-bottom: 30px !important;
    }
    
    .responsive-bottom-padding-xlarge {
        padding-bottom: 40px !important;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .responsive-bottom-margin-small {
        margin-bottom: 8px !important;
    }
    
    .responsive-bottom-margin-medium {
        margin-bottom: 15px !important;
    }
    
    .responsive-bottom-margin-large {
        margin-bottom: 25px !important;
    }
    
    .responsive-bottom-margin-xlarge {
        margin-bottom: 35px !important;
    }
    
    .responsive-bottom-padding-small {
        padding-bottom: 8px !important;
    }
    
    .responsive-bottom-padding-medium {
        padding-bottom: 15px !important;
    }
    
    .responsive-bottom-padding-large {
        padding-bottom: 25px !important;
    }
    
    .responsive-bottom-padding-xlarge {
        padding-bottom: 35px !important;
    }
}

/* Section-specific responsive bottom spacing */
/* For sections that need consistent bottom spacing */
.responsive-section-bottom {
    margin-bottom: 80px !important;
    padding-bottom: 80px !important;
}

@media (max-width: 1024px) {
    .responsive-section-bottom {
        margin-bottom: 60px !important;
        padding-bottom: 60px !important;
    }
    /* .ca-faq-toggle {
        opacity: 1 !important;
        max-height: 100% !important;
    } */
}

@media (max-width: 768px) {
    .responsive-section-bottom {
        margin-bottom: 40px !important;
        padding-bottom: 40px !important;
    }
}

@media (max-width: 480px) {
    .responsive-section-bottom {
        margin-bottom: 30px !important;
        padding-bottom: 30px !important;
    }
}

/* Widget-specific responsive bottom spacing */
.responsive-widget-bottom {
    margin-bottom: 40px !important;
}

@media (max-width: 768px) {
    .responsive-widget-bottom {
        margin-bottom: 25px !important;
    }
}

@media (max-width: 480px) {
    .responsive-widget-bottom {
        margin-bottom: 20px !important;
    }
}

/* Button responsive bottom spacing */
.responsive-button-bottom {
    margin-bottom: 30px !important;
}

@media (max-width: 768px) {
    .responsive-button-bottom {
        margin-bottom: 20px !important;
    }
}

@media (max-width: 480px) {
    .responsive-button-bottom {
        margin-bottom: 15px !important;
    }
}

/* Container responsive bottom spacing */
.responsive-container-bottom {
    padding-bottom: 60px !important;
    margin-bottom: 60px !important;
}

@media (max-width: 1024px) {
    .responsive-container-bottom {
        padding-bottom: 40px !important;
        margin-bottom: 40px !important;
    }
}

@media (max-width: 768px) {
    .responsive-container-bottom {
        padding-bottom: 30px !important;
        margin-bottom: 30px !important;
    }
}

@media (max-width: 480px) {
    .responsive-container-bottom {
        padding-bottom: 20px !important;
        margin-bottom: 20px !important;
    }
}

/* Auto-responsive bottom spacing for common elements */
.elementor-section:not(:last-child) {
    margin-bottom: 40px;
}

.elementor-widget:not(:last-child) {
    margin-bottom: 25px;
}

@media (max-width: 768px) {
    .elementor-section:not(:last-child) {
        margin-bottom: 30px;
    }
    
    .elementor-widget:not(:last-child) {
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .home-page-title h1.elementor-heading-title,
    .home-page-title h2.elementor-heading-title {
        font-size: 20px !important;
    }
}

@media (max-width: 480px) {
    .elementor-section:not(:last-child) {
        margin-bottom: 25px;
    }
    
    .elementor-widget:not(:last-child) {
        margin-bottom: 15px;
    }
}

/* Safe area bottom spacing for mobile devices */
@supports(padding: max(0px)) {
    .safe-area-bottom {
        padding-bottom: max(20px, env(safe-area-inset-bottom)) !important;
    }
    
    @media (max-width: 768px) {
        .safe-area-bottom {
            padding-bottom: max(15px, env(safe-area-inset-bottom)) !important;
        }
    }
}





/* ===== 25. FOOTER SUBSCRIBE FORM STYLES ===== */
/* ============================================
   FOOTER SUBSCRIBE FORM STYLING
   Target: .footer-subscirbe-area Gravity Form
   Layout: 3-column grid (Location, Email, Submit)
   ============================================ */

/* Reset and base styles */
.footer-subscirbe-area .eael-contact-form .gform_wrapper * {
    box-sizing: border-box;
}

/* Main form container */
.footer-subscirbe-area .eael-contact-form .gform_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* Form body - grid container */
.footer-subscirbe-area .eael-contact-form .gform_body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    align-items: end;
    margin: 0;
    padding: 0;
}

/* Form fields container */
.footer-subscirbe-area .eael-contact-form .gform_fields {
    display: contents;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

/* Individual field containers */
.footer-subscirbe-area .eael-contact-form .gfield {
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    position: relative;
}

/* Remove bottom margins between fields */
.footer-subscirbe-area .eael-contact-form .gfield:not(:last-child) {
    margin-bottom: 0 !important;
}

/* Field labels */
.footer-subscirbe-area .eael-contact-form .gfield_label {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Required field indicator */
.footer-subscirbe-area .eael-contact-form .gfield_required {
    color: #ff0000;
    margin-left: 2px;
}

.footer-subscirbe-area .eael-contact-form .gfield_required_text {
    display: none; /* Hide text "(Required)" */
}

/* Input containers */
.footer-subscirbe-area .eael-contact-form .ginput_container {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Common input styles for all form elements */
.footer-subscirbe-area .eael-contact-form input[type="email"],
.footer-subscirbe-area .eael-contact-form select,
.footer-subscirbe-area .eael-contact-form .gform_button {
    width: 100% !important;
    /* height: 48px; */
    padding: 0 15px;
    margin: 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    font-family: inherit;
    line-height: 1.5;
    transition: all 0.3s ease;
    box-shadow: none;
    outline: none;
}

/* Hover and focus states */
.footer-subscirbe-area .eael-contact-form input[type="email"]:hover,
.footer-subscirbe-area .eael-contact-form select:hover,
.footer-subscirbe-area .eael-contact-form .gform_button:hover {
    border-color: #999;
}

.footer-subscirbe-area .eael-contact-form input[type="email"]:focus,
.footer-subscirbe-area .eael-contact-form select:focus {
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

/* Specific field: Location dropdown */
.footer-subscirbe-area .eael-contact-form #field_6_16 {
    grid-column: 1;
}

.footer-subscirbe-area .eael-contact-form #field_6_16 select {
    background-color: white;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%204%205%27%3E%3Cpath%20fill%3D%27%23333%27%20d%3D%27M2%200L0%202h4zm0%205L0%203h4z%27%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 10px;
    padding-right: 35px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

/* Specific field: Email input */
.footer-subscirbe-area .eael-contact-form #field_6_2 {
    grid-column: 2;
}

.footer-subscirbe-area .eael-contact-form #field_6_2 input {
    background-color: white;
}

/* Hide CAPTCHA field (since we only want 3 fields) */
.footer-subscirbe-area .eael-contact-form #field_6_17 {
    display: none !important;
    visibility: hidden;
    opacity: 0;
    height: 0;
    width: 0;
    overflow: hidden;
}

/* CRITICAL FIX: Submit button container */
.footer-subscirbe-area .eael-contact-form .gform_footer {
    grid-column: 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: end !important;
    height: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
}

/* Remove any absolute positioning or float that might be interfering */
.footer-subscirbe-area .eael-contact-form .gform_footer {
    position: static !important;
    float: none !important;
    clear: none !important;
}

/* Submit button styling - CRITICAL: Make sure button stays inside */
.footer-subscirbe-area .eael-contact-form .gform_button {
    background-color: #0073aa;
    color: white;
    border: none;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Override any Gravity Form default submit button styles */
.footer-subscirbe-area .eael-contact-form input[type="submit"],
.footer-subscirbe-area .eael-contact-form button[type="submit"],
.footer-subscirbe-area .eael-contact-form input.gform_button {
    width: 100% !important;
    display: block !important;
}

/* Button hover and active states */
.footer-subscirbe-area .eael-contact-form .gform_button:hover {
    background-color: #005a87;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.footer-subscirbe-area .eael-contact-form .gform_button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.footer-subscirbe-area .eael-contact-form .gform_button:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Ensure form wrapper doesn't have any conflicting styles */
.footer-subscirbe-area .eael-contact-form form {
    display: contents !important;
}

/* Make sure the form footer is treated as a grid item */
.footer-subscirbe-area .eael-contact-form .gform_body > * {
    grid-column: span 1;
}

/* Error message styling */
.footer-subscirbe-area .eael-contact-form .gfield_error input,
.footer-subscirbe-area .eael-contact-form .gfield_error select {
    border-color: #d00;
    background-color: #fff8f8;
}

.footer-subscirbe-area .eael-contact-form .gfield_error .gfield_label {
    color: #d00;
}

.footer-subscirbe-area .eael-contact-form .validation_message {
    color: #d00;
    font-size: 12px;
    margin-top: 4px;
    position: absolute;
    bottom: -20px;
    left: 0;
    white-space: nowrap;
}

/* Placeholder text styling */
.footer-subscirbe-area .eael-contact-form ::placeholder {
    color: #999;
    opacity: 1;
}

.footer-subscirbe-area .eael-contact-form :-ms-input-placeholder {
    color: #999;
}

.footer-subscirbe-area .eael-contact-form ::-ms-input-placeholder {
    color: #999;
}

/* Form validation messages */
.footer-subscirbe-area .eael-contact-form .gform_validation_errors {
    grid-column: 1 / -1;
    margin: 15px 0 !important;
    padding: 15px !important;
    background-color: #fff8f8;
    border: 1px solid #d00;
    border-radius: 4px;
}

.footer-subscirbe-area .eael-contact-form .gform_confirmation_message {
    grid-column: 1 / -1;
    margin: 15px 0 !important;
    padding: 15px !important;
    background-color: #f0fff0;
    border: 1px solid #4CAF50;
    border-radius: 4px;
    color: #2d501b;
}

/* Hidden form elements */
.footer-subscirbe-area .eael-contact-form .gform_hidden,
.footer-subscirbe-area .eael-contact-form .gf_invisible {
    display: none !important;
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

/* Tablet Breakpoint (992px and below) */
@media (max-width: 992px) {
    .footer-subscirbe-area .eael-contact-form .gform_body {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
    
    .footer-subscirbe-area .eael-contact-form input[type="email"],
    .footer-subscirbe-area .eael-contact-form select,
    .footer-subscirbe-area .eael-contact-form .gform_button {
        height: 44px;
        font-size: 14px;
        padding: 0 12px;
    }
    
    .footer-subscirbe-area .eael-contact-form .gfield_label {
        font-size: 13px;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_16 select {
        background-position: right 12px center;
        padding-right: 30px;
    }
}

/* Medium Tablet Breakpoint (768px and below) */
@media (max-width: 768px) {
    .footer-subscirbe-area .eael-contact-form .gform_body {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 
            "location email"
            "submit submit";
        gap: 20px;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_16 {
        grid-column: 1;
        grid-area: location;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_2 {
        grid-column: 2;
        grid-area: email;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_footer {
        grid-column: 1 / -1 !important;
        grid-area: submit;
        margin-top: 10px !important;
        width: 100% !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_button {
        height: 48px;
    }
    
    .footer-subscirbe-area .eael-contact-form .validation_message {
        position: static;
        margin-top: 4px;
    }
}

/* Small Mobile Breakpoint (576px and below) */
@media (max-width: 576px) {
    .footer-subscirbe-area .eael-contact-form .gform_body {
        grid-template-columns: 1fr;
        grid-template-areas: 
            "location"
            "email"
            "submit";
        gap: 15px;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_16 {
        grid-column: 1;
        grid-area: location;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_2 {
        grid-column: 1;
        grid-area: email;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_footer {
        grid-column: 1 !important;
        grid-area: submit;
        margin-top: 5px !important;
        width: 100% !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gfield_label {
        font-size: 13px;
        white-space: normal;
    }
    
    .footer-subscirbe-area .eael-contact-form input[type="email"],
    .footer-subscirbe-area .eael-contact-form select,
    .footer-subscirbe-area .eael-contact-form .gform_button {
        height: 50px;
        font-size: 15px;
    }
}

/* Extra Small Mobile Breakpoint (400px and below) */
@media (max-width: 400px) {
    .footer-subscirbe-area .eael-contact-form .gform_body {
        gap: 12px;
    }
    
    .footer-subscirbe-area .eael-contact-form input[type="email"],
    .footer-subscirbe-area .eael-contact-form select,
    .footer-subscirbe-area .eael-contact-form .gform_button {
        height: 50px;
        font-size: 14px;
        padding: 0 10px;
    }
    
    .footer-subscirbe-area .eael-contact-form .gfield_label {
        font-size: 12px;
        margin-bottom: 6px;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_16 select {
        background-position: right 10px center;
        padding-right: 28px;
    }
}

/* ============================================
   FALLBACK FIXES (If the above doesn't work)
   ============================================ */

/* Alternative solution using flexbox instead of grid */
@media (min-width: 769px) {
    .footer-subscirbe-area .eael-contact-form .gform_wrapper form {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        gap: 20px !important;
        width: 100% !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_body {
        display: flex !important;
        flex: 1 !important;
        gap: 20px !important;
        margin-right: 0 !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gfield {
        flex: 1 !important;
        min-width: 0 !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_footer {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 150px !important;
        margin-left: 0 !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_button {
        white-space: nowrap !important;
    }
}

/* If Gravity Form has inline styles overriding our CSS */
.footer-subscirbe-area .eael-contact-form [style*="width:100%"] .gform_footer,
.footer-subscirbe-area .eael-contact-form .gform_footer[style*="width:100%"] {
    width: auto !important;
    min-width: 0 !important;
}

/* Force the submit button container to stay in line */
.footer-subscirbe-area .eael-contact-form .gform_body + .gform_footer {
    display: inline !important;
    width: auto !important;
}

/* Debug border (remove after testing) */
.footer-subscirbe-area .eael-contact-form .gform_footer {
    /* border: 2px solid red !important; */ /* Remove this after testing */
}

/* Print Styles */
@media print {
    .footer-subscirbe-area .eael-contact-form .gform_body {
        grid-template-columns: 1fr;
        display: block !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gfield {
        page-break-inside: avoid;
        margin-bottom: 15px !important;
    }
    
    .footer-subscirbe-area .eael-contact-form .gform_button {
        background-color: transparent !important;
        color: #000 !important;
        border: 1px solid #000 !important;
    }
}

/* Tablet Breakpoint (1024px and below) */
@media (max-width: 1024px) {
    .footer-subscirbe-area .eael-contact-form .gform_body {
        width: 70%;
    }
}

@media (max-width: 767px) {
    .footer-subscirbe-area .eael-contact-form .gform_wrapper {
        display: block;
    }
    .footer-subscirbe-area .eael-contact-form .gform_body {
        width: 100%;
    }
}





/* ===== 26. RE-CAPTCHA STYLES ===== */
/* ============================================
   RE-CAPTCHA STYLING ONLY
   ============================================ */

/* Remove the hide CAPTCHA rule from your code */
.footer-subscirbe-area .eael-contact-form #field_6_17 {
    display: block !important;
    visibility: visible !important;
    opacity: 0 !important;
    height: auto !important;
    width: 100% !important;
    overflow: visible !important;
    position: absolute !important;
    top: -85px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transform: translateY(10px);
    pointer-events: none;
}

/* CAPTCHA container styling */
.footer-subscirbe-area .eael-contact-form #input_6_17 {
    min-height: 78px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 304px;
    margin: 0 auto !important;
    padding: 10px 0 !important;
    background: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
    border: 1px solid #e0e0e0;
}

/* CAPTCHA iframe styling */
.footer-subscirbe-area .eael-contact-form #input_6_17 iframe {
    width: 304px !important;
    height: 78px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 4px;
}

/* Hide CAPTCHA label */
.footer-subscirbe-area .eael-contact-form #field_6_17 .gfield_label {
    display: none !important;
}

/* CAPTCHA arrow/tooltip styling */
.footer-subscirbe-area .eael-contact-form #field_6_17::before {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: white;
    border-right: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    transform: translateX(-50%) rotate(45deg);
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.05);
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Show CAPTCHA on interaction */
.footer-subscirbe-area .eael-contact-form #field_6_16:hover ~ #field_6_17,
.footer-subscirbe-area .eael-contact-form #field_6_2:hover ~ #field_6_17,
.footer-subscirbe-area .eael-contact-form #field_6_16:focus-within ~ #field_6_17,
.footer-subscirbe-area .eael-contact-form #field_6_2:focus-within ~ #field_6_17,
.footer-subscirbe-area .eael-contact-form #field_6_17:hover,
.footer-subscirbe-area .eael-contact-form #field_6_17:focus-within,
.footer-subscirbe-area .eael-contact-form .gform_wrapper:hover #field_6_17,
.footer-subscirbe-area .eael-contact-form .gform_wrapper:focus-within #field_6_17 {
    opacity: 1 !important;
    transform: translateY(0);
    pointer-events: auto;
}

/* Show arrow when CAPTCHA is visible */
.footer-subscirbe-area .eael-contact-form #field_6_16:hover ~ #field_6_17::before,
.footer-subscirbe-area .eael-contact-form #field_6_2:hover ~ #field_6_17::before,
.footer-subscirbe-area .eael-contact-form #field_6_16:focus-within ~ #field_6_17::before,
.footer-subscirbe-area .eael-contact-form #field_6_2:focus-within ~ #field_6_17::before,
.footer-subscirbe-area .eael-contact-form #field_6_17:hover::before,
.footer-subscirbe-area .eael-contact-form #field_6_17:focus-within::before,
.footer-subscirbe-area .eael-contact-form .gform_wrapper:hover #field_6_17::before,
.footer-subscirbe-area .eael-contact-form .gform_wrapper:focus-within #field_6_17::before {
    opacity: 1;
}

/* Always show CAPTCHA if it has validation error */
.footer-subscirbe-area .eael-contact-form #field_6_17.gfield_error {
    opacity: 1 !important;
    transform: translateY(0);
    pointer-events: auto;
}

.footer-subscirbe-area .eael-contact-form #field_6_17.gfield_error::before {
    opacity: 1;
}

/* Responsive adjustments for CAPTCHA */
@media (max-width: 992px) {
    .footer-subscirbe-area .eael-contact-form #field_6_17 {
        top: -80px !important;
    }
    
    .footer-subscirbe-area .eael-contact-form #input_6_17 iframe {
        width: 280px !important;
        height: 74px !important;
    }
}

@media (max-width: 768px) {
    .footer-subscirbe-area .eael-contact-form #field_6_17 {
        top: -90px !important;
        left: 10px !important;
        right: 10px !important;
        width: calc(100% - 20px) !important;
    }
    
    .footer-subscirbe-area .eael-contact-form #input_6_17 {
        max-width: 100% !important;
    }
    
    .footer-subscirbe-area .eael-contact-form #input_6_17 iframe {
        width: 100% !important;
        max-width: 280px !important;
    }
    
    .footer-subscirbe-area .eael-contact-form #field_6_17::before {
        left: 50%;
    }
}

@media (max-width: 576px) {
    .footer-subscirbe-area .eael-contact-form #field_6_17 {
        top: -100px !important;
    }
    
    .footer-subscirbe-area .eael-contact-form #input_6_17 iframe {
        transform: scale(0.9);
        transform-origin: center;
    }
}

@media (max-width: 400px) {
    .footer-subscirbe-area .eael-contact-form #field_6_17 {
        top: -95px !important;
    }
    
    .footer-subscirbe-area .eael-contact-form #input_6_17 iframe {
        transform: scale(0.85);
    }
}

/* Ensure form wrapper has position relative for absolute positioning */
.footer-subscirbe-area .eael-contact-form .gform_wrapper {
    position: relative;
    min-height: 90px;
}

/* Add some top padding to form body to prevent overlap */
.footer-subscirbe-area .eael-contact-form .gform_body {
    padding-top: 10px;
}

/* CAPTCHA error state */
.footer-subscirbe-area .eael-contact-form #field_6_17.gfield_error .ginput_recaptcha {
    border: 2px solid #d00;
    padding: 5px;
    border-radius: 4px;
}

/* CAPTCHA badge visibility */
.footer-subscirbe-area .eael-contact-form #input_6_17 .grecaptcha-badge {
    visibility: visible !important;
}

/* ============================================
   RE-CAPTCHA CHALLENGE POPUP MOBILE FIX
   ============================================ */

/* Target the reCAPTCHA challenge popup container */
div[style*="z-index: 2000000000"] {
    max-width: 100vw !important;
    max-height: 100vh !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 999999999 !important;
}

/* Make the iframe responsive */
div[style*="z-index: 2000000000"] iframe {
    max-width: 100vw !important;
    max-height: 90vh !important;
    width: 100% !important;
    min-height: 400px !important;
}

/* Mobile-specific adjustments */
@media (max-width: 768px) {
    /* Make popup full screen on mobile */
    div[style*="z-index: 2000000000"] {
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.8) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Scale down the reCAPTCHA challenge for mobile */
    div[style*="z-index: 2000000000"] iframe {
        width: 95vw !important;
        height: 70vh !important;
        max-height: 500px !important;
        min-height: 400px !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        transform: scale(0.95) !important;
        transform-origin: center !important;
    }
}

@media (max-width: 480px) {
    /* Further adjustments for small phones */
    div[style*="z-index: 2000000000"] iframe {
        width: 100vw !important;
        height: 80vh !important;
        max-height: 450px !important;
        min-height: 350px !important;
        border-radius: 0 !important;
        transform: scale(0.9) !important;
    }
}

@media (max-width: 360px) {
    /* Extra small phone adjustments */
    div[style*="z-index: 2000000000"] iframe {
        max-height: 400px !important;
        min-height: 300px !important;
        transform: scale(0.85) !important;
    }
}

/* Override for landscape orientation */
@media (max-height: 600px) and (orientation: landscape) {
    div[style*="z-index: 2000000000"] iframe {
        height: 90vh !important;
        max-height: 90vh !important;
        min-height: 300px !important;
        transform: scale(0.8) !important;
    }
}

/* Add a close button suggestion (will need JavaScript to work) */
div[style*="z-index: 2000000000"]::after {
    content: 'Close (X)' !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: rgba(0, 0, 0, 0.7) !important;
    color: white !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    cursor: pointer !important;
    z-index: 10000000001 !important;
    display: none; /* Hidden by default, can be shown with JS */
}

/* Alternative: Prevent the popup from being too large */
div[style*="width: 400px"] {
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
}

div[style*="width: 400px"] iframe {
    max-width: 100% !important;
    max-height: 100% !important;
}




