/* Native controls preserve the existing header while providing usable touch targets. */
.header .header-logo img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 2; object-fit: contain; }

.header .burger-menu {
    width: 44px;
    height: 44px;
    padding: 13px 12px 14px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: transparent;
}

.header .burger-menu .line-menu { flex-shrink: 0; background: currentColor; }
.header .burger-menu:hover { background: rgb(255 255 255 / 6%); }
.header .burger-menu:focus-visible { outline: 3px solid #7dd3fc; outline-offset: 2px; }

#popup-search-box { transition: opacity .18s ease; }
#popup-search-box button,
#popup-search-box .box-inner-wrap button { transition: background-color .15s ease, color .15s ease; }
#popup-search-box .box-inner-wrap button:focus-visible { outline: 3px solid #7dd3fc; outline-offset: 2px; }

.ge-search-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 50%;
    color: #fff;
    background: #191e42;
    font-size: 1.2rem;
}

@media (min-width: 992px) {
    .header .mobile-menu-icon { display: none; }
}

@media (max-width: 991.98px) {
    .header .primary-header-inner { min-height: 68px; }
    .header .primary-header .header-logo { max-width: 150px; padding-block: 4px; }
    .header .header-right { gap: 6px !important; margin-left: 6px !important; line-height: normal; }
    .header .header-right .search-icon { display: grid; place-items: center; width: 44px; height: 44px; font-size: 1.15rem; }
    .header .header-menu-wrap { max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain; }
    .header .header-menu-wrap ul li > a { display: flex; align-items: center; min-height: 44px; }
}

@media (max-width: 575.98px) {
    .header .primary-header .header-logo { max-width: 128px; }
    .header .header-right .default-btn { width: auto; height: 44px; line-height: 44px; padding-inline: 10px; }
}
