/* ═══════════════════════════════════════════════════════════════
   Nav Search Toggle — icon + expandable search input
   Desktop: header-widget-area (float right)
   Mobile:  mobmenu-right-panel (full width, first item)
   ═══════════════════════════════════════════════════════════════ */

@keyframes ncFadeInUp {
    0%   { transform: translateY(20px); opacity: 0; }
    100% { transform: translateY(0);    opacity: 1; }
}

@keyframes ncFadeOutDown {
    0%   { transform: translateY(0);    opacity: 1; }
    100% { transform: translateY(20px); opacity: 0; }
}

/* Hide in nav-primary and dropdown-nav (Genesis renders duplicates) */
.nav-primary .nc-nav-search-toggle,
.nav-primary .nc-nav-search-form,
#dropdown-nav .nc-nav-search-toggle,
#dropdown-nav .nc-nav-search-form {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   DESKTOP — scoped to .header-widget-area
   ═══════════════════════════════════════════════════════════════ */

/* Fix header overflow clipping */
.nc-nav-search-active .site-header .wrap,
.nc-nav-search-active .header-widget-area {
    overflow: visible !important;
}

/* Search icon: float right, appear at end */
.header-widget-area .nc-nav-search-toggle {
    list-style: none;
    float: right;
    margin-left: 12px;
}

.header-widget-area .nc-nav-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 15px 6px;
    color: #294b67;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .2s;
}

.header-widget-area .nc-nav-search-btn:hover {
    opacity: .6;
}

/* Search form: hidden, float right */
.header-widget-area .nc-nav-search-form {
    list-style: none;
    display: none;
    float: right;
    width: 450px;
}

.header-widget-area .nc-nav-search-form form {
    display: flex;
    align-items: center;
    border: 2px solid #294b67;
    padding: 0 12px;
}

.header-widget-area .nc-nav-search-form-icon {
    color: #294b67;
    flex-shrink: 0;
    margin-right: 8px;
}

.header-widget-area .nc-nav-search-form input[type="text"] {
    flex: 1;
    border: none;
    outline: none;
    font-family: "Public Sans", sans-serif;
    font-size: 16px;
    color: #294b67;
    padding: 10px 0;
    background: transparent;
    min-width: 0;
}

.header-widget-area .nc-nav-search-form input[type="text"]::placeholder {
    color: rgba(41, 75, 103, .5);
}

.header-widget-area .nc-nav-search-close {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    color: #294b67;
    padding: 4px 0 4px 12px;
    line-height: 1;
    display: flex;
    align-items: center;
}

.header-widget-area .nc-nav-search-close:hover {
    opacity: .6;
}

/* Desktop open state */
.header-widget-area .nc-nav-search-open .menu-item:not(.nc-nav-search-form):not(.nc-nav-search-toggle) {
    display: none !important;
}

.header-widget-area .nc-nav-search-open .nc-nav-search-toggle {
    display: none !important;
}

.header-widget-area .nc-nav-search-open .nc-nav-search-form {
    display: block !important;
    animation: ncFadeInUp .5s cubic-bezier(.77, 0, .175, 1) forwards;
}

/* Desktop closing state */
.header-widget-area .nc-nav-search-closing .nc-nav-search-form {
    display: block !important;
    animation: ncFadeOutDown .35s cubic-bezier(.77, 0, .175, 1) forwards;
}

.header-widget-area .nc-nav-search-closing .menu-item:not(.nc-nav-search-form):not(.nc-nav-search-toggle) {
    display: none !important;
}

.header-widget-area .nc-nav-search-closing .nc-nav-search-toggle {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE — scoped to .mobmenu-right-panel
   ═══════════════════════════════════════════════════════════════ */

/* Override mobmenu hover bg on search items */
.mobmenu-content #mobmenuright > .nc-nav-search-toggle > .nc-nav-search-btn:hover,
.mobmenu-content #mobmenuright > .nc-nav-search-form:hover {
    background-color: transparent !important;
}

/* Search icon: centered, full width, top of menu */
.mobmenu-right-panel .nc-nav-search-toggle {
    list-style: none;
    text-align: center;
    padding: 20px 0 15px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    margin: 0 40px;
}

.mobmenu-right-panel .nc-nav-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mobmenu-right-panel .nc-nav-search-btn svg {
    width: 32px;
    height: 32px;
}

/* Search form: hidden by default */
.mobmenu-right-panel .nc-nav-search-form {
    list-style: none;
    display: none;
    padding: 20px 40px 15px;
}

.mobmenu-right-panel .nc-nav-search-form form {
    display: flex;
    align-items: center;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    padding: 0 0 10px;
}

.mobmenu-right-panel .nc-nav-search-form-icon {
    color: #fff;
    flex-shrink: 0;
    margin-right: 10px;
}

.mobmenu-right-panel .nc-nav-search-form-icon svg,
.mobmenu-right-panel .nc-nav-search-form .nc-nav-search-form-icon {
    width: 22px;
    height: 22px;
}

.mobmenu-right-panel .nc-nav-search-form input[type="text"] {
    flex: 1;
    border: none;
    outline: none;
    font-family: "Public Sans", sans-serif;
    font-size: 18px;
    color: #fff;
    padding: 8px 0;
    background: transparent;
    min-width: 0;
}

.mobmenu-right-panel .nc-nav-search-form input[type="text"]::placeholder {
    color: rgba(255, 255, 255, .5);
}

.mobmenu-right-panel .nc-nav-search-close {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 24px;
    color: #fff;
    padding: 4px 0 4px 12px;
    line-height: 1;
    display: flex;
    align-items: center;
}

/* Mobile open state: hide all nav items, show search */
.mobmenu-right-panel .nc-nav-search-open .menu-item:not(.nc-nav-search-form):not(.nc-nav-search-toggle) {
    display: none !important;
}

.mobmenu-right-panel .nc-nav-search-open .nc-nav-search-toggle {
    display: none !important;
}

.mobmenu-right-panel .nc-nav-search-open .nc-nav-search-form {
    display: block !important;
}

/* Mobile closing state */
.mobmenu-right-panel .nc-nav-search-closing .nc-nav-search-form {
    display: block !important;
}

.mobmenu-right-panel .nc-nav-search-closing .menu-item:not(.nc-nav-search-form):not(.nc-nav-search-toggle) {
    display: none !important;
}

.mobmenu-right-panel .nc-nav-search-closing .nc-nav-search-toggle {
    display: none !important;
}
