/* Gateway Network Toolkit - header. Loaded after the theme; !important only where
   Elementor or the Customizer set the same property inline or with !important. */

/* announcement strip: half height (44px -> 22px). The header template is already sticky. */
.xpro-theme-builder-header .elementor-element-annbar,
.xpro-theme-builder-header .elementor-element-annbar > .e-con-inner {
    --padding-top: 0px !important; --padding-bottom: 0px !important;
    padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important;
}
.xpro-theme-builder-header .elementor-element-annbar .elementor-widget-container,
.xpro-theme-builder-header .elementor-element-annbar p { margin: 0 !important; padding: 0 !important; }
.xpro-theme-builder-header .elementor-element-annbar,
.xpro-theme-builder-header .elementor-element-annbar * { line-height: 22px !important; font-size: 12px !important; }
.xpro-theme-builder-header .elementor-element-annbar .elementor-button { padding: 0 8px !important; min-height: 0 !important; }

/* Member login / My dashboard and Apply now: same size, one line, never overlapping */
.xpro-theme-builder-header .gln-header-cta {
    flex: 0 0 auto !important; width: auto !important; gap: 10px !important;
    align-items: center !important; flex-wrap: nowrap !important;
}
.xpro-theme-builder-header .gln-header-cta .elementor-widget-button { width: auto !important; margin: 0 !important; flex: 0 0 auto !important; }
.xpro-theme-builder-header .gln-header-cta .elementor-button {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px;
    white-space: nowrap !important; box-sizing: border-box !important;
    min-width: 150px !important; height: 42px !important; padding: 0 18px !important;
    font-size: 14px !important; line-height: 1 !important; border-radius: 999px !important;
}
@media (max-width: 1024px) {
    .xpro-theme-builder-header .gln-header-cta .elementor-button { min-width: 0 !important; height: 38px !important; padding: 0 14px !important; font-size: 13px !important; }
}

/* currency bubble sat on top of Apply now */
.woocs_auto_switcher { top: 150px !important; }

/* My dashboard dropdown */
.gln-dash { position: relative; display: inline-block; }
.gln-dash-caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; transition: transform .15s; }
.gln-dash:hover .gln-dash-caret, .gln-dash:focus-within .gln-dash-caret, .gln-dash.is-open .gln-dash-caret { transform: rotate(180deg); }
.gln-dash-menu { position: absolute; right: 0; top: 100%; padding-top: 8px; min-width: 230px; display: none; z-index: 9500; }
.gln-dash:hover .gln-dash-menu, .gln-dash:focus-within .gln-dash-menu, .gln-dash.is-open .gln-dash-menu { display: block; }
.gln-dash-menu ul { list-style: none; margin: 0; padding: 6px; background: #fff; border: 1px solid #E3E6EE; border-radius: 12px; box-shadow: 0 14px 34px rgba(10,16,40,.14); max-height: calc(100vh - 120px); overflow-y: auto; }
.gln-dash-menu li { margin: 0; }
.gln-dash-menu a.gln-dash-item { display: block; padding: 8px 12px; border-radius: 8px; font-family: 'Mulish', sans-serif; font-weight: 600; font-size: 13px; line-height: 1.3; color: #10152B; text-decoration: none; white-space: nowrap; }
.gln-dash-menu a.gln-dash-item:hover, .gln-dash-menu a.gln-dash-item:focus { background: #FFF4E0; color: #14304F; }
.gln-dash-menu li.gln-dash-sep { border-top: 1px solid #E3E6EE; margin: 6px 4px; padding: 0; }
.gln-dash-menu a.gln-logout-btn { display: block; text-align: center; margin: 2px 4px 4px; padding: 8px 12px; border: 1px solid #D64545; border-radius: 999px; font-family: 'Mulish', sans-serif; font-weight: 700; font-size: 13px; line-height: 1.2; color: #C43B3B; text-decoration: none; background: #fff; }
.gln-dash-menu a.gln-logout-btn:hover, .gln-dash-menu a.gln-logout-btn:focus { background: #D64545; color: #fff; }
.gln-dash a:focus-visible { outline: 2px solid #E8A317; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .gln-dash-caret { transition: none; } }
/* strip on phones: one line - event text trimmed with an ellipsis, "View events" hidden, login link kept */
@media (max-width: 767px) {
    .xpro-theme-builder-header .elementor-element-annbar > .e-con-inner {
        flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important;
        gap: 8px !important; padding-left: 12px !important; padding-right: 12px !important;
    }
    .xpro-theme-builder-header .elementor-element-annText { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; overflow: hidden !important; }
    .xpro-theme-builder-header .elementor-element-annText .elementor-widget-container,
    .xpro-theme-builder-header .elementor-element-annText p,
    .xpro-theme-builder-header .elementor-element-annText a {
        display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
    }
    .xpro-theme-builder-header .elementor-element-annLinks { flex: 0 0 auto !important; width: auto !important; flex-wrap: nowrap !important; }
    .xpro-theme-builder-header .elementor-element-annL1 { display: none !important; }
    .xpro-theme-builder-header .elementor-element-annbar .elementor-button { padding: 0 4px !important; white-space: nowrap !important; }
}