/**
 * layout-responsive.css
 * 헤더·푸터·모바일 GNB 반응형 - 모든 HTML 공통 적용
 * - Tablet: max-width: 1199px
 * - Mobile: max-width: 768px (햄버거 + 사이드바)
 */

/* GNB 열림 시 AI 상담사 플로팅 버튼 숨김 */
body.menu-open #ai-chat-widget-root {
    display: none !important;
}

/* 데스크톱(769px 이상): 햄버거 숨김 */
.proto3-header .menu-controller {
    display: none;
}

/* ========== Tablet (768px ~ 1199px) ========== */
@media (max-width: 1199px) {
    .proto3-header {
        width: 90%;
        left: 50%;
        top: 16px;
    }
    /* 768px 이하: 메뉴 숨기고 햄버거 표시 */
    .proto3-header .menu-controller {
        display: flex;
    }
    .header-container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        gap: 2rem;
    }
    .header-nav {
        display: none;
    }
    .header-right {
        display: none;
    }
    .search-widget {
        display: none !important;
    }
    .menu-controller {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 0;
    }
    .proto3-footer,
    .footer-container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    .footer-container {
        padding: 0 1.5rem;
    }
    .footer-main {
        gap: 2rem;
    }
}

/* ========== Mobile (768px 이하) - 햄버거 + 사이드바 GNB ========== */
@media (max-width: 768px) {
    .proto3-header {
        width: 77%;
        top: 12px;
        padding: 10px 16px;
        min-height: auto;
    }
    .proto3-header.scrolled {
        padding: 10px 16px;
    }
    .header-logo img,
    .header-logo .header-logo__img {
        height: 22px;
    }
    .proto3-header.scrolled .header-logo img,
    .proto3-header.scrolled .header-logo .header-logo__img {
        height: 20px;
    }
    .header-nav {
        display: none;
    }
    .header-right {
        display: none;
    }
    .search-widget {
        display: none !important;
    }
    .menu-controller {
        margin-left: 0;
        min-width: 44px;
        min-height: 44px;
    }
    .header-container {
        gap: 0;
    }
    .proto3-header::before {
        right: 1.25rem;
    }
    .header-inquiry-message {
        left: 1rem;
        font-size: 0.9rem;
    }
    /* 푸터 */
    .footer-container {
        padding: 0 1rem;
    }
    .footer-main {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .footer-top {
        display: flex;
        justify-content: flex-start;
    }
    .footer-nav {
        gap: 1rem;
        justify-content: flex-start;
    }
    /* 모바일: global-nav 패딩·간격 추가 축소 */
    .global-nav-inner {
        padding: 3.5rem 1rem 1.5rem;
    }
    .global-nav-inner__content {
        gap: 1rem 1.5rem;
        padding-bottom: 1.5rem;
    }
    .global-nav-column__title {
        min-height: 44px;
        margin-bottom: 12px;
        font-size: clamp(18px, 4.5vw, 24px);
    }
    .global-nav-column__list a {
        font-size: clamp(13px, 3.5vw, 15px);
    }
}

