@charset "utf-8";

/**
 * PC 면력형: [사이드바 + 메인 프레임] 한 덩어리 → 화면 중앙
 * 넓은 PC: syou-viewport-scroll.css (좌 고정 · 우측만 스크롤)
 */
body.syou-layout.is-pc-shell {
    --syou-sidebar-width: 416px;
    --syou-sidebar-content-width: 280px;
    --syou-frame-width: 490px;
}

html.syou-pc-root {
    overflow: hidden !important;
    height: 100% !important;
}

html.syou-pc-root body.syou-layout.is-pc-shell {
    overflow: hidden !important;
    height: 100vh !important;
    width: 100% !important;
    background: var(--syou-shell-bg, #faf6f1) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.syou-layout.is-pc-shell #hd_login_msg {
    position: fixed;
    z-index: 9999;
}

/* 바깥: 가운데 정렬, 페이지 전체 스크롤 없음 */
body.syou-layout.is-pc-shell .site-shell {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--syou-shell-bg, #faf6f1) !important;
    box-sizing: border-box !important;
}

/* 메뉴 + 메인 한 덩어리 (뷰포트 높이 고정) */
body.syou-layout.is-pc-shell .site-shell__cluster {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    width: auto !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body.syou-layout.is-pc-shell:not(.is-mobile-view) .site-shell__cluster {
    overflow-x: visible !important;
}

/* 왼쪽: 메뉴만 · 고정(스크롤 안 함) */
body.syou-layout.is-pc-shell .pc-sidebar {
    flex: 0 0 var(--syou-sidebar-width, 320px) !important;
    width: var(--syou-sidebar-width, 320px) !important;
    min-width: var(--syou-sidebar-width, 320px) !important;
    max-width: var(--syou-sidebar-width, 320px) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding: 36px 20px !important;
    background: #fff !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    align-self: center !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    /* ① 좌측 바깥 ② 패널 사이 — 골드 구분선(누런 블러 제거) */
    border-right: 1px solid var(--syou-panel-seam-color, #c49a6b) !important;
    box-shadow: -8px 0 28px rgba(var(--syou-panel-shadow-rgb, 196, 154, 107), 0.1) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    position: relative !important;
    z-index: 5 !important;
}

body.syou-layout.is-pc-shell .pc-sidebar__inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: var(--syou-sidebar-content-width, 280px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-height: calc(100vh - 72px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

body.syou-layout.is-pc-shell .pc-sidebar__inner::-webkit-scrollbar {
    display: none;
}

body.syou-layout.is-pc-shell .pc-sidebar__group > summary.pc-sidebar__group-toggle {
    pointer-events: auto !important;
}

body.syou-layout.is-pc-shell .pc-sidebar__nav {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin-top: 10px !important;
}

body.syou-layout.is-pc-shell .pc-sidebar__brand {
    flex-shrink: 0 !important;
    margin-bottom: 26px !important;
}

body.syou-layout.is-pc-shell .pc-sidebar__contact {
    flex-shrink: 0 !important;
    margin-top: 36px !important;
    padding-top: 0 !important;
}

/* 메뉴 글자·버튼 크기 유지 — 블록 사이 여백만 30% 확대 */
body.syou-layout.is-pc-shell .pc-sidebar__group {
    margin-bottom: 10px !important;
}

body.syou-layout.is-pc-shell .pc-sidebar__menu li {
    margin-bottom: 8px !important;
}

/* 오른쪽: 메인 프레임만 세로 스크롤 */
body.syou-layout.is-pc-shell .mobile-frame {
    flex: 0 0 var(--syou-frame-width, 490px) !important;
    width: var(--syou-frame-width, 490px) !important;
    min-width: var(--syou-frame-width, 490px) !important;
    max-width: var(--syou-frame-width, 490px) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    background: transparent !important;
    box-sizing: border-box !important;
    scrollbar-gutter: stable;
}

/* 넓은 PC: 가로 overflow 허용 — 우측·중앙 box-shadow 가 잘리지 않음 */
body.syou-layout.is-pc-shell:not(.is-mobile-view) .mobile-frame {
    overflow-x: visible !important;
    z-index: 6 !important;
    box-shadow: 12px 0 42px rgba(var(--syou-panel-shadow-rgb, 196, 154, 107), 0.2) !important;
}

/* 우측 프레임 끝에 스크롤바 (면역 레퍼런스) */
body.syou-layout.is-pc-shell .mobile-frame::-webkit-scrollbar {
    width: 8px;
}

body.syou-layout.is-pc-shell .mobile-frame::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

body.syou-layout.is-pc-shell .mobile-frame::-webkit-scrollbar-track {
    background: transparent;
}

body.syou-layout.is-pc-shell .mobile-frame__inner {
    --syou-frame-design-width: var(--syou-frame-width, 490px);
    --syou-frame-pad-x: 20px;
    position: relative !important;
    width: var(--syou-frame-width, 490px) !important;
    max-width: var(--syou-frame-width, 490px) !important;
    min-width: var(--syou-frame-width, 490px) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    overflow: visible !important;
    background: #fff !important;
    border-radius: 0 !important;
    border-right: 0 !important;
    /* ③ 우측 바깥 음영만(중앙은 사이드바 border-right 골드선) */
    box-shadow: 12px 0 42px rgba(var(--syou-panel-shadow-rgb, 196, 154, 107), 0.14) !important;
    box-sizing: border-box !important;
}

/* 프레임 안 구형 CSS */
body.syou-layout.is-pc-shell #wrapper,
body.syou-layout.is-pc-shell #header,
body.syou-layout.is-pc-shell #container,
body.syou-layout.is-pc-shell #footer,
body.syou-layout.is-pc-shell #contents {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.syou-layout.is-pc-shell #wrapper {
    overflow: hidden !important;
    margin: 0 !important;
    position: relative !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner .syou-frame-top,
body.syou-layout.is-pc-shell .mobile-frame__inner #header {
    overflow: visible !important;
}

body.syou-layout.is-pc-shell #header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
}

body.syou-layout.is-pc-shell #container,
body.syou-layout.is-pc-shell #contents {
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner .wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: var(--syou-frame-pad-x, 20px) !important;
    padding-right: var(--syou-frame-pad-x, 20px) !important;
    box-sizing: border-box !important;
}

/* 프레임 안 헤더·푸터: 430px 기준 좌우 정렬 (구 .wrap 1660px 밀림 방지) */
body.syou-layout.is-pc-shell .mobile-frame__inner #header,
body.syou-layout.is-pc-shell .mobile-frame__inner #footer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner #header {
    position: relative !important;
    top: auto !important;
    background: #fff !important;
}

/* 헤더 로고 → css/syou-site-header.css (#header.syou-site-header) */

body.syou-layout.is-pc-shell .mobile-frame__inner #header .gnb .wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: var(--syou-frame-pad-x, 20px) !important;
    padding-right: var(--syou-frame-pad-x, 20px) !important;
    box-sizing: border-box !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner #header .syou-mobile-bar {
    position: absolute !important;
    top: 50% !important;
    right: var(--syou-frame-pad-x, 20px) !important;
    left: auto !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}


body.syou-layout.is-pc-shell .mobile-frame__inner #footer > .wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner #footer .syou-footer.footer_content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 28px var(--syou-frame-pad-x, 16px) 32px !important;
    box-sizing: border-box !important;
    display: block !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner #footer .syou-footer__logo {
    justify-content: flex-start !important;
    width: 100% !important;
    text-align: left !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner #footer .syou-footer__body {
    margin-left: 0 !important;
    margin-top: 0 !important;
    text-align: left !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner #wrapper,
body.syou-layout.is-pc-shell .mobile-frame__inner #container {
    width: 100% !important;
    margin: 0 !important;
}

body.syou-layout.is-pc-shell .mobile-frame__inner .only_sub .wrap,
body.syou-layout.is-pc-shell .mobile-frame__inner .main_link .wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: var(--syou-frame-pad-x, 20px) !important;
    padding-right: var(--syou-frame-pad-x, 20px) !important;
    box-sizing: border-box !important;
}

body.syou-layout.is-pc-shell.syou-landing-page #header .gnb {
    display: none !important;
}

body.syou-layout.is-pc-shell .diet_btn,
body.syou-layout.is-pc-shell .gotop,
body.syou-layout.is-pc-shell #footer .quick,
body.syou-layout.is-pc-shell .only_sub {
    display: none !important;
}

/* 하단 퀵메뉴: css/syou-bottom-quick.css + frame-scroll flex */

body.syou-layout.is-mobile-full .syou-bottom-bar {
    transform: none !important;
}

body.syou-layout.is-mobile-full #header {
    position: relative !important;
    width: 100% !important;
}

body.syou-layout.is-mobile-full #container,
body.syou-layout.is-mobile-full #contents {
    padding-top: 0 !important;
}

body.syou-layout.is-mobile-full .wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* 모바일 기기: 우측 프레임만 전체 너비 */
body.syou-layout.is-pc-shell.is-mobile-view .site-shell {
    padding: 0 !important;
    justify-content: stretch !important;
    align-items: stretch !important;
}

body.syou-layout.is-pc-shell.is-mobile-view .site-shell__cluster {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.syou-layout.is-pc-shell.is-mobile-view .site-shell__cluster .pc-sidebar {
    display: none !important;
}

/* 모바일: 프레임 전체 너비 · PC 490px 디자인을 비율 zoom (syou-frame-scale.js) */
body.syou-layout.is-pc-shell.is-mobile-view .site-shell__cluster {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__scale-wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow-x: visible;
    overflow-y: visible;
}

/* inner zoom·여백: 파일 하단 「모바일 비율」 블록 */

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner .syou-mobile-bar {
    display: block !important;
}

/* 좁은 PC 창(740px 이하): 모바일과 동일 — 사이드바 숨김 + 햄버거 */
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell .site-shell {
        justify-content: stretch !important;
        align-items: stretch !important;
        padding: 0 !important;
    }

    body.syou-layout.is-pc-shell .site-shell__cluster {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.syou-layout.is-pc-shell:not(.is-mobile-view) .site-shell__cluster {
        max-width: 100% !important;
    }

    body.syou-layout.is-pc-shell .site-shell__cluster .pc-sidebar {
        display: none !important;
    }

    body.syou-layout.is-pc-shell .site-shell__cluster {
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 0 !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.syou-layout.is-pc-shell .mobile-frame__scale-wrap {
        width: 100%;
        max-width: 100%;
        position: relative;
        overflow-x: visible;
        overflow-y: visible;
    }

    body.syou-layout.is-pc-shell:not(.is-mobile-view) .mobile-frame {
        max-width: 100% !important;
    }

    body.syou-layout.is-pc-shell:not(.is-mobile-view) .mobile-frame__inner {
        border-radius: 6px !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame__inner .syou-mobile-bar {
        display: block !important;
    }
}

/* 햄버거 열림: PC 좌측 메뉴 드로어 — 상단 로그인(좌) · 닫기(우) */
body.syou-layout.is-pc-shell .pc-sidebar__toolbar {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid #eee;
}

body.syou-layout.is-pc-shell .pc-sidebar__toolbar--solo {
    justify-content: flex-end;
}

body.syou-layout.is-pc-shell .pc-sidebar__login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--syou-primary, #c49a6b);
    border-radius: 8px;
    background: #fff;
    color: var(--syou-primary, #c49a6b);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

body.syou-layout.is-pc-shell .pc-sidebar__login:hover,
body.syou-layout.is-pc-shell .pc-sidebar__login:focus {
    background: var(--syou-primary-light, #faf6f1);
    color: var(--syou-primary, #c49a6b);
}

body.syou-layout.is-pc-shell .pc-sidebar__auth {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

body.syou-layout.is-pc-shell .pc-sidebar__user-id {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--syou-primary, #c49a6b);
    border-radius: 8px;
    background: var(--syou-primary-light, #faf6f1);
    color: var(--syou-primary, #c49a6b);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

body.syou-layout.is-pc-shell .pc-sidebar__logout {
    font-size: 12px;
    font-weight: 500;
    color: #666;
    text-decoration: none;
    white-space: nowrap;
}

body.syou-layout.is-pc-shell .pc-sidebar__logout:hover,
body.syou-layout.is-pc-shell .pc-sidebar__logout:focus {
    color: #333;
    text-decoration: underline;
}

body.syou-layout.is-pc-shell .pc-sidebar__close {
    display: none;
    flex: 0 0 auto;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .site-shell__cluster .pc-sidebar {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: min(280px, 88vw) !important;
    min-width: 0 !important;
    max-width: 88vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    z-index: 1002 !important;
    border-radius: 0 !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18) !important;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .pc-sidebar__toolbar {
    display: flex;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .pc-sidebar__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open {
    overflow: hidden !important;
}

/* 햄버거 열림: 배경 프레임 스크롤 잠금 — 메뉴 패널만 스크롤 */
html.syou-root body.syou-layout.is-pc-shell.syou-pc-sidebar-open,
html.syou-root body.syou-layout.is-pc-shell.syou-mnav-open {
    overflow: hidden !important;
    height: 100% !important;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .mobile-frame,
body.syou-layout.is-pc-shell.syou-pc-sidebar-open .syou-frame-scroll,
body.syou-layout.is-pc-shell.syou-mnav-open .mobile-frame,
body.syou-layout.is-pc-shell.syou-mnav-open .syou-frame-scroll {
    overflow: hidden !important;
    touch-action: none;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .pc-sidebar {
    justify-content: flex-start !important;
    padding-top: 16px !important;
    overflow: hidden !important;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .pc-sidebar__inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

.pc-sidebar-dim {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1001;
}

body.syou-layout.is-pc-shell.syou-pc-sidebar-open .pc-sidebar-dim {
    display: block;
}

/* ========== 모바일·740px 이하: PC(490px) 통째 zoom 축소 (syou-frame-scale.js) ========== */
body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame,
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell .mobile-frame {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* cqw 레이아웃 분기는 비율 축소 모드에서 사용 안 함 */
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame {
        container-type: inline-size;
        container-name: syouframe;
    }
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner,
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell .mobile-frame__inner.is-frame-scaled {
        --syou-frame-design-width: var(--syou-frame-width, 490px);
        --syou-frame-pad-x: 20px;
        width: var(--syou-frame-width, 490px) !important;
        min-width: var(--syou-frame-width, 490px) !important;
        max-width: var(--syou-frame-width, 490px) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame__inner:not(.is-frame-scaled) {
        --syou-frame-design-width: 100%;
        --syou-frame-pad-x: calc(100cqw * 16 / 430);
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        zoom: 1 !important;
    }
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner #wrapper,
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell .mobile-frame__inner #wrapper {
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner .syou-sec,
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner .syou-sec {
        padding: calc(100cqw * 32 / 430) calc(100cqw * 16 / 430);
    }
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner .syou-visual__text,
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner .syou-visual__text {
        padding: calc(100cqw * 20 / 430) calc(100cqw * 16 / 430);
    }
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner .syou-event-cat-bar,
body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner .syou-clinic-cat-bar,
body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner .syou-doctor-cat-bar,
@media (max-width: 740px) {
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner #sec-visual .syou-visual__pager {
        height: 32px !important;
        min-height: 32px !important;
        max-height: 32px !important;
        padding: 0 16px !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner .syou-event-cat-bar,
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner .syou-clinic-cat-bar,
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner .syou-doctor-cat-bar {
        margin-left: 0;
        margin-right: 0;
    }

    body.syou-layout.is-pc-shell.syou-sub-page:not(.syou-proportional-scale) .mobile-frame__inner .syou-sub__body {
        padding: calc(100cqw * 20 / 430) calc(100cqw * 16 / 430) calc(100cqw * 32 / 430);
    }
}

body.syou-layout.is-pc-shell.is-mobile-view .mobile-frame__inner #header .syou-mobile-bar {
    padding-left: var(--syou-frame-pad-x, calc(100cqw * 20 / 430)) !important;
    padding-right: var(--syou-frame-pad-x, calc(100cqw * 20 / 430)) !important;
}

@media (max-width: 740px) {
    body.syou-layout.is-pc-shell:not(.syou-proportional-scale) .mobile-frame__inner #header .syou-mobile-bar {
        padding-left: var(--syou-frame-pad-x, calc(100cqw * 20 / 430)) !important;
        padding-right: var(--syou-frame-pad-x, calc(100cqw * 20 / 430)) !important;
    }
}

/* 360~740px: 430/490 고정 해제 · 뷰포트 너비 100% 유동 (최소 360 대응) */
@media (max-width: 740px) {
    html.syou-root {
        overflow-x: hidden;
        max-width: 100%;
    }

    body.syou-layout.is-pc-shell {
        overflow-x: hidden;
        max-width: 100%;
    }

    body.syou-layout.is-pc-shell .site-shell,
    body.syou-layout.is-pc-shell .site-shell__cluster {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame__scale-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame__inner:not(.is-frame-scaled) {
        --syou-frame-width: 100%;
        --syou-frame-design-width: 100%;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        zoom: 1 !important;
        transform: none !important;
        box-shadow: none !important;
    }

    html.syou-root body.syou-layout.is-pc-shell #hd,
    html.syou-root body.syou-layout.is-pc-shell #wrapper,
    html.syou-root body.syou-layout.is-pc-shell #ft,
    html.syou-root body.syou-layout.is-pc-shell #container,
    html.syou-root body.syou-layout.is-pc-shell #container_wr,
    html.syou-root body.syou-layout.is-pc-shell #contents,
    html.syou-root body.syou-layout.is-pc-shell #ft_wr {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame__inner .syou-frame-scroll,
    body.syou-layout.is-pc-shell .mobile-frame__inner .syou-landing,
    body.syou-layout.is-pc-shell .mobile-frame__inner .syou-sec {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    body.syou-layout.is-pc-shell .mobile-frame__inner img,
    body.syou-layout.is-pc-shell .mobile-frame__inner video,
    body.syou-layout.is-pc-shell .mobile-frame__inner iframe {
        max-width: 100% !important;
    }

    body.syou-layout.is-pc-shell .mobile-frame__inner > .syou-bottom-bar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
}

/* 헤더 로고 좌측 → syou-site-header.css */
