/*#head-menu-total{*/
/*	display: none !important;*/
/*}*/
/*#head-menu-total-mobile{*/
/*	display: none !important;*/
/*}*/

html, body {
    font-family: "Gowun Dodum", sans-serif;
    overflow-x: hidden; /* 스크롤 숨김 */
    background-color: #111111;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* 전체 요소에 box-sizing 적용 */
}

/* 스크롤바 스타일 (컨셉 색상 반영) */
body::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-track { background: #fff5f0; }
body::-webkit-scrollbar-thumb { background: #fdac7a; border-radius: 5px; }
body::-webkit-scrollbar-thumb:hover { background: #fd7e14; }
.custom-scrollbar-orange::-webkit-scrollbar {
    width: 8px;
    height: 8px; /* 가로 스크롤도 고려 */
}
.custom-scrollbar-orange::-webkit-scrollbar-track {
    background: #fff5f0; /* body 스크롤바 트랙과 동일하게 또는 요소 배경에 맞게 */
    border-radius: 5px;
}
.custom-scrollbar-orange::-webkit-scrollbar-thumb {
    background: #fdac7a;
    border-radius: 5px;
}
.custom-scrollbar-orange::-webkit-scrollbar-thumb:hover {
    background: #fd7e14;
}

.shimmer-border-bottom {
    border-bottom: 3px solid transparent;
    position: relative;
    overflow: hidden;
}

.shimmer-border-bottom::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right,
    rgba(190, 162, 138, 1.0),
    rgba(253, 126, 20, 0.5),
    #fd7e14,
    rgba(253, 126, 20, 0.5),
    rgba(253, 126, 20, 0.3));
    background-size: 200% 100%;
    animation: shimmer 5s infinite ease-in-out;
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }
    50% {
        background-position: 50% 0;
    }
    100% {
        background-position: 200% 0;
    }
}


/* === 모바일 스타일 (max-width: 767px) === */
@media (max-width: 767px) { /* 768px 미만으로 통합 */

    .foot-quick-menu-wrapper {
        display: none; /* PC용 메뉴를 숨김 */
    }
    #quickMenuMobile {
        position: fixed;
        display: flex;
        flex-direction: column;
        bottom: 20%;
        right: 5px;
        z-index: 2;
    }
    #quickMenuMobile a img {
        width: 50px; /* 이미지 크기 명시적 지정 권장 */
        height: auto;
    }
    /* #quickMenuMobile img:nth-child(5) { display: block; }  -> 필요시 유지 */
    /* #quickMenuMobile a:last-child img { display: block; } -> 필요시 유지 */

    #head-menu-logo-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 15px 0px;
        /*margin-bottom: 20px;*/
    }
    #head-menu-logo-mobile-top {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 15px 0px;
        /*margin-bottom: 20px;*/
        background-color: #1c1c1c;
    }
    .head-menu-logo-mobile_headLogo_1{ /* 모바일 로고 크기 */
        width: 100px; /* 조정 필요 */
        height: auto;
    }

    #head-menu-intro-mobile a {
        display: flex;
        text-decoration: none !important;
        align-items: center;
        justify-content: center;
        color: #fd7e14;
        font-weight: bold;
    }
    .head-menu-kind-top-mobile {
        font-size: 26px;
        /* width: 160px !important; -> width 제거 또는 %로 변경 권장 */
        border-bottom: 0px !important;
        color: white !important;
        font-weight: bold;
        padding: 10px 15px; /* 내부 여백 추가 */
    }
    .headLogo-mobile { /* 이 클래스가 사용되는지 확인 필요, head-menu-logo-mobile_headLogo_1 와 중복 가능성 */
        height: 80px;
    }

    #headLoginMain { /* 모바일 상단 로그인 영역 */
        position: absolute;
        width: 100%;
        top: 10px; /* 약간의 여백 */
        left: 0;
        z-index: 9999;
        padding: 0 10px; /* 좌우 여백 */
    }
    .headLogin { /* 모바일 로그인 링크 컨테이너 */
        width: 100%;
        margin: auto;
        display: flex;
        justify-content: flex-end; /* 오른쪽 정렬 */
        align-items: center;
    }
    .headLogin a,
    .headLogin .logout-button_form .logout-button { /* 모바일 로그인 링크/버튼 */
        margin-left: 5px;
        margin-right: 5px;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.7); /* 가독성 위해 약간 밝게 */
        font-size: 13px; /* 모바일 폰트 크기 */
        display: flex;
        align-items: center;
        padding: 5px; /* 클릭 영역 확보 */
    }
    .logout-button{ /* 모바일 로그아웃 버튼 기본 스타일 */
        font-size: 13px  !important;
        color: rgba(255, 255, 255, 0.7) !important;
        background: none;
        border: none;
        cursor: pointer;
        padding: 5px;
    }
    .logout-button_form{
        display: flex;
        align-items: center;
    }

    /* 모바일 햄버거 메뉴 관련 */
    #head-menu-total {
        display: none; /* PC 메뉴 숨김 */
    }
    #head-menu-total-mobile {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: -100%; /* 완전히 화면 밖으로 */
        left: 0;
        width: 100%;
        background: #111111;
        transition: top 0.4s ease-in-out;
        z-index: 9998; /* 햄버거 버튼보다 아래 */
        border-bottom: 4px solid rgba(0, 0, 0, 0.5);
        overflow-y: auto; /* 내용 많을 시 스크롤 */
    }
    #head-menu-total-mobile.active { /* JS로 active 클래스 추가 시 보이도록 */
        top: 0;
    }

    #head-menu-intro-mobile, /* 사용되지 않는다면 제거 */
    #head-menu-treatment-mobile, /* 사용되지 않는다면 제거 */
    #head-menu-time-mobile, /* 사용되지 않는다면 제거 */
    #head-menu-petit-mobile { /* 사용되지 않는다면 제거 */
        position: relative;
        width: 100%;
        font-size: 20px;
        color: white;
    }
    #head-menu-total-mobile div span.head-menu-kind-mobile { /* 메뉴 카테고리 제목 */
        display: flex; /* 화살표 아이콘 정렬 위해 */
        justify-content: center;
        align-items: center;
        width: 100%;
        line-height: 45px;
        padding: 0 20px; /* 좌우 패딩 */
        vertical-align: middle;
        border-bottom: 1px solid #333; /* 구분선 색상 변경 */
        font-family: "Gowun Dodum", sans-serif;
        cursor: pointer; /* 클릭 가능 표시 */
    }
    #head-menu-total-mobile div div.subMenu-mobile p { /* 서브메뉴 아이템 */
        border-bottom: 1px solid #333;
        font-family: "Gowun Dodum", sans-serif;
        font-size: 16px;
        padding: 12px 0px;
        margin-bottom: 0px !important;
    }
    #head-menu-total-mobile div div.subMenu-mobile p a {
        display: block; /* 전체 영역 클릭 가능하도록 */
        width: 100%;
        padding-left: 35px; /* 들여쓰기 */
        font-size: 16px;
        text-decoration: none;
        color: #ccc; /* 서브메뉴 글자색 */
        font-family: "Gowun Dodum", sans-serif;
        transition: color 0.2s, background-color 0.2s;
    }
    #head-menu-total-mobile div div.subMenu-mobile p a:hover {
        color: #fd7e14;
        background-color: #222;
    }
    /* #head-menu-total-mobile div div p:first-child { margin-top: 0px; } -> 불필요시 제거 */

    .subMenu-mobile {
        height: 0;
        overflow: hidden;
        transition: height 0.3s ease-in-out;
        background-color: #1a1a1a; /* 서브메뉴 배경색 */
    }
    .subMenu-mobile.open { /* JS로 open 클래스 추가 시 열리도록 */
        height: auto; /* 내용에 맞게 높이 자동 조절 (주의: transition과 height:auto는 직접적으로 호환 안될 수 있음, max-height 트릭 사용 가능) */
        /* max-height: 500px;  예시: 충분히 큰 값으로 설정 후, 실제 높이는 JS로 계산하여 설정하거나, padding으로 조절 */
    }

    .hamburger { /* 햄버거 버튼 */
        position: fixed;
        top: 10px;
        left: 10px;
        z-index: 10000; /* 최상단 */
        display: block;
        cursor: pointer;
        background-color: transparent;
        border: none;
        padding: 5px;
    }
    .hamburger img#hamburgerImg { /* ID 선택자 사용 */
        width: 30px; /* 크기 조정 */
        height: 30px;
        transition: transform 0.3s ease-in-out;
    }
    .hamburger.active img#hamburgerImg { /* 햄버거 메뉴 열렸을 때 X 모양으로 (SVG 사용 권장) */
        transform: rotate(45deg); /* 간단한 회전 예시, 실제 X 모양은 이미지 교체 또는 SVG path 변경 필요 */
    }
    /* @keyframes changeBorderColor { 52.86% { border-color: white; } } -> 사용처 불분명시 제거 */

    /* #headLoginMain-mobile { margin-bottom: 0px; } -> #headLoginMain 스타일로 통합 */

    .arrow-menu { /* 모바일 메뉴 화살표 */
        /* position: absolute; -> span 내부에서 flex로 정렬하므로 불필요 */
        /* right: 20px; */
        font-style: normal;
        transition: transform 0.3s ease;
    }
    .arrow-menu::before { /* 화살표 모양 */
        content: '▼';
        display: inline-block;
        font-size: 12px; /* 화살표 크기 */
    }
    .arrow-menu.up::before { /* 열렸을 때 화살표 모양 */
        transform: rotate(180deg);
    }
    /* .head-menu-kind-mobile.upup -> .head-menu-kind-mobile에 active 클래스 등으로 상태 관리 권장 */

    /* === 모바일 푸터 스타일 === */
    .footer {
        background-color: #000000;
        color: #cccccc;
        padding: 10px 10px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        font-family: "Gowun Dodum", sans-serif;
        gap: 10px; /* 섹션 간 간격 */
    }

    .footer-section {
        width: 100%;
        max-width: 400px;
        margin-bottom: 10px; /* 푸터 섹션 간 하단 마진 */
    }
    .footer-section:last-child {
        margin-bottom: 0;
    }

    .footer-section.site-info {
        align-items: center;
    }

    .footer-logo {
        margin-bottom: 10px;
    }
    .footer-logo img.headLogo_2 {
        max-height: 35px;
        width: auto;
        filter: brightness(0.9) saturate(0.8);
    }

    .footer-section h4 {
        font-family: "Cormorant Infant", serif;
        font-size: 16px;
        color: #fd7e14;
        margin-bottom: 10px;
        font-weight: 600;
        border-bottom: none; /* 모바일에선 제목 밑줄 제거 또는 얇게 */
        padding-bottom: 5px;
    }

    .info-text p {
        font-size: 13px;
        line-height: 1.6;
        margin-bottom: 4px;
        color: #aaaaaa;
    }
    .info-text p strong {
        color: #cccccc;
        font-weight: 600;
    }

    .footer-section.menu-links ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .footer-section.menu-links li {
        margin-bottom: 8px;
    }
    .footer-section.menu-links a {
        text-decoration: none;
        color: #aaaaaa;
        font-size: 13px;
        display: block; /* 터치 영역 확보 */
        padding: 1px 0; /* 상하 패딩 */
        transition: color 0.2s ease;
    }
    .footer-section.menu-links a:hover {
        color: #fd7e14;
    }

    .copyright {
        background-color: #000000;
        color: #777777;
        text-align: center;
        padding: 15px 5%;
        font-size: 12px;
        font-family: "Cormorant Infant", serif;
        font-weight: 400;
        border-top: 1px solid #1a1a1a;
        width: 100%;
    }

    /* 기존 모바일 푸터 스타일 중 선택적 통합 */
    /* .footpopup, .footpopup p a 등은 새로운 구조에 맞게 불필요하거나 수정 필요 */
}


/* === 태블릿 스타일 (min-width: 768px and max-width: 1023px) === */
@media (min-width: 768px) and (max-width: 1023px) {
    /* 태블릿 퀵메뉴, 헤더 등은 기존 코드 유지 (필요시 여기에 스타일 추가/수정) */
    .headLogins{
        display: flex;

    }
    .headLoginHrefs{
        margin-right: 20px;
    }
    .headLoginHrefs headLoginHrefs-sub,
    .logout-button {
        background-color: transparent;
        border: none;
        color: white;
        font-size: 13px;
        cursor: pointer;
        padding: 0;
        font-family: "Gowun Dodum", sans-serif;
        display: flex;

    }
    #quickMenuMobile,
    #head-menu-total-mobile,
    .hamburger {
        display: none; /* 모바일/태블릿 요소 숨김 */
    }

    /* PC 상단 로그인 */
    #headLoginMain {
        position: absolute; /* 또는 fixed, 상황에 따라 */
        top: 10px; /* 상단 여백 */
        right: 5%; /* 오른쪽 여백 */
        width: auto; /* 내용에 맞게 */
        z-index: 10000; /* 헤더 메뉴보다 위 */
    }
    .headLogin {
        display: flex;
        align-items: center;
        /* width: 1050px; -> 불필요, #headLoginMain에서 위치 제어 */
        /* margin: auto; -> 불필요 */
        /* justify-content: flex-end; -> #headLoginMain에서 right 정렬 */
    }
    .headLogin a,
    .headLogin button.logout-button { /* .logout-button_form 내부 버튼도 포함되도록 */
        font-size: 14px; /* 기존 15px, 통일성 위해 14px로 조정 가능 */
        margin-left: 15px; /* 링크 간 간격 */
        text-decoration: none;
        color: white;
        transition: color 0.3s;
        font-family: "Gowun Dodum", sans-serif;
        letter-spacing: .03em;
        font-weight: 500;
        background-color: transparent;
        border: none;
        cursor: pointer;
        padding: 5px 0; /* 상하 패딩으로 클릭 영역 확보 */
        line-height: normal;
    }
    .headLogin a:first-child,
    .headLogin button.logout-button:first-child { /* 첫번째 링크/버튼의 왼쪽 마진 제거 */
        margin-left: 0;
    }
    .headLogin a:hover,
    .headLogin button.logout-button:hover {
        color: #fd7e14; /* 호버 시 포인트 컬러 */
    }
    .headLoginHrefs-sub { /* 이 클래스 사용시 */

        font-size: 13px !important; /* 더 작은 폰트 */
        margin-left: 50px !important;
    }
    /* .headLoginHrefs{ margin-left:50px; } -> .headLogin a 의 margin-left로 대체 */
    .headLoginHrefs{
        margin-left: 50px;
        text-decoration: none;
        color: white;
    }

    /* PC 메인 네비게이션 메뉴 */
    #head-menu-total {
        display: block; /* PC 메뉴 보이도록 */
        width: 100%;
        height: 80px; /* 헤더 높이 */
        position: fixed;
        top: 0;
        left: 0; /* left:0 추가 */
        z-index: 9998;
        background: rgba(0, 0, 0, 0.7); /* 약간 더 진하게 */
        border-bottom: 1px solid rgba(255,255, 255, 0.20); /* 더 연하게 */
        transition: background-color 0.3s, box-shadow 0.3s; /* 스크롤 시 효과 부드럽게 */
    }
    #head-menu-total.scrolled { /* JS로 스크롤 시 클래스 추가 */
        background: rgba(0, 0, 0, 0.9);
        box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    }

    .head-menu-gide {
        width: 100%; /* 가로 꽉 채움 */
        max-width: 1400px; /* 최대 너비 제한 */
        margin: 0 auto; /* 중앙 정렬 */
        padding: 0 20px; /* 좌우 내부 여백 */
        position: relative;
        height: 100%;
        display: flex; /* 로고와 메뉴 정렬 */
        justify-content: space-between; /* 로고와 메뉴+로그인 영역 분리 */
        align-items: center;
    }

    /* 로고 스타일 (PC) */
    #head-menu-logo {
        display: flex;
        align-items: center;
        /* margin-right: 5rem; -> head-menu-gide에서 space-between으로 대체 */
    }
    #head-menu-logo a.logo-link { /* 로고 링크 */
        text-decoration: none;
        display: flex;
        align-items: center;
    }
    img.headLogo_1 { /* PC 로고 이미지 클래스 */
        width: auto; /* 원본 비율 유지 */
        height: 100%; /* 로고 높이 조절 */
        margin-right: 120px;
        /* width: 130px; -> height 기준으로 auto width 권장 */
    }
    #head-menu-logo span { /* 로고 옆 텍스트 (필요시) */
        margin-left: 10px;
        color: white;
        font-weight: bold;
        font-size: 20px;
        text-transform: uppercase;
        font-family: "Gowun Dodum", sans-serif;
        /* border-bottom: 0px; */
    }

    /* 메뉴 컨테이너 (PC) */
    .mainMenu { /* 이 클래스는 이제 메뉴 아이템들을 감싸는 역할만 */
        display: flex;
        height: 100%;
        align-items: center;
        /* width: 100%; -> 불필요 */
        /* margin: auto; -> 불필요 */
        /* justify-content: flex-start; -> head-menu-gide에서 제어 */
        /* font-size: 18px; -> .menu-item .nav-link에서 정의 */
        /* color: white; -> .menu-item .nav-link에서 정의 */
    }
    .menu-container { /* mainMenu 클래스 대신 사용하거나, mainMenu 내부의 실제 메뉴 리스트 */
        display: flex;
        height: 100%;
        align-items: center;
    }

    /* 메뉴 아이템 (PC) */
    .menu-item {
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
        margin: 0 10px; /* 메뉴 간 간격 조정 */
    }
    .menu-item .nav-link {
        text-decoration: none;
        padding: 0 15px; /* 좌우 패딩으로 클릭 영역 확보 */
        display: flex;
        align-items: center;
        height: 100%;
        transition: color 0.3s, background-color 0.3s;
        color: white;
        text-transform: uppercase;
        font-family: "Gowun Dodum", sans-serif;
        font-size: 18px; /* 메뉴 폰트 크기 */
        line-height: .93333em; /* 기본값 또는 normal 권장 */
        letter-spacing: .03em;
        font-weight: 500;
        position: relative; /* 밑줄 효과 위해 */
    }
    .menu-item .nav-link::after { /* 호버 시 밑줄 효과 */
        content: '';
        position: absolute;
        bottom: 20px; /* 텍스트와의 간격 */
        left: 50%;
        width: 0;
        height: 2px;
        background-color: #fd7e14;
        transition: all 0.3s ease-in-out;
        transform: translateX(-50%);
    }
    .menu-item:hover .nav-link::after,
    .menu-item.active .nav-link::after { /* 현재 활성 메뉴에도 밑줄 */
        width: calc(100% - 30px); /* 패딩 제외한 너비 */
    }
    .menu-item .nav-link:hover {
        color: #fd7e14; /* 호버 시 텍스트 색상 변경 */
        /* background-color: rgba(255,255,255,0.1); 호버 배경색 (선택) */
    }
    .menu-item.dropdown .nav-link i { /* 드롭다운 화살표 아이콘 (FontAwesome 등 사용 시) */
        margin-left: 8px;
        font-size: 12px;
    }

    /* 서브메뉴 스타일 (PC) */
    .submenu {
        position: absolute;
        top: 100%; /* 주메뉴 바로 아래 */
        left: 0;
        min-width: 200px; /* 서브메뉴 최소 너비 */
        background: rgba(17, 17, 17, 0.95); /* 배경색 (메인 헤더보다 조금 더 어둡거나 다르게) */
        border-radius: 0 0 8px 8px; /* 하단 모서리 둥글게 */
        box-shadow: 0 8px 15px rgba(0,0,0,0.2);
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px); /* 나타날 때 약간 아래서 위로 */
        transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
        z-index: 9999;
        list-style: none;
        padding: 10px 0; /* 상하 패딩 */
        margin: 0;
        font-family: "Gowun Dodum", sans-serif;
    }
    .menu-item.dropdown:hover .submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .submenu li {
        padding: 0;
        margin: 0;
    }
    .submenu li a {
        display: block;
        padding: 12px 20px; /* 서브메뉴 아이템 패딩 */
        color: #ccc; /* 서브메뉴 글자색 */
        text-decoration: none;
        font-size: 15px;
        transition: color 0.3s, background-color 0.3s;
        text-transform: none; /* 서브메뉴는 대문자 변환 안함 */
    }
    .submenu li a:hover {
        background: rgba(253, 126, 20, 0.15); /* 호버 배경색 (포인트 컬러 연하게) */
        color: #fd7e14; /* 호버 글자색 */
        /* font-weight: bold; -> 불필요 시 제거 */
    }


    /* === PC 푸터 스타일 === */
    .footer {
        background-color: #000000;
        color: #cccccc;
        padding: 25px 5%;
        display: flex;
        flex-wrap: nowrap; /* 섹션들이 한 줄에 강제로 배치되도록 */
        /* justify-content: space-between; -> 중앙 정렬을 위해 변경 */
        justify-content: center; /* 중요: 자식 요소들(섹션들)을 가로 중앙으로 정렬 */
        align-items: flex-start; /* 섹션들 상단 정렬 */
        gap: 30px; /* 섹션 간 최소 간격 (중앙 정렬 시에는 이 간격이 유지됨) */
        font-family: "Gowun Dodum", sans-serif;
        min-height: auto;
    }

    .footer-section {
        /* flex: 1; -> 각 섹션이 동일 비율로 커지는 것을 방지하고 내용만큼만 차지하도록 */
        flex-basis: auto; /* 내용에 따라 너비 결정 */
        flex-grow: 0;     /* 추가 공간이 생겨도 늘어나지 않도록 */
        flex-shrink: 1;   /* 공간이 부족할 때 줄어들 수 있도록 (기본값) */
        /* min-width는 필요시 설정 */
        margin-bottom: 0;
        text-align: left;
        padding: 0 10px;
    }

    .footer-section h4 {
        font-family: "Cormorant Infant", serif;
        font-size: 16px;
        color: #fd7e14;
        margin-bottom: 10px;
        font-weight: 600;
        border-bottom: 1px solid #333333;
        padding-bottom: 8px;
        white-space: nowrap;
    }

    /* 섹션 1: 사이트 정보 (로고, 기본 정보) */
    .footer-section.site-info {
        /* flex-basis: auto; 이미 위에서 설정됨 */
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 15px;
        /* flex-shrink: 0; -> 이미 위에서 flex-grow:0으로 설정하여 내용만큼만 차지 */
    }
    .footer-logo {
        margin-bottom: 0;
        flex-shrink: 0;
    }
    .footer-logo img.headLogo_2 {
        max-height: 35px;
    }
    .info-text p {
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 3px;
        color: #aaaaaa;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 230px; /* 필요에 따라 조절 */
    }
    .info-text p strong {
        color: #cccccc;
    }

    /* 섹션 2: 메뉴 링크 */
    .footer-section.menu-links {
        /* flex-basis: auto; 이미 위에서 설정됨 */
        /* flex-grow: 0; -> 중앙 정렬을 위해 늘어나지 않도록 */
        /* max-width는 필요시 설정 */
    }
    .footer-section.menu-links ul {
        list-style: none; padding: 0; margin: 0;
        display: flex;
        flex-wrap: wrap; /* 메뉴가 많을 경우 줄바꿈 허용 */
        gap: 10px 15px;
        justify-content: center; /* 메뉴 아이템들도 내부에서 중앙 정렬 (선택 사항) */
    }
    .footer-section.menu-links li {
        margin-bottom: 0;
    }
    .footer-section.menu-links a {
        text-decoration: none;
        color: #aaaaaa;
        font-size: 16px;
        white-space: nowrap;
        padding: 3px 5px;
        transition: color 0.3s ease;
    }
    .footer-section.menu-links a:hover {
        color: #fd7e14;
    }

    /* (선택) 푸터 소셜 링크 (PC) */
    .footer-section.social-links {
        /* flex-basis: auto; 이미 위에서 설정됨 */
        /* flex-shrink: 0; -> 내용만큼만 차지하도록 */
        text-align: center; /* 내부 아이콘들 중앙 정렬 (선택 사항) */
    }
    .footer-section.social-links h4 {
        display: none;
    }
    .footer-section.social-links .social-icons {
        display: flex;
        gap: 10px;
        justify-content: center; /* 아이콘 중앙 정렬 */
    }
    .footer-section.social-links .social-icons a {
        color: #aaaaaa;
        font-size: 18px;
        transition: color 0.3s ease;
    }
    .footer-section.social-links .social-icons a:hover {
        color: #fd7e14;
    }

    .copyright {
        background-color: #000000;
        color: #777777;
        text-align: center;
        padding: 15px 5%;
        font-size: 16px;
        font-family: "Cormorant Infant", serif;
        font-weight: 400;
        border-top: 1px solid #1a1a1a;
        width: 100%;
    }


    /* PC 퀵 메뉴 스타일 (기존 코드 유지) */
    .foot-quick-total { width: 100%; }
    .foot-quick-menu-wrapper {
        position: fixed;
        bottom: 0;
        width: 100%;
        height: 50px;
        background: rgba(0, 0, 0, 0.1); /* 투명도 조절 */
        z-index: 9999999;
        /* box-shadow: 0 -2px 5px rgba(0,0,0,0.1); 상단 그림자 (선택) */
    }
    .foot-quick-menu {
        display: flex;
        width: 100%;
        max-width: 1400px; /* 최대 너비 */
        height: 100%; /* 부모 높이 상속 */
        margin: auto;
        justify-content: center; /* 중앙 정렬 */
        align-items: center;
    }
    .foot-quick-menu div[class^="foot-quick-menu-div"] { /* div1, div2, div3, div4 공통 */
        display: flex;
        flex: 1; /* 동일 비율로 공간 차지 */
        max-width: 220px; /* 최대 너비 제한 (선택) */
        height: 100%;
        align-items: center;
        justify-content: center;
        transition: background-color 0.3s; /* 호버 효과 */
    }
    .foot-quick-menu div[class^="foot-quick-menu-div"]:not(:last-child) {
        border-right: 1px solid rgba(255,255,255,0.1); /* 구분선 */
    }
    .foot-quick-menu div p {
        font-size: 18px; /* 폰트 크기 조정 */
        color: #333; /* 기본 글자색 */
        letter-spacing: 1px;
        font-weight: 500; /* 굵기 조정 */
    }
    .foot-quick-menu div p a {
        text-decoration: none;
        color: inherit; /* 부모 p 태그 색상 상속 */
        display: block; /* 전체 영역 링크 */
        padding: 0 15px; /* 좌우 패딩 */
    }

    .foot-quick-menu-div1 { background-color: #07366c; }
    .foot-quick-menu-div1 p { color: white !important; }
    .foot-quick-menu-div2,
    .foot-quick-menu-div3,
    .foot-quick-menu-div4 { background-color: #e0e0e0; } /* 밝은 회색 */

    .foot-quick-menu div[class^="foot-quick-menu-div"]:hover {
        background-color: #fd7e14; /* 호버 시 주황색 배경 */
    }
    .foot-quick-menu div[class^="foot-quick-menu-div"]:hover p,
    .foot-quick-menu div[class^="foot-quick-menu-div"]:hover p a {
        color: white !important; /* 호버 시 글자 흰색 */
    }
}


/* === PC 스타일 (min-width: 1024px) === */
@media screen and (min-width: 1024px) {
    .headLogins{
        display: flex;

    }
    #head-menu-logo-mobile-top{
        display: none;
    }
    .headLoginHrefs{
        margin-right: 20px;
    }
    .headLoginHrefs headLoginHrefs-sub,
    .logout-button {
        background-color: transparent;
        border: none;
        color: white;
        font-size: 13px;
        cursor: pointer;
        padding: 0;
        font-family: "Gowun Dodum", sans-serif;
        display: flex;

    }
    #quickMenuMobile,
    #head-menu-total-mobile,
    .hamburger {
        display: none; /* 모바일/태블릿 요소 숨김 */
    }

    /* PC 상단 로그인 */
    #headLoginMain {
        position: absolute; /* 또는 fixed, 상황에 따라 */
        top: 10px; /* 상단 여백 */
        right: 5%; /* 오른쪽 여백 */
        width: auto; /* 내용에 맞게 */
        z-index: 10000; /* 헤더 메뉴보다 위 */
    }
    .headLogin {
        display: flex;
        align-items: center;
        /* width: 1050px; -> 불필요, #headLoginMain에서 위치 제어 */
        /* margin: auto; -> 불필요 */
        /* justify-content: flex-end; -> #headLoginMain에서 right 정렬 */
    }
    .headLogin a,
    .headLogin button.logout-button { /* .logout-button_form 내부 버튼도 포함되도록 */
        font-size: 14px; /* 기존 15px, 통일성 위해 14px로 조정 가능 */
        margin-left: 15px; /* 링크 간 간격 */
        text-decoration: none;
        color: white;
        transition: color 0.3s;
        font-family: "Gowun Dodum", sans-serif;
        letter-spacing: .03em;
        font-weight: 500;
        background-color: transparent;
        border: none;
        cursor: pointer;
        padding: 5px 0; /* 상하 패딩으로 클릭 영역 확보 */
        line-height: normal;
    }
    .headLogin a:first-child,
    .headLogin button.logout-button:first-child { /* 첫번째 링크/버튼의 왼쪽 마진 제거 */
        margin-left: 0;
    }
    .headLogin a:hover,
    .headLogin button.logout-button:hover {
        color: #fd7e14; /* 호버 시 포인트 컬러 */
    }
    .headLoginHrefs-sub { /* 이 클래스 사용시 */

        font-size: 13px !important; /* 더 작은 폰트 */
        margin-left: 50px !important;
    }
    /* .headLoginHrefs{ margin-left:50px; } -> .headLogin a 의 margin-left로 대체 */
    .headLoginHrefs{
        margin-left: 50px;
        text-decoration: none;
        color: white;
    }

    /* PC 메인 네비게이션 메뉴 */
    #head-menu-total {
        display: block; /* PC 메뉴 보이도록 */
        width: 100%;
        height: 80px; /* 헤더 높이 */
        position: fixed;
        top: 0;
        left: 0; /* left:0 추가 */
        z-index: 9998;
        background: rgba(0, 0, 0, 0.7); /* 약간 더 진하게 */
        border-bottom: 1px solid rgba(255,255, 255, 0.20); /* 더 연하게 */
        transition: background-color 0.3s, box-shadow 0.3s; /* 스크롤 시 효과 부드럽게 */
    }
    #head-menu-total.scrolled { /* JS로 스크롤 시 클래스 추가 */
        background: rgba(0, 0, 0, 0.9);
        box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    }

    .head-menu-gide {
        width: 100%; /* 가로 꽉 채움 */
        max-width: 1400px; /* 최대 너비 제한 */
        margin: 0 auto; /* 중앙 정렬 */
        padding: 0 20px; /* 좌우 내부 여백 */
        position: relative;
        height: 100%;
        display: flex; /* 로고와 메뉴 정렬 */
        justify-content: space-between; /* 로고와 메뉴+로그인 영역 분리 */
        align-items: center;
    }

    /* 로고 스타일 (PC) */
    #head-menu-logo {
        display: flex;
        align-items: center;
        /* margin-right: 5rem; -> head-menu-gide에서 space-between으로 대체 */
    }
    #head-menu-logo a.logo-link { /* 로고 링크 */
        text-decoration: none;
        display: flex;
        align-items: center;
    }
    img.headLogo_1 { /* PC 로고 이미지 클래스 */
        width: auto; /* 원본 비율 유지 */
        height: 100%; /* 로고 높이 조절 */
        margin-right: 120px;
        /* width: 130px; -> height 기준으로 auto width 권장 */
    }
    #head-menu-logo span { /* 로고 옆 텍스트 (필요시) */
        margin-left: 10px;
        color: white;
        font-weight: bold;
        font-size: 20px;
        text-transform: uppercase;
        font-family: "Gowun Dodum", sans-serif;
        /* border-bottom: 0px; */
    }

    /* 메뉴 컨테이너 (PC) */
    .mainMenu { /* 이 클래스는 이제 메뉴 아이템들을 감싸는 역할만 */
        display: flex;
        height: 100%;
        align-items: center;
        /* width: 100%; -> 불필요 */
        /* margin: auto; -> 불필요 */
        /* justify-content: flex-start; -> head-menu-gide에서 제어 */
        /* font-size: 18px; -> .menu-item .nav-link에서 정의 */
        /* color: white; -> .menu-item .nav-link에서 정의 */
    }
    .menu-container { /* mainMenu 클래스 대신 사용하거나, mainMenu 내부의 실제 메뉴 리스트 */
        display: flex;
        height: 100%;
        align-items: center;
    }

    /* 메뉴 아이템 (PC) */
    .menu-item {
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
        margin: 0 10px; /* 메뉴 간 간격 조정 */
    }
    .menu-item .nav-link {
        text-decoration: none;
        padding: 0 15px; /* 좌우 패딩으로 클릭 영역 확보 */
        display: flex;
        align-items: center;
        height: 100%;
        transition: color 0.3s, background-color 0.3s;
        color: white;
        text-transform: uppercase;
        font-family: "Gowun Dodum", sans-serif;
        font-size: 18px; /* 메뉴 폰트 크기 */
        line-height: .93333em; /* 기본값 또는 normal 권장 */
        letter-spacing: .03em;
        font-weight: 500;
        position: relative; /* 밑줄 효과 위해 */
    }
    .menu-item .nav-link::after { /* 호버 시 밑줄 효과 */
        content: '';
        position: absolute;
        bottom: 20px; /* 텍스트와의 간격 */
        left: 50%;
        width: 0;
        height: 2px;
        background-color: #fd7e14;
        transition: all 0.3s ease-in-out;
        transform: translateX(-50%);
    }
    .menu-item:hover .nav-link::after,
    .menu-item.active .nav-link::after { /* 현재 활성 메뉴에도 밑줄 */
        width: calc(100% - 30px); /* 패딩 제외한 너비 */
    }
    .menu-item .nav-link:hover {
        color: #fd7e14; /* 호버 시 텍스트 색상 변경 */
        /* background-color: rgba(255,255,255,0.1); 호버 배경색 (선택) */
    }
    .menu-item.dropdown .nav-link i { /* 드롭다운 화살표 아이콘 (FontAwesome 등 사용 시) */
        margin-left: 8px;
        font-size: 12px;
    }

    /* 서브메뉴 스타일 (PC) */
    .submenu {
        position: absolute;
        top: 100%; /* 주메뉴 바로 아래 */
        left: 0;
        min-width: 200px; /* 서브메뉴 최소 너비 */
        background: rgba(17, 17, 17, 0.95); /* 배경색 (메인 헤더보다 조금 더 어둡거나 다르게) */
        border-radius: 0 0 8px 8px; /* 하단 모서리 둥글게 */
        box-shadow: 0 8px 15px rgba(0,0,0,0.2);
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px); /* 나타날 때 약간 아래서 위로 */
        transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
        z-index: 9999;
        list-style: none;
        padding: 10px 0; /* 상하 패딩 */
        margin: 0;
        font-family: "Gowun Dodum", sans-serif;
    }
    .menu-item.dropdown:hover .submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .submenu li {
        padding: 0;
        margin: 0;
    }
    .submenu li a {
        display: block;
        padding: 12px 20px; /* 서브메뉴 아이템 패딩 */
        color: #ccc; /* 서브메뉴 글자색 */
        text-decoration: none;
        font-size: 15px;
        transition: color 0.3s, background-color 0.3s;
        text-transform: none; /* 서브메뉴는 대문자 변환 안함 */
    }
    .submenu li a:hover {
        background: rgba(253, 126, 20, 0.15); /* 호버 배경색 (포인트 컬러 연하게) */
        color: #fd7e14; /* 호버 글자색 */
        /* font-weight: bold; -> 불필요 시 제거 */
    }


    /* === PC 푸터 스타일 === */
    .footer {
        background-color: #000000;
        color: #cccccc;
        padding: 25px 5%;
        display: flex;
        flex-wrap: nowrap; /* 섹션들이 한 줄에 강제로 배치되도록 */
        /* justify-content: space-between; -> 중앙 정렬을 위해 변경 */
        justify-content: center; /* 중요: 자식 요소들(섹션들)을 가로 중앙으로 정렬 */
        align-items: flex-start; /* 섹션들 상단 정렬 */
        gap: 30px; /* 섹션 간 최소 간격 (중앙 정렬 시에는 이 간격이 유지됨) */
        font-family: "Gowun Dodum", sans-serif;
        min-height: auto;
    }

    .footer-section {
        /* flex: 1; -> 각 섹션이 동일 비율로 커지는 것을 방지하고 내용만큼만 차지하도록 */
        flex-basis: auto; /* 내용에 따라 너비 결정 */
        flex-grow: 0;     /* 추가 공간이 생겨도 늘어나지 않도록 */
        flex-shrink: 1;   /* 공간이 부족할 때 줄어들 수 있도록 (기본값) */
        /* min-width는 필요시 설정 */
        margin-bottom: 0;
        text-align: left;
        padding: 0 10px;
    }

    .footer-section h4 {
        font-family: "Cormorant Infant", serif;
        font-size: 16px;
        color: #fd7e14;
        margin-bottom: 10px;
        font-weight: 600;
        border-bottom: 1px solid #333333;
        padding-bottom: 8px;
        white-space: nowrap;
    }

    /* 섹션 1: 사이트 정보 (로고, 기본 정보) */
    .footer-section.site-info {
        /* flex-basis: auto; 이미 위에서 설정됨 */
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 15px;
        /* flex-shrink: 0; -> 이미 위에서 flex-grow:0으로 설정하여 내용만큼만 차지 */
    }
    .footer-logo {
        margin-bottom: 0;
        flex-shrink: 0;
    }
    .footer-logo img.headLogo_2 {
        max-height: 35px;
    }
    .info-text p {
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 3px;
        color: #aaaaaa;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 230px; /* 필요에 따라 조절 */
    }
    .info-text p strong {
        color: #cccccc;
    }

    /* 섹션 2: 메뉴 링크 */
    .footer-section.menu-links {
        /* flex-basis: auto; 이미 위에서 설정됨 */
        /* flex-grow: 0; -> 중앙 정렬을 위해 늘어나지 않도록 */
        /* max-width는 필요시 설정 */
    }
    .footer-section.menu-links ul {
        list-style: none; padding: 0; margin: 0;
        display: flex;
        flex-wrap: wrap; /* 메뉴가 많을 경우 줄바꿈 허용 */
        gap: 10px 15px;
        justify-content: center; /* 메뉴 아이템들도 내부에서 중앙 정렬 (선택 사항) */
    }
    .footer-section.menu-links li {
        margin-bottom: 0;
    }
    .footer-section.menu-links a {
        text-decoration: none;
        color: #aaaaaa;
        font-size: 16px;
        white-space: nowrap;
        padding: 3px 5px;
        transition: color 0.3s ease;
    }
    .footer-section.menu-links a:hover {
        color: #fd7e14;
    }

    /* (선택) 푸터 소셜 링크 (PC) */
    .footer-section.social-links {
        /* flex-basis: auto; 이미 위에서 설정됨 */
        /* flex-shrink: 0; -> 내용만큼만 차지하도록 */
        text-align: center; /* 내부 아이콘들 중앙 정렬 (선택 사항) */
    }
    .footer-section.social-links h4 {
        display: none;
    }
    .footer-section.social-links .social-icons {
        display: flex;
        gap: 10px;
        justify-content: center; /* 아이콘 중앙 정렬 */
    }
    .footer-section.social-links .social-icons a {
        color: #aaaaaa;
        font-size: 18px;
        transition: color 0.3s ease;
    }
    .footer-section.social-links .social-icons a:hover {
        color: #fd7e14;
    }

    .copyright {
        background-color: #000000;
        color: #777777;
        text-align: center;
        padding: 15px 5%;
        font-size: 16px;
        font-family: "Cormorant Infant", serif;
        font-weight: 400;
        border-top: 1px solid #1a1a1a;
        width: 100%;
    }


    /* PC 퀵 메뉴 스타일 (기존 코드 유지) */
    .foot-quick-total { width: 100%; }
    .foot-quick-menu-wrapper {
        position: fixed;
        bottom: 0;
        width: 100%;
        height: 50px;
        background: rgba(0, 0, 0, 0.1); /* 투명도 조절 */
        z-index: 9999999;
        /* box-shadow: 0 -2px 5px rgba(0,0,0,0.1); 상단 그림자 (선택) */
    }
    .foot-quick-menu {
        display: flex;
        width: 100%;
        max-width: 1400px; /* 최대 너비 */
        height: 100%; /* 부모 높이 상속 */
        margin: auto;
        justify-content: center; /* 중앙 정렬 */
        align-items: center;
    }
    .foot-quick-menu div[class^="foot-quick-menu-div"] { /* div1, div2, div3, div4 공통 */
        display: flex;
        flex: 1; /* 동일 비율로 공간 차지 */
        max-width: 220px; /* 최대 너비 제한 (선택) */
        height: 100%;
        align-items: center;
        justify-content: center;
        transition: background-color 0.3s; /* 호버 효과 */
    }
    .foot-quick-menu div[class^="foot-quick-menu-div"]:not(:last-child) {
        border-right: 1px solid rgba(255,255,255,0.1); /* 구분선 */
    }
    .foot-quick-menu div p {
        font-size: 18px; /* 폰트 크기 조정 */
        color: #333; /* 기본 글자색 */
        letter-spacing: 1px;
        font-weight: 500; /* 굵기 조정 */
    }
    .foot-quick-menu div p a {
        text-decoration: none;
        color: inherit; /* 부모 p 태그 색상 상속 */
        display: block; /* 전체 영역 링크 */
        padding: 0 15px; /* 좌우 패딩 */
    }

    .foot-quick-menu-div1 { background-color: #07366c; }
    .foot-quick-menu-div1 p { color: white !important; }
    .foot-quick-menu-div2,
    .foot-quick-menu-div3,
    .foot-quick-menu-div4 { background-color: #e0e0e0; } /* 밝은 회색 */

    .foot-quick-menu div[class^="foot-quick-menu-div"]:hover {
        background-color: #fd7e14; /* 호버 시 주황색 배경 */
    }
    .foot-quick-menu div[class^="foot-quick-menu-div"]:hover p,
    .foot-quick-menu div[class^="foot-quick-menu-div"]:hover p a {
        color: white !important; /* 호버 시 글자 흰색 */
    }

    /* .foot-quick-menu-div4 { border-radius: 0 5px 5px 0; } -> 전체 래퍼에 radius 주는게 나을 수 있음 */
    /* .foot-quick-menu-div1 { border-radius: 5px 0 0 5px; } */
    /* .foot-quick-white { color: white !important; } -> div1 p 에 직접 적용 */
}


/* === 공통 유틸리티 및 나머지 스타일 (기존 코드 유지) === */
/* .head-menu-logo-mobile_headLogo_1 { width: 120px; } -> 모바일 미디어쿼리 안으로 이동 */
/* .mainMenu a { text-decoration: none; color: white; } -> PC 미디어쿼리 안 .menu-item .nav-link 로 구체화 */
/* #head-menu-logo span { ... } -> PC 미디어쿼리 안으로 이동 */
/* .headLogins, .logout-button_form 등 로그인 관련 스타일은 각 미디어쿼리에서 구체적으로 정의 */

/* 마지막으로 한번 더 중복되거나 불필요한 스타일 정리 */
.headLogo_1, .headLogo_2 { /* 로고 이미지 기본 스타일 (필요시) */
    display: block; /* 인라인 여백 제거 */
    height: auto; /* 원본 비율 유지 */
}