/* Auckland Royal Academy - CSS Fixes v2.0 */
/* Comprehensive menu and layout fixes for static site */
/* ============================================================
   SIDEBAR LAYOUT FIX -- All 54 program pages
   Fixes col-33 sidebar collapsing on laptop & tablet.
   Two rules per page:
   1. flex-wrap:nowrap  -- prevents sidebar wrapping
   2. width:24.333%     -- enforces correct sidebar width
   ============================================================ */
@media(min-width:768px){.elementor-15581 .elementor-element.elementor-element-6e86db29>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-15581 .elementor-element.elementor-element-2cafc6d1{width:24.333%!important;}.elementor-15581 .elementor-element.elementor-element-1ffcbefa{width:75.666%!important;}}
@media(min-width:768px){.elementor-16311 .elementor-element.elementor-element-7dd36368>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16311 .elementor-element.elementor-element-271e9b6c{width:24.333%!important;}.elementor-16311 .elementor-element.elementor-element-53b75e22{width:75.666%!important;}}
@media(min-width:768px){.elementor-16037 .elementor-element.elementor-element-48358dfa>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16037 .elementor-element.elementor-element-5957efd5{width:24.333%!important;}.elementor-16037 .elementor-element.elementor-element-36e87454{width:75.666%!important;}}
@media(min-width:768px){.elementor-16180 .elementor-element.elementor-element-790787ce>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16180 .elementor-element.elementor-element-60e5cccd{width:24.333%!important;}.elementor-16180 .elementor-element.elementor-element-300e2494{width:75.666%!important;}}
@media(min-width:768px){.elementor-16189 .elementor-element.elementor-element-44d37dae>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16189 .elementor-element.elementor-element-2da70f3a{width:24.333%!important;}.elementor-16189 .elementor-element.elementor-element-578faa8e{width:75.666%!important;}}
@media(min-width:768px){.elementor-16770 .elementor-element.elementor-element-5e431a8a>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16770 .elementor-element.elementor-element-44299c27{width:24.333%!important;}.elementor-16770 .elementor-element.elementor-element-1b1b9c57{width:75.666%!important;}}
@media(min-width:768px){.elementor-16774 .elementor-element.elementor-element-57d6a798>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16774 .elementor-element.elementor-element-3757eab{width:24.333%!important;}.elementor-16774 .elementor-element.elementor-element-358b051c{width:75.666%!important;}}
@media(min-width:768px){.elementor-16092 .elementor-element.elementor-element-4ba8ee2f>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16092 .elementor-element.elementor-element-394a8de{width:24.333%!important;}.elementor-16092 .elementor-element.elementor-element-4a12c70b{width:75.666%!important;}}
@media(min-width:768px){.elementor-16072 .elementor-element.elementor-element-34992e1f>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16072 .elementor-element.elementor-element-79f7b1f3{width:24.333%!important;}.elementor-16072 .elementor-element.elementor-element-37d9c8ce{width:75.666%!important;}}
@media(min-width:768px){.elementor-16225 .elementor-element.elementor-element-679e10d1>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16225 .elementor-element.elementor-element-7d6b3830{width:24.333%!important;}.elementor-16225 .elementor-element.elementor-element-50d8d315{width:75.666%!important;}}
@media(min-width:768px){.elementor-14841 .elementor-element.elementor-element-47a4872c>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-14841 .elementor-element.elementor-element-1d7093d4{width:24.333%!important;}.elementor-14841 .elementor-element.elementor-element-4b0ffc49{width:75.666%!important;}}
@media(min-width:768px){.elementor-16276 .elementor-element.elementor-element-3ec38029>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16276 .elementor-element.elementor-element-d0a3ebf{width:24.333%!important;}.elementor-16276 .elementor-element.elementor-element-76fbe788{width:75.666%!important;}}
@media(min-width:768px){.elementor-16275 .elementor-element.elementor-element-3dd5e28e>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16275 .elementor-element.elementor-element-69fae2f5{width:24.333%!important;}.elementor-16275 .elementor-element.elementor-element-2100790{width:75.666%!important;}}
@media(min-width:768px){.elementor-16100 .elementor-element.elementor-element-3506523c>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16100 .elementor-element.elementor-element-1a66f154{width:24.333%!important;}.elementor-16100 .elementor-element.elementor-element-3a3132d{width:75.666%!important;}}
@media(min-width:768px){.elementor-16083 .elementor-element.elementor-element-52109619>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16083 .elementor-element.elementor-element-774f4184{width:24.333%!important;}.elementor-16083 .elementor-element.elementor-element-7b96e44e{width:75.666%!important;}}
@media(min-width:768px){.elementor-15170 .elementor-element.elementor-element-1bf9024e>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-15170 .elementor-element.elementor-element-3c9a6f6{width:24.333%!important;}.elementor-15170 .elementor-element.elementor-element-451eec41{width:75.666%!important;}}
@media(min-width:768px){.elementor-16667 .elementor-element.elementor-element-7c9e513>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16667 .elementor-element.elementor-element-10d4ebeb{width:24.333%!important;}.elementor-16667 .elementor-element.elementor-element-12ebf80d{width:75.666%!important;}}
@media(min-width:768px){.elementor-16109 .elementor-element.elementor-element-7ebf53fa>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16109 .elementor-element.elementor-element-5a17a9c3{width:24.333%!important;}.elementor-16109 .elementor-element.elementor-element-78f2019{width:75.666%!important;}}
@media(min-width:768px){.elementor-16245 .elementor-element.elementor-element-78558320>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16245 .elementor-element.elementor-element-143b6740{width:24.333%!important;}.elementor-16245 .elementor-element.elementor-element-465b37fb{width:75.666%!important;}}
@media(min-width:768px){.elementor-16628 .elementor-element.elementor-element-3b771252>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16628 .elementor-element.elementor-element-2f59c9f1{width:24.333%!important;}.elementor-16628 .elementor-element.elementor-element-61aad5a9{width:75.666%!important;}}
@media(min-width:768px){.elementor-16668 .elementor-element.elementor-element-3f9d0e5b>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16668 .elementor-element.elementor-element-57ee5a0b{width:24.333%!important;}.elementor-16668 .elementor-element.elementor-element-5a9a7e20{width:75.666%!important;}}
@media(min-width:768px){.elementor-16127 .elementor-element.elementor-element-1eda3eca>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16127 .elementor-element.elementor-element-34ff9d77{width:24.333%!important;}.elementor-16127 .elementor-element.elementor-element-36d96caa{width:75.666%!important;}}
@media(min-width:768px){.elementor-16161 .elementor-element.elementor-element-5fe31ef5>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16161 .elementor-element.elementor-element-584f9fdb{width:24.333%!important;}.elementor-16161 .elementor-element.elementor-element-3fbad7cd{width:75.666%!important;}}
@media(min-width:768px){.elementor-16773 .elementor-element.elementor-element-12ebcf68>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16773 .elementor-element.elementor-element-1a1cc4d{width:24.333%!important;}.elementor-16773 .elementor-element.elementor-element-54cf50f2{width:75.666%!important;}}
@media(min-width:768px){.elementor-16328 .elementor-element.elementor-element-22597099>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16328 .elementor-element.elementor-element-44a84a6f{width:24.333%!important;}.elementor-16328 .elementor-element.elementor-element-538fa7c8{width:75.666%!important;}}
@media(min-width:768px){.elementor-16029 .elementor-element.elementor-element-7fc44e>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16029 .elementor-element.elementor-element-c3d59ef{width:24.333%!important;}.elementor-16029 .elementor-element.elementor-element-9573ac6{width:75.666%!important;}}
@media(min-width:768px){.elementor-16394 .elementor-element.elementor-element-1fa5743b>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16394 .elementor-element.elementor-element-307f6d9d{width:24.333%!important;}.elementor-16394 .elementor-element.elementor-element-a22e260{width:75.666%!important;}}
@media(min-width:768px){.elementor-16118 .elementor-element.elementor-element-43b848da>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16118 .elementor-element.elementor-element-79b3fc51{width:24.333%!important;}.elementor-16118 .elementor-element.elementor-element-458e1c53{width:75.666%!important;}}
@media(min-width:768px){.elementor-16153 .elementor-element.elementor-element-7cbbffbf>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16153 .elementor-element.elementor-element-20c46c89{width:24.333%!important;}.elementor-16153 .elementor-element.elementor-element-7db81ebe{width:75.666%!important;}}
@media(min-width:768px){.elementor-16636 .elementor-element.elementor-element-6af3a63f>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16636 .elementor-element.elementor-element-655f0640{width:24.333%!important;}.elementor-16636 .elementor-element.elementor-element-49fd1888{width:75.666%!important;}}
@media(min-width:768px){.elementor-16645 .elementor-element.elementor-element-5ae95e2f>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16645 .elementor-element.elementor-element-43db1670{width:24.333%!important;}.elementor-16645 .elementor-element.elementor-element-28899c43{width:75.666%!important;}}
@media(min-width:768px){.elementor-16357 .elementor-element.elementor-element-4af5091a>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16357 .elementor-element.elementor-element-6dc24612{width:24.333%!important;}.elementor-16357 .elementor-element.elementor-element-3d2a01ea{width:75.666%!important;}}
@media(min-width:768px){.elementor-16136 .elementor-element.elementor-element-626f9c7b>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16136 .elementor-element.elementor-element-2838ec15{width:24.333%!important;}.elementor-16136 .elementor-element.elementor-element-3b4092c5{width:75.666%!important;}}
@media(min-width:768px){.elementor-16135 .elementor-element.elementor-element-7c755ab4>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16135 .elementor-element.elementor-element-37a01f7d{width:24.333%!important;}.elementor-16135 .elementor-element.elementor-element-587db575{width:75.666%!important;}}
@media(min-width:768px){.elementor-16769 .elementor-element.elementor-element-5fd93d63>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16769 .elementor-element.elementor-element-88055b1{width:24.333%!important;}.elementor-16769 .elementor-element.elementor-element-77630fa2{width:75.666%!important;}}
@media(min-width:768px){.elementor-16012 .elementor-element.elementor-element-13c15458>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16012 .elementor-element.elementor-element-9018d8c{width:24.333%!important;}.elementor-16012 .elementor-element.elementor-element-7c3d9264{width:75.666%!important;}}
@media(min-width:768px){.elementor-16355 .elementor-element.elementor-element-759c4b4a>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16355 .elementor-element.elementor-element-63127503{width:24.333%!important;}.elementor-16355 .elementor-element.elementor-element-6734517b{width:75.666%!important;}}
@media(min-width:768px){.elementor-16327 .elementor-element.elementor-element-161f4800>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16327 .elementor-element.elementor-element-555c1fd4{width:24.333%!important;}.elementor-16327 .elementor-element.elementor-element-66372c9f{width:75.666%!important;}}
@media(min-width:768px){.elementor-16171 .elementor-element.elementor-element-56f61932>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16171 .elementor-element.elementor-element-45c065fa{width:24.333%!important;}.elementor-16171 .elementor-element.elementor-element-752aadd9{width:75.666%!important;}}
@media(min-width:768px){.elementor-16356 .elementor-element.elementor-element-7d4fc1a6>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16356 .elementor-element.elementor-element-6b2db38f{width:24.333%!important;}.elementor-16356 .elementor-element.elementor-element-29dfc984{width:75.666%!important;}}
@media(min-width:768px){.elementor-16771 .elementor-element.elementor-element-7577ea7d>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16771 .elementor-element.elementor-element-5c9b2337{width:24.333%!important;}.elementor-16771 .elementor-element.elementor-element-4da7a1b6{width:75.666%!important;}}
@media(min-width:768px){.elementor-16021 .elementor-element.elementor-element-5376b3f5>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16021 .elementor-element.elementor-element-27097728{width:24.333%!important;}.elementor-16021 .elementor-element.elementor-element-35245717{width:75.666%!important;}}
@media(min-width:768px){.elementor-16329 .elementor-element.elementor-element-6afe8885>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16329 .elementor-element.elementor-element-4b4c6f85{width:24.333%!important;}.elementor-16329 .elementor-element.elementor-element-71dae1cf{width:75.666%!important;}}
@media(min-width:768px){.elementor-16256 .elementor-element.elementor-element-76eedd9b>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16256 .elementor-element.elementor-element-5b1c856c{width:24.333%!important;}.elementor-16256 .elementor-element.elementor-element-796511ca{width:75.666%!important;}}
@media(min-width:768px){.elementor-16054 .elementor-element.elementor-element-743ba387>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16054 .elementor-element.elementor-element-2928929e{width:24.333%!important;}.elementor-16054 .elementor-element.elementor-element-5d0964a8{width:75.666%!important;}}
@media(min-width:768px){.elementor-16063 .elementor-element.elementor-element-f7b6e25>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16063 .elementor-element.elementor-element-410f58cc{width:24.333%!important;}.elementor-16063 .elementor-element.elementor-element-1e8515b0{width:75.666%!important;}}
@media(min-width:768px){.elementor-16775 .elementor-element.elementor-element-5b85db2d>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16775 .elementor-element.elementor-element-44da1799{width:24.333%!important;}.elementor-16775 .elementor-element.elementor-element-32d87896{width:75.666%!important;}}
@media(min-width:768px){.elementor-16358 .elementor-element.elementor-element-4d854c8a>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16358 .elementor-element.elementor-element-1b7d55b0{width:24.333%!important;}.elementor-16358 .elementor-element.elementor-element-32934e3a{width:75.666%!important;}}
@media(min-width:768px){.elementor-16591 .elementor-element.elementor-element-3c6ee485>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16591 .elementor-element.elementor-element-e704129{width:24.333%!important;}.elementor-16591 .elementor-element.elementor-element-34e62422{width:75.666%!important;}}
@media(min-width:768px){.elementor-16601 .elementor-element.elementor-element-4abc0c85>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16601 .elementor-element.elementor-element-6c2853ee{width:24.333%!important;}.elementor-16601 .elementor-element.elementor-element-5abcabb5{width:75.666%!important;}}
@media(min-width:768px){.elementor-16772 .elementor-element.elementor-element-135272d>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16772 .elementor-element.elementor-element-74f8505b{width:24.333%!important;}.elementor-16772 .elementor-element.elementor-element-6aaf10ba{width:75.666%!important;}}
@media(min-width:768px){.elementor-16610 .elementor-element.elementor-element-67a9cb7c>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16610 .elementor-element.elementor-element-1cfddf43{width:24.333%!important;}.elementor-16610 .elementor-element.elementor-element-17692051{width:75.666%!important;}}
@media(min-width:768px){.elementor-16266 .elementor-element.elementor-element-53d815fc>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16266 .elementor-element.elementor-element-576d5c7{width:24.333%!important;}.elementor-16266 .elementor-element.elementor-element-7499566e{width:75.666%!important;}}
@media(min-width:768px){.elementor-16619 .elementor-element.elementor-element-2f040348>.elementor-container{flex-wrap:nowrap!important;}}
@media(max-width:1024px) and (min-width:768px){.elementor-16619 .elementor-element.elementor-element-5e57037c{width:24.333%!important;}.elementor-16619 .elementor-element.elementor-element-6851967f{width:75.666%!important;}}

/* ============================================================
   DROPDOWN SUBMENU FIX
   Shows submenus on hover using CSS only (no JS interference)
   Works for Elementor nav-menu widget in static site
   ============================================================ */

/* Hide submenus by default */
.elementor-nav-menu--main .sub-menu,
.elementor-nav-menu .sub-menu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    padding: 8px 0;
    list-style: none;
    margin: 0;
}

/* Show submenu on hover */
.elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu .menu-item-has-children:hover > .sub-menu {
    display: block !important;
}

/* Submenu items styling */
.elementor-nav-menu--main .sub-menu li a,
.elementor-nav-menu .sub-menu li a {
    display: block;
    padding: 10px 20px;
    white-space: nowrap;
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

.elementor-nav-menu--main .sub-menu li a:hover,
.elementor-nav-menu .sub-menu li a:hover {
    background: #f5f5f5;
    color: #36348E;
}

/* Ensure parent has relative positioning */
.elementor-nav-menu--main .menu-item-has-children,
.elementor-nav-menu .menu-item-has-children {
    position: relative;
}

/* Theme-specific submenu overrides */
header.main-header .menu-item-has-children:hover > .sub-menu,
#main-menu .menu > .menu-item:hover > .sub-menu,
#main-menu .menu > .menu-item:hover > .sub-menu-wrapper > .sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Also handle Elementor dropdown container */
.elementor-nav-menu--main .menu-item-has-children:hover 
  > .elementor-nav-menu__container,
.e--pointer-underline .elementor-item:hover {
    opacity: 1;
}


/* Also fix elements waiting for scroll trigger */
.elementor-element.animated,
.elementor-element.elementor-invisible {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix logo size in footer and header */
.elementor-widget-theme-site-logo img,
.elementor-widget-image img {
    max-width: 100%;
    height: auto;
}


/* ============================================================
   ELEMENTOR STATIC SITE VISIBILITY FIX v2
   
   Problem: Elementor adds elementor-invisible to sections with
   entry animations. JS normally removes this class on load.
   In static site there is no JS, so sections stay hidden.
   
   Solution: Show elements that are invisible but NOT supposed
   to be hidden on desktop (no elementor-hidden-desktop class).
   We preserve elementor-hidden-tablet/phone/desktop behavior.
   ============================================================ */

/* Show desktop header sections that are invisible due to animation */
.elementor-22087 .elementor-element.elementor-element-61c629f.elementor-invisible,
.elementor-22087 .elementor-element.elementor-element-250d475.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

/* Generic fix for all invisible sections that are NOT hidden on desktop */
/* Using :not() to exclude properly hidden elements */
.elementor-invisible:not(.elementor-hidden-desktop):not([class*="elementor-hidden-desktop"]) {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

/* Logo sizing fix */
.elementor-widget-theme-site-logo img,
.elementor-widget-image img[src*="logo"] {
    max-width: 100%;
    height: auto;
    display: block;
}


/* ============================================================
   FULL-WIDTH LAYOUT FIX
   Theme sets --vamtam-left-sidebar-width:30% and
   --vamtam-right-sidebar-width:30% globally.
   In WordPress, JS removes these when no sidebar exists.
   In static site they persist, making article only 40% wide.
   This fix resets them and forces 100% width on all pages.
   ============================================================ */

/* Reset sidebar variables for all pages */
#page,
body {
    --vamtam-left-sidebar-width: 0px !important;
    --vamtam-right-sidebar-width: 0px !important;
}

/* Force article to fill full width */
.page-wrapper > article {
    max-width: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
}

/* Ensure page-wrapper fills viewport */
.page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
}

/* Remove any sub-header height that pushes content */
#sub-header {
    display: none;
}


/* ============================================================
   HEADER BACKGROUND FIX
   Homepage header (template 22087) section 61c629f has
   vamtam-sticky-header--transparent-header class which makes
   it transparent until JS runs. Force #36348E always.
   Inner page header (template 9088) section 0911753 same fix.
   ============================================================ */

/* Homepage header - force blue background always */
.elementor-22087 .elementor-element.elementor-element-61c629f,
.elementor-22087 .elementor-element.elementor-element-61c629f.elementor-invisible {
    background-color: #36348E !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Inner pages header */
.elementor-9088 .elementor-element.elementor-element-0911753 {
    background-color: #36348E !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure header overlaps hero on homepage */
.elementor-location-header {
    position: relative;
    z-index: 10001;
}

/* Hide the mobile header version on desktop */
.elementor-22087 .elementor-element.elementor-element-851ea7e.elementor-hidden-desktop,
.elementor-9088 .elementor-element.elementor-hidden-desktop {
    display: none !important;
}


/* ================================================================
   FIXES v2 — Added after production deployment review
   Addresses: button text visibility, counter display, accessibility
================================================================ */

/* ── BUTTON TEXT VISIBILITY
   Elementor kit-8 sets `a { color: #36348E }` which bleeds into
   .ara-btn-ghost (white text on dark blue) making text invisible.
   These rules use high specificity to override without !important
   where possible, falling back to !important on color only.
   ── */
a.ara-btn,
button.ara-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
  font-family: 'Work Sans', Inter, sans-serif;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  transition: all .22s ease;
}
a.ara-btn-ghost,
button.ara-btn-ghost {
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,.4) !important;
}
a.ara-btn-ghost:hover,
button.ara-btn-ghost:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,.1) !important;
}
a.ara-btn-gold,
button.ara-btn-gold {
  background: #FFC53A !important;
  color: #292929 !important;
}
a.ara-btn-blue,
button.ara-btn-blue {
  background: #36348E !important;
  color: #ffffff !important;
}
a.ara-btn-outline,
button.ara-btn-outline {
  background: transparent !important;
  color: #36348E !important;
  border: 1.5px solid #36348E !important;
}
a.ara-btn-lg,
button.ara-btn-lg {
  padding: 15px 32px !important;
  font-size: 15px !important;
}
/* Force all child elements of ara-btn to be visible */
.ara-btn > *,
.ara-btn svg {
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit !important;
}

/* ── HERO FACULTIES CARD TEXT
   SVG icons in hero faculty list were too small / invisible
   ── */
.ara-fac {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: rgba(255,255,255,.85) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.ara-fac svg {
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  color: #FFC53A !important;
}
.ara-fac:hover { color: #fff !important; }
.ara-hcard-lbl {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #FFC53A !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}
.ara-intk-m {
  display: block !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
}
.ara-intk.now .ara-intk-m { color: #292929 !important; }

/* ── STATS: display correct static numbers (no JS counter) ── */
.ara-sn,
.ara-oc-n {
  font-family: 'Work Sans', sans-serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 800 !important;
  color: #FFC53A !important;
  line-height: 1 !important;
}

/* ── FORM FEEDBACK ACCESSIBILITY ── */
[role="alert"] {
  animation: ara-fadeIn .3s ease;
}
@keyframes ara-fadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}

/* ── FOCUS STYLES (accessibility) ── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #FFC53A !important;
  outline-offset: 2px !important;
}

/* ── SKIP TO CONTENT LINK (accessibility) ── */
.skip-to-content {
  position: absolute;
  top: -100px;
  left: 16px;
  background: #36348E;
  color: #fff;
  padding: 10px 20px;
  border-radius: 0 0 6px 6px;
  font-weight: 600;
  z-index: 9999;
  transition: top .2s;
  text-decoration: none;
}
.skip-to-content:focus { top: 0; }

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  .ara-hero-badge,
  .ara-hero-h1,
  .ara-hero-sub,
  .ara-hero-ctas,
  .ara-hero-stats,
  .ara-hero-right,
  [data-reveal] {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
