/*
========================================
  포토스포츠 모바일 전용 CSS
  Common_mobile_ims_renew.css

  - 768px 이하 모바일 기기 전용
  - PC CSS(Common_pc_ims_renew.css)와 완전 분리
  - MasterPage에서 media query로 조건부 로드
========================================
*/
.only_mob{
    display:none !important;
}
/* ========================================
   PC/Mobile 섹션 분리
   ======================================== */
@media (max-width: 768px) {
    .only_mob{
        display:block !important;
    }
    /* 모바일 전역 폰트 설정 */
    body, html {
        font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
    }

    /* 모바일 전체 스크롤바 - 브랜드 컬러 */
    body::-webkit-scrollbar,
    html::-webkit-scrollbar,
    *::-webkit-scrollbar {
        width: 8px !important;
        height: 8px !important;
    }

    body::-webkit-scrollbar-track,
    html::-webkit-scrollbar-track,
    *::-webkit-scrollbar-track {
        background: #F5F5F5 !important;
        border-radius: 4px !important;
    }

    body::-webkit-scrollbar-thumb,
    html::-webkit-scrollbar-thumb,
    *::-webkit-scrollbar-thumb {
        background: #FFBE00 !important;
        border-radius: 4px !important;
    }

    body::-webkit-scrollbar-thumb:hover,
    html::-webkit-scrollbar-thumb:hover,
    *::-webkit-scrollbar-thumb:hover {
        background: #E6AB00 !important;
    }

    .pc-only {
        display: none !important;
    }

    /* 모바일 섹션 기본 높이 통일 (섹션1 제외) */
    .mobile-only {
        display: block !important;
        height: 100vh !important;
        min-height: 100vh !important;
        background: #f0f0f0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .mobile-only .section-container {
        height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 20px !important;
        overflow: hidden !important;
    }

    /* 일반 h2, p 스타일 제거 - 각 섹션에서 개별적으로 스타일 정의하여 충돌 방지 */
}

@media (min-width: 769px) {
    .mobile-only {
        display: none !important;
    }

    /* 모바일 메뉴 완전히 숨김 (PC에서) */
    .menu-btn,
    #menuBtn,
    .menu-overlay,
    #menuOverlay,
    .menu-panel,
    #menuPanel {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* ========================================
   Fonts - 모바일 전용 폰트 로드
   ======================================== */
@font-face {
    font-family: 'SangSangRock';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/SangSangRockOTF.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

/* ========================================
   Main Page Mobile Styles
   ======================================== */

/* 섹션1: 메인 비디오 배너 */
@media (max-width: 768px) {
    /* ========== 섹션1 전체 구조 ========== */
    .section1.mobile-only {
        height: 100vh !important;
        min-height: 100vh !important;
        overflow: hidden !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .section1.mobile-only .section-container {
        height: 100vh !important;
        padding: 0 !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* ========== PC용 텍스트 오버레이 숨김 ========== */
    .video-text-overlay {
        display: none !important;
    }

    /* ========== 모바일 전용 텍스트 오버레이 ========== */
    /* 영상 영역 중앙에 표시 - 섹션1에만 종속 */
    .section1 {
        position: relative !important;
        overflow: visible !important;
    }

    .video-text-mobile {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin-top: -30px !important;
        z-index: 102 !important;
        pointer-events: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .video-text-mobile-line {
        font-family: 'SangSangRock', 'Black Han Sans', sans-serif !important;
        font-size: 42px !important;
        font-weight: 900 !important;
        color: #ffffff !important;
        text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.9),
                     0 0 20px rgba(0, 0, 0, 0.7) !important;
        opacity: 0 !important;
        animation: videoTextFlowMobile 13s ease-in-out infinite !important;
        white-space: nowrap !important;
        letter-spacing: 0px !important;
    }

    .video-text-mobile-line:nth-child(1) {
        animation-delay: 0s !important;
    }

    .video-text-mobile-line:nth-child(2) {
        animation-delay: 0.4s !important;
    }

    /* 모바일 전용 애니메이션 (opacity만 사용 - fullPage.js 호환) */
    @keyframes videoTextFlowMobile {
        0%, 38.5% {
            /* 0~5초: 대기 (숨김) */
            opacity: 0;
        }
        46.2% {
            /* 5~6초: 페이드인 (1초) */
            opacity: 1;
        }
        92.3% {
            /* 6~12초: 완전 노출 유지 (6초) */
            opacity: 1;
        }
        100% {
            /* 12~13초: 페이드아웃 (1초) */
            opacity: 0;
        }
    }

    /* ========== 메인 비디오 ========== */
    /* 비디오는 섹션1 전체 높이에서 하단 60px 제외 */
    .section1.mobile-only .main-video-container {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: calc(100vh - 60px) !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 1 !important;
    }

    .section1.mobile-only .main-video {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 1 !important;
    }

    /* ========== 움직이는 텍스트 바 (하단 고정) ========== */
    /* 섹션1 내부 absolute로 하단 고정 */
    .section1.mobile-only .moving-text-bar {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 60px !important;
        background-color: #ffbe00 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        z-index: 100 !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: none !important;
    }

    /* 텍스트 컨테이너 */
    .js-moving-text-container {
        display: none !important;
        white-space: nowrap !important;
        width: max-content !important;
        will-change: transform !important;
        position: relative !important;
        animation: none !important;
        transition: none !important;
        transform: translateX(0px) !important;
    }

    /* 움직이는 텍스트 크기 조정 */
    .js-moving-text {
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        font-weight: 800 !important;
        font-size: 22px !important;
        color: #1a1a1a !important;
        white-space: nowrap !important;
        line-height: 1 !important;
        margin-right: 30px !important;
        display: none !important;
        text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.4) !important;
        letter-spacing: -0.5px !important;
    }

    /* ========== 스크롤 힌트 (노란 바 안에 위치) ========== */
    /* 노란 바 내부에 위치하도록 변경 */
    .scroll-hint-icon {
        position: absolute !important;
        bottom: 50% !important;
        left: 50% !important;
        top: auto !important;
        transform: translate(-50%, 50%) !important;
        z-index: 101 !important;
        animation: floatUpDown 2s ease-in-out infinite !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
    }

    /* 마우스 아이콘 표시 (PC와 동일) */
    .mouse-icon {
        display: block !important;
    }

    .mouse-icon svg {
        filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)) !important;
    }

    /* 스크롤 텍스트 숨김 (모바일은 공간 절약) */
    .scroll-text {
        display: none !important;
    }

    /* floatUpDown 애니메이션 - 노란 바 중앙 기준 */
    @keyframes floatUpDown {
        0%, 100% {
            transform: translate(-50%, 50%) translateY(0px) !important;
        }
        50% {
            transform: translate(-50%, 50%) translateY(-8px) !important;
        }
    }
}

/* ========================================
   섹션2: 모바일 갤러리 (새로 작성)
   ======================================== */
@media (max-width: 768px) {
    /* PC 요소 숨김 */
    .yellow-decoration,
    .gallery-controls-left,
    .swiper-gallery-section {
        display: none !important;
    }

    /* Section 2 전체 */
    .section2.mobile-only {
        background: #f8f9fa !important;
        height: 100vh !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .section2.mobile-only .section-container {
        width: 100% !important;
        height: 100vh !important;
        padding: 0 !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    /* 떠다니는 원형 배경 장식 */
    .floating-shapes {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        pointer-events: none !important;
        z-index: 1 !important;
        overflow: hidden !important;
    }

    .floating-shape {
        position: absolute !important;
        pointer-events: none !important;
        opacity: 0.9 !important;
    }

    /* ========== 네모 (둥근 모서리) ========== */
    .rect {
        border-radius: 20px !important;
        background: linear-gradient(135deg, rgba(255, 190, 0, 0.12), rgba(255, 190, 0, 0.06)) !important;
    }

    .rect-1 {
        width: 160px !important;
        height: 120px !important;
        top: 5% !important;
        left: -40px !important;
        animation: floatRect1 8s ease-in-out infinite !important;
    }

    .rect-2 {
        width: 100px !important;
        height: 140px !important;
        bottom: 15% !important;
        left: 20px !important;
        animation: floatRect2 10s ease-in-out infinite !important;
    }

    .rect-3 {
        width: 120px !important;
        height: 90px !important;
        top: 40% !important;
        right: -30px !important;
        animation: floatRect3 9s ease-in-out infinite !important;
    }

    /* ========== 세모 ========== */
    .triangle {
        width: 0 !important;
        height: 0 !important;
        border-style: solid !important;
    }

    .triangle-1 {
        border-width: 0 60px 100px 60px !important;
        border-color: transparent transparent rgba(255, 190, 0, 0.1) transparent !important;
        top: 10% !important;
        right: 15% !important;
        animation: floatTriangle1 7s ease-in-out infinite !important;
    }

    .triangle-2 {
        border-width: 80px 50px 0 50px !important;
        border-color: rgba(255, 190, 0, 0.08) transparent transparent transparent !important;
        bottom: 20% !important;
        right: 10px !important;
        animation: floatTriangle2 9s ease-in-out infinite !important;
    }

    .triangle-3 {
        border-width: 0 45px 75px 45px !important;
        border-color: transparent transparent rgba(255, 190, 0, 0.12) transparent !important;
        top: 60% !important;
        left: 10% !important;
        animation: floatTriangle3 8s ease-in-out infinite !important;
    }

    /* ========== 속 빈 동그라미 ========== */
    .circle-outline {
        border-radius: 50% !important;
        border: 3px solid rgba(255, 190, 0, 0.15) !important;
        background: transparent !important;
    }

    .circle-1 {
        width: 80px !important;
        height: 80px !important;
        top: 8% !important;
        left: 25% !important;
        animation: floatCircle1 6s ease-in-out infinite !important;
    }

    .circle-2 {
        width: 120px !important;
        height: 120px !important;
        top: 30% !important;
        right: 8% !important;
        animation: floatCircle2 10s ease-in-out infinite !important;
    }

    .circle-3 {
        width: 60px !important;
        height: 60px !important;
        bottom: 30% !important;
        left: 5% !important;
        animation: floatCircle3 7s ease-in-out infinite !important;
    }

    .circle-4 {
        width: 90px !important;
        height: 90px !important;
        bottom: 8% !important;
        right: 20% !important;
        animation: floatCircle4 8s ease-in-out infinite !important;
    }

    /* ========== 애니메이션 ========== */

    /* 네모 애니메이션 */
    @keyframes floatRect1 {
        0%, 100% {
            transform: translate(0, 0) rotate(0deg) scale(1);
        }
        50% {
            transform: translate(20px, -20px) rotate(180deg) scale(1.1);
        }
    }

    @keyframes floatRect2 {
        0%, 100% {
            transform: translate(0, 0) rotate(0deg) scale(1);
        }
        50% {
            transform: translate(-15px, 20px) rotate(-90deg) scale(1.15);
        }
    }

    @keyframes floatRect3 {
        0%, 100% {
            transform: translate(0, 0) rotate(0deg) scale(1);
        }
        50% {
            transform: translate(-25px, 15px) rotate(180deg) scale(1.08);
        }
    }

    /* 세모 애니메이션 */
    @keyframes floatTriangle1 {
        0%, 100% {
            transform: translate(0, 0) rotate(0deg);
        }
        50% {
            transform: translate(15px, 20px) rotate(120deg);
        }
    }

    @keyframes floatTriangle2 {
        0%, 100% {
            transform: translate(0, 0) rotate(0deg);
        }
        50% {
            transform: translate(-20px, -15px) rotate(-120deg);
        }
    }

    @keyframes floatTriangle3 {
        0%, 100% {
            transform: translate(0, 0) rotate(0deg);
        }
        50% {
            transform: translate(18px, -18px) rotate(180deg);
        }
    }

    /* 동그라미 애니메이션 */
    @keyframes floatCircle1 {
        0%, 100% {
            transform: translate(0, 0) scale(1);
        }
        50% {
            transform: translate(12px, 15px) scale(1.15);
        }
    }

    @keyframes floatCircle2 {
        0%, 100% {
            transform: translate(0, 0) scale(1);
        }
        50% {
            transform: translate(-18px, 20px) scale(1.2);
        }
    }

    @keyframes floatCircle3 {
        0%, 100% {
            transform: translate(0, 0) scale(1);
        }
        50% {
            transform: translate(15px, -12px) scale(1.1);
        }
    }

    @keyframes floatCircle4 {
        0%, 100% {
            transform: translate(0, 0) scale(1);
        }
        50% {
            transform: translate(-15px, -20px) scale(1.12);
        }
    }

    /* 화살표 버튼 컨테이너 - 좌우 배치, 이미지 왼쪽 하단 */
    .mobile-gallery-arrows {
        position: absolute !important;
        bottom: 25% !important;
        left: 50% !important;
        transform: translateX(-50%) translateX(-100px) !important;
        z-index: 100 !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 12px !important;
        pointer-events: none !important;
    }

    /* 화살표 버튼 스타일 - 노란색 배경 */
    .mobile-arrow-btn {
        width: 50px !important;
        height: 50px !important;
        background: #ffbe00 !important;
        border: none !important;
        border-radius: 50% !important;
        font-size: 20px !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: background-color 0.3s, transform 0.3s !important;
        color: #333 !important;
        pointer-events: auto !important;
    }

    .mobile-arrow-btn:hover {
        background: #ffd040 !important;
    }

    .mobile-arrow-btn:active {
        background: #e5aa00 !important;
        transform: scale(0.95) !important;
    }

    .mobile-arrow-btn svg path {
        stroke: #333 !important;
        transition: stroke 0.3s !important;
    }

    /* Swiper 갤러리 컨테이너 - 정중앙 배치 */
    .mobile-gallery-swiper {
        width: 90% !important;
        max-width: 380px !important;
        height: 550px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 10 !important;
    }

    /* Swiper wrapper */
    .mobile-gallery-swiper .swiper-wrapper {
        display: flex !important;
        align-items: center !important;
    }

    /* Swiper 슬라이드 */
    .mobile-gallery-swiper .swiper-slide {
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
    }

    /* 슬라이드 이미지 */
    .mobile-gallery-swiper .swiper-slide img {
        width: 100% !important;
        height: auto !important;
        max-height: 480px !important;
        object-fit: cover !important;
        border-radius: 20px !important;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3) !important;
        display: block !important;
        margin: 0 auto !important;
    }

    /* 디버그 패널 - 좌하단 */
    .debug-panel {
        position: fixed !important;
        bottom: 10px !important;
        left: 10px !important;
        background: rgba(0, 0, 0, 0.85) !important;
        color: #0f0 !important;
        padding: 10px !important;
        border-radius: 8px !important;
        font-size: 11px !important;
        font-family: monospace !important;
        z-index: 99999 !important;
        min-width: 200px !important;
        line-height: 1.4 !important;
        pointer-events: none !important;
    }

    .debug-panel div {
        margin: 2px 0 !important;
    }
}

/* 섹션3: 섹션1 CSS 완전 복사 (선택자만 변경) */

/* 섹션1과 동일 */
.section3 {
    position: relative !important;
    overflow: visible !important;
}

@media (max-width: 768px) {
    /* 섹션3 전체 - 하나의 배경 이미지 */
    .section3.mobile-only {
        height: var(--real-vh, 100vh) !important;
        min-height: var(--real-vh, 100vh) !important;
        overflow: hidden !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        background-image: url('/Common/images_renew/main/s3_1.png') !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }

    .section3.mobile-only .section-container {
        height: var(--real-vh, 100vh) !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* 각 영역 공통 스타일 - 배경 투명 */
    .mobile-section3-area {
        width: 100% !important;
        height: calc(var(--real-vh, 100vh) / 3) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        background: transparent !important;
        position: relative !important;
        overflow: hidden !important;
        transition: transform 0.3s ease !important;
    }

    .mobile-section3-area:active {
        transform: scale(0.98) !important;
    }

    /* 어둡게 오버레이 (PC와 동일) */
    .mobile-section3-area::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        transition: background 0.3s ease !important;
        z-index: 1 !important;
    }

    /* 터치/클릭 시 밝아짐 */
    .mobile-section3-area:active::before {
        background: rgba(0, 0, 0, 0.3) !important;
    }

    /* 콘텐츠 스타일 (우선순위 높게) */
    .section3.mobile-only .mobile-section3-content {
        position: relative !important;
        z-index: 2 !important;
        text-align: center !important;
        color: white !important;
        padding: 20px !important;
    }

    .section3.mobile-only .mobile-s3-label,
    .section3.mobile-only .mobile-section3-content p.mobile-s3-label {
        font-size: 14px !important;
        font-weight: 300 !important;
        margin-bottom: 10px !important;
        opacity: 0.9 !important;
        color: white !important;
    }

    .section3.mobile-only .mobile-s3-title,
    .section3.mobile-only .mobile-section3-content h2.mobile-s3-title {
        font-size: 36px !important;
        font-weight: bold !important;
        margin: 10px 0 16px 0 !important;
        color: white !important;
    }

    .section3.mobile-only .mobile-s3-desc,
    .section3.mobile-only .mobile-section3-content p.mobile-s3-desc {
        font-size: 16px !important;
        margin-bottom: 32px !important;
        opacity: 0.8 !important;
        font-weight: 300 !important;
        color: white !important;
    }

    /* 버튼 - PC 스타일 (화이트 테두리) */
    .mobile-s3-button {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 12px 28px !important;
        background: transparent !important;
        color: white !important;
        border: 2px solid white !important;
        border-radius: 30px !important;
        font-weight: 600 !important;
        font-size: 15px !important;
        transition: all 0.3s ease !important;
        white-space: nowrap !important;
    }

    .mobile-s3-button.special {
        padding: 12px 32px !important;
    }

    /* 버튼 터치 효과 - 배경 채워짐 */
    .mobile-section3-area:active .mobile-s3-button {
        background: white !important;
        color: #000 !important;
        transform: scale(0.95) !important;
    }

    .mobile-s3-button .button-text {
        display: inline !important;
        opacity: 1 !important;
    }

    .mobile-s3-button .button-icon {
        display: inline !important;
        opacity: 1 !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }
}

/* 섹션4: 광고 + 연락처 */
@media (max-width: 768px) {
    .section4.mobile-only {
        height: var(--real-vh, 100vh) !important;
        min-height: var(--real-vh, 100vh) !important;
        overflow: hidden !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #f8f9fa !important;
    }

    .section4.mobile-only .section-container {
        height: var(--real-vh, 100vh) !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* 상단 영역: 프로모션 3개 (35%) */
    .mobile-s4-proms {
        height: 35% !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    .mobile-s4-prom {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        position: relative !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    }

    /* .mobile-s4-prom1 {
        background-image: url('/Common/images_renew/main/s4_1.png') !important;
    }

    .mobile-s4-prom2 {
        background-image: url('/Common/images_renew/main/s4_2.png') !important;
    }

    .mobile-s4-prom3 {
        background-image: url('/Common/images_renew/main/s4_3.png') !important;
    } */

    .mobile-s4-prom-text {
        color: white !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        padding: 10px 24px !important;
        border-radius: 24px !important;
    }

    /* 하단 영역: 연락처 + 은행 (65%) */
    .mobile-s4-contact {
        height: 65% !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 5% 5% 0 5% !important;
        background: white !important;
    }

    /* 연락처 정보 (상단 40%) */
    .mobile-contact-info {
        flex: 0 0 40% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-around !important;
    }

    .mobile-info-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 4% 0 !important;
        border-bottom: 1px solid #e8e8e8 !important;
    }

    .mobile-info-row:last-child {
        border-bottom: none !important;
    }

    .mobile-info-label {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: #333 !important;
    }

    .mobile-info-value {
        font-size: 20px !important;
        color: #666 !important;
        font-weight: 500 !important;
        text-align: right !important;
    }

    .mobile-info-phone {
        font-size: 24px !important;
        font-weight: 700 !important;
        color: #0066cc !important;
        text-decoration: none !important;
    }

    .mobile-info-phone:active {
        color: #004999 !important;
    }

    /* 은행 정보 이미지 (하단 65%, 하단에서 20px 떨어짐) */
    .mobile-bank-info {
        flex: 1 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 0 20px 0 !important;
    }

    .mobile-bank-info img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        transition: transform 0.2s ease !important;
    }

    .mobile-bank-info:active img {
        transform: scale(0.98) !important;
    }
}

/* ========== 모바일 섹션5: 대회현장 ========== */
@media (max-width: 768px) {
    .section5.mobile-only {
        height: var(--real-vh, 100vh) !important;
        min-height: var(--real-vh, 100vh) !important;
        overflow: hidden !important;
        background: #f8f9fa !important;
    }

    .section5.mobile-only .section-container {
        height: var(--real-vh, 100vh) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    /* 최상단: 알약형 공지사항 (12%) */
    .mobile-pill-notice-container {
        flex: 0 0 12% !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: calc(10% + 25px) 5% 0 5% !important;
        margin: 0 !important;
        background: #f8f9fa !important;
        box-sizing: border-box !important;
    }

    .mobile-pill-notice {
        width: 100% !important;
        max-width: 690px !important;
        height: 48px !important;
        background: white !important;
        border-radius: 30px !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important;
    }

    .mobile-pill-notice-content {
        flex: 1 !important;
        overflow: hidden !important;
        height: 48px !important;
        padding-left: 20px !important;
    }

    #mobile_pill_news_content {
        position: relative !important;
        height: auto !important;
        overflow: visible !important;
        top: 0;
    }

    #mobile_pill_news_content table {
        width: 100% !important;
        border-collapse: collapse !important;
    }

    #mobile_pill_news_content tr {
        display: table-row !important;
        height: 48px !important;
    }

    #mobile_pill_news_content td {
        border: none !important;
        padding: 0 !important;
        display: table-cell !important;
        vertical-align: middle !important;
        height: 48px !important;
        line-height: normal !important;
    }

    #mobile_pill_news_content td:first-child {
        width: auto !important;
        overflow: visible !important;
    }

    #mobile_pill_news_content td:last-child {
        width: 60px !important;
        font-size: 13px !important;
        color: #999 !important;
        text-align: right !important;
        padding-right: 5px !important;
    }

    .mobile-notice-label {
        display: inline-block !important;
        background: #FFC107 !important;
        color: white !important;
        padding: 4px 10px !important;
        border-radius: 12px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        margin-right: 10px !important;
    }

    #mobile_pill_news_content a {
        color: #333 !important;
        text-decoration: none !important;
        font-size: 17px !important;
        font-weight: 500 !important;
    }

    .mobile-pill-notice-arrow {
        flex-shrink: 0 !important;
        width: 80px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-left: 1px solid #eee !important;
        height: 48px !important;
    }

    .mobile-pill-notice-arrow a {
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
        text-decoration: none !important;
        color: #666 !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        transition: color 0.3s ease !important;
    }

    .mobile-pill-notice-arrow svg {
        width: 16px !important;
        height: 16px !important;
    }

    .mobile-pill-notice-arrow a:hover {
        color: #FFC107 !important;
    }

    /* 상단: 타이틀 영역 (18%) */
    .mobile-race-title-area {
        flex: 0 0 18% !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: #f8f9fa !important;
        padding: 0 5% !important;
        margin: 0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .mobile-race-more {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #666 !important;
        text-decoration: none !important;
        margin-bottom: 15px !important;
        transition: all 0.3s ease !important;
    }

    .mobile-race-more svg {
        width: 16px !important;
        height: 16px !important;
    }

    .mobile-race-more:active {
        color: #FFC107 !important;
        transform: translateX(3px) !important;
    }

    .mobile-race-title {
        font-size: 65px !important;
        font-weight: 900 !important;
        color: #222 !important;
        margin: 0 0 20px 0 !important;
        line-height: 0.9 !important;
        letter-spacing: -3px !important;
    }

    .mobile-race-subtitle {
        font-size: 24px !important;
        font-weight: 300 !important;
        color: #666 !important;
        margin: 0 !important;
        letter-spacing: 1px !important;
    }

    /* 하단: 이미지 슬라이더 (70%) */
    .mobile-race-slider-area {
        flex: 1 !important;
        width: 100% !important;
        min-height: 0 !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        background: #f8f9fa !important;
        padding: 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* 대회 더보기 버튼 - 우측 상단 */
    .mobile-race-more-btn {
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        z-index: 20 !important;
        background: #FFC107 !important;
        color: #333 !important;
        padding: 12px 24px !important;
        border-radius: 25px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        box-shadow: 0 4px 12px rgba(255, 193, 7, 0.4) !important;
        transition: all 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
    }

    .mobile-race-more-btn:active {
        transform: scale(0.95) !important;
        box-shadow: 0 2px 8px rgba(255, 193, 7, 0.6) !important;
    }

    /* 섹션5 슬라이더는 섹션2와 동일한 .mobile-gallery-swiper, .mobile-gallery-arrows 클래스 사용 */
    /* 섹션5만의 화살표 버튼 위치 조정 - 이미지 영역 하단으로 */
    .section5.mobile-only .mobile-gallery-arrows {
        bottom: 12% !important;
    }
}

/* ========== 모바일 섹션6: 대회일정 ========== */
@media (max-width: 768px) {
    .section6.mobile-only {
        height: var(--real-vh, 100vh) !important;
        min-height: var(--real-vh, 100vh) !important;
        overflow: hidden !important;
        background: #FFBE00 !important;
    }

    .section6.mobile-only .section-container {
        height: var(--real-vh, 100vh) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    /* 상단: 타이틀 영역 (30%) */
    .mobile-schedule-title-area {
        flex: 0 0 30% !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: #FFBE00 !important;
        padding: 0 5% !important;
        margin: 0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .mobile-schedule-label {
        font-size: 38px !important;
        font-weight: 300 !important;
        color: #666 !important;
        margin: 0 0 25px 0 !important;
        letter-spacing: 6px !important;
    }

    .mobile-schedule-title {
        font-size: 70px !important;
        font-weight: 900 !important;
        color: #222 !important;
        margin: 0 0 25px 0 !important;
        line-height: 0.9 !important;
        letter-spacing: -3px !important;
        text-shadow: none !important;
    }

    .mobile-schedule-subtitle {
        font-size: 25px !important;
        font-weight: 300 !important;
        color: #666 !important;
        margin: 0 !important;
        letter-spacing: 2.5px !important;
    }

    /* 중단: 대회 일정 리스트 (35%) */
    .mobile-schedule-list-area {
        flex: 0 0 35% !important;
        width: 100% !important;
        background: #FFBE00 !important;
        padding: 5% !important;
        margin: 0 !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
    }

    .mobile-schedule-list {
        width: 100% !important;
        height: 100% !important;
    }

    .mobile-schedule-item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 20px 15px !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }

    .mobile-schedule-item:last-child {
        border-bottom: none !important;
    }

    .mobile-schedule-item:active {
        background: rgba(255, 255, 255, 0.3) !important;
        transform: scale(0.98) !important;
    }

    .mobile-schedule-name {
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #333 !important;
        flex: 1 !important;
    }

    .mobile-schedule-date {
        font-size: 16px !important;
        color: #666 !important;
        font-weight: 500 !important;
        margin-left: 15px !important;
    }

    /* 하단: 로고 애니메이션 (나머지 ~35%) */
    .mobile-logo-animation-area {
        flex: 1 !important;
        width: 100% !important;
        background: linear-gradient(180deg, #FFBE00 0%, #FFA500 100%) !important;
        display: flex !important;
        flex-direction: column !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* 로고 줄 */
    .mobile-logo-row {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important;
        position: relative !important;
    }

    .mobile-logo-track {
        display: flex !important;
        align-items: center !important;
        gap: 15px !important;
        animation-timing-function: linear !important;
        animation-iteration-count: infinite !important;
    }

    /* 첫 번째 줄: 왼쪽→오른쪽 */
    .mobile-logo-row-1 .mobile-logo-track {
        animation-name: scrollLogoLeft !important;
        animation-duration: 20s !important;
    }

    /* 두 번째 줄: 오른쪽→왼쪽 */
    .mobile-logo-row-2 .mobile-logo-track {
        animation-name: scrollLogoRight !important;
        animation-duration: 18s !important;
    }

    /* 세 번째 줄: 왼쪽→오른쪽 */
    .mobile-logo-row-3 .mobile-logo-track {
        animation-name: scrollLogoLeft !important;
        animation-duration: 22s !important;
    }

    /* 로고 카드 */
    .mobile-logo-card {
        flex-shrink: 0 !important;
        width: 100px !important;
        height: 80px !important;
        background: white !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    }

    .mobile-logo-placeholder {
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #999 !important;
        text-align: center !important;
        line-height: 1.4 !important;
    }

    /* 애니메이션 정의 */
    @keyframes scrollLogoLeft {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-50%);
        }
    }

    @keyframes scrollLogoRight {
        0% {
            transform: translateX(-50%);
        }
        100% {
            transform: translateX(0);
        }
    }

    /* ========== OrderDetail 페이지 모바일 최적화 ========== */

    /* 1. 레이아웃 - 섹션 여백 */
    .col-sm-12.pd_top_15 .orderlist-section-title {
        padding: 30px 20px 40px !important;
        margin: 0 15px !important;
        text-align: center !important;
    }

    .col-sm-12.pd_top_15 .orderlist-section-title .orderlist-subtitle {
        font-size: 19px !important;
        color: #FFBE00 !important;
        font-weight: 600 !important;
        margin: 0 0 10px 0 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }

    .col-sm-12.pd_top_15 .orderlist-section-title .orderlist-main-title {
        font-size: 35px !important;
        color: #333 !important;
        font-weight: 700 !important;
        margin: 0 !important;
        line-height: 1.3 !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list {
        margin: 30px 0 0 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    .col-sm-12.pd_top_15 > .col-sm-12.mg_top_30 {
        margin: 30px 0 0 0 !important;
        padding: 0 15px !important;
        float: none !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 2. 주문 상품 테이블 - 테이블 구조 해체 */
    .col-sm-12.mg_top_30.piclist_table.list table {
        display: block !important;
        width: 100% !important;
        border: none !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tbody {
        display: block !important;
        width: 100% !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr:first-child {
        display: none !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item-row {
        display: none !important;
    }

    /* 3. 주문 상품 카드 */
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item {
        display: block !important;
        width: 100% !important;
        background: #fff !important;
        border: 5px solid #FFBE00 !important;
        border-radius: 17px !important;
        margin-bottom: 33px !important;
        padding: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* 4. 이미지 영역 */
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(1) {
        display: block !important;
        width: 100% !important;
        padding: 25px !important;
        background: #FFFBF0 !important;
        border-bottom: 3px solid #FFBE00 !important;
        text-align: center !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item .order-detail-image-wrapper {
        display: inline-block !important;
        width: 100% !important;
        text-align: center !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item .order-detail-image-wrapper a {
        display: inline-block !important;
        text-decoration: none !important;
        margin-bottom: 17px !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item .order-detail-image-wrapper img {
        width: 167px !important;
        height: 167px !important;
        border-radius: 13px !important;
        object-fit: cover !important;
        margin-bottom: 8px !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item .order-detail-image-info {
        display: block !important;
        font-size: 20px !important;
        color: #666 !important;
        margin-top: 8px !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item .order-detail-download-btn {
        width: 100% !important;
        max-width: 300px !important;
        height: 50px !important;
        background: #FFBE00 !important;
        color: #000 !important;
        border: none !important;
        border-radius: 8px !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        transition: opacity 0.2s !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item .order-detail-download-btn:active {
        opacity: 0.7 !important;
    }

    /* 5. 상품 정보 영역 - 컴팩트하게 */
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 21px !important;
        color: #000 !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        box-sizing: border-box !important;
        line-height: 1.5 !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(4) {
        display: none !important;
    }

    /* 6. 라벨 스타일 - 왼쪽 정렬 */
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(2)::before,
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(3)::before,
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(5)::before {
        font-size: 17px !important;
        color: #999 !important;
        font-weight: 500 !important;
        flex-shrink: 0 !important;
        margin-right: 15px !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(2)::before {
        content: '상품' !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(3)::before {
        content: '수량' !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(5)::before {
        content: '금액' !important;
    }

    /* 7. 결제금액 (강조) */
    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(6) {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        grid-auto-flow: column !important;
        align-items: center !important;
        border-top: 3px solid #FFBE00 !important;
        border-bottom: none !important;
        padding: 17px 20px !important;
        background: #FFFBF0 !important;
        font-size: 25px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(6)::before {
        content: '결제금액' !important;
        font-size: 17px !important;
        color: #999 !important;
        font-weight: 500 !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .col-sm-12.mg_top_30.piclist_table.list table tr.order-detail-item td:nth-child(6) b {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        margin-right: 5px !important;
    }

    /* 8. 총 결제금액 섹션 */
    /* Parent TR containing TotalPrice */
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tbody > tr:has(td.TotalPrice),
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table > tr:has(td.TotalPrice) {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice {
        display: block !important;
        background: #fff !important;
        border: 5px solid #FFBE00 !important;
        border-radius: 17px !important;
        padding: 25px 20px !important;
        margin: 33px 0 50px 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        float: none !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice * {
        box-sizing: border-box !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice center {
        display: block !important;
        width: 100% !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table {
        width: 100% !important;
        border: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table tbody {
        display: block !important;
        width: 100% !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table tr {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 15px 0 !important;
        border-bottom: 1px solid #f5f5f5 !important;
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table tr:last-child {
        border-bottom: none !important;
        border-top: 3px solid #FFBE00 !important;
        padding: 20px 0 0 0 !important;
        margin-top: 10px !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table td:first-child,
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table th:first-child {
        flex: 0 0 auto !important;
        padding: 0 !important;
        border: none !important;
        font-size: 21px !important;
        color: #666 !important;
        font-weight: 500 !important;
        background: none !important;
        text-align: left !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table td:last-child {
        flex: 0 0 auto !important;
        padding: 0 !important;
        border: none !important;
        font-size: 21px !important;
        color: #000 !important;
        font-weight: 400 !important;
        background: none !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table td:last-child p {
        display: inline !important;
        margin-right: 5px !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table tr:last-child th:first-child,
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30.piclist_table.list table tr td.TotalPrice table tr:last-child td:last-child {
        font-size: 25px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
    }

    /* 9. 정보 섹션 - 테두리 없이 표시 */
    .col-sm-12.pd_top_15 > .col-sm-12.mg_top_30:not(.piclist_table) {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        padding: 0 15px !important;
        margin-bottom: 30px !important;
        width: 100% !important;
    }

    .col-sm-12.pd_top_15 > .col-sm-12.mg_top_30:not(.piclist_table):last-child {
        margin-bottom: 100px !important;
    }

    .col-sm-12.pd_top_15 > .col-sm-12.mg_top_30:not(.piclist_table) > b {
        display: block !important;
        font-size: 23px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 0 15px 0 !important;
    }

    .col-sm-12.pd_top_15 > .col-sm-12.mg_top_30:not(.piclist_table) > br {
        display: none !important;
    }

    /* 10. 구매자/받는사람/결제정보 테이블 */
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: table !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable colgroup {
        display: none !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable tbody {
        display: table-row-group !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable tr {
        display: table-row !important;
        width: 100% !important;
        border-bottom: 1px solid #f5f5f5 !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable tr:last-child {
        border-bottom: none !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable th {
        display: table-cell !important;
        width: 100px !important;
        text-align: left !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        color: #999 !important;
        background: none !important;
        padding: 17px 15px 17px 0 !important;
        margin: 0 !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        line-height: 1.6 !important;
        vertical-align: middle !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable td {
        display: table-cell !important;
        text-align: left !important;
        font-size: 21px !important;
        font-weight: 400 !important;
        color: #333 !important;
        padding: 17px 0 !important;
        margin: 0 !important;
        border: none !important;
        border-bottom: 1px solid #f5f5f5 !important;
        line-height: 1.6 !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        vertical-align: middle !important;
    }

    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable tr:last-child th,
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .PurchaseTable tr:last-child td {
        border-bottom: none !important;
    }

    /* 11. 다운로드 안내 */
    .col-sm-12.pd_top_15 .col-sm-12.mg_top_30 .download-notice {
        background: #FFF9E6 !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 17px 20px !important;
        margin: 17px -20px -17px -20px !important;
        font-size: 17px !important;
        color: #666 !important;
        line-height: 1.5 !important;
        text-align: left !important;
        box-sizing: border-box !important;
        border-top: 1px solid #f5f5f5 !important;
    }
}

/* 섹션7: 탭 콘텐츠 */
@media (max-width: 768px) {

}

/* 푸터 */
@media (max-width: 768px) {

}

/* ========================================
   Member Pages Mobile Styles
   ======================================== */

/* Login, FindID, FindPW, Register 등 */
@media (max-width: 768px) {

}

/* ========================================
   Common Components Mobile Styles
   ======================================== */

/* GNB, Footer 등 공통 컴포넌트 */
@media (max-width: 768px) {
    /* ========== 모바일 전용 햄버거 메뉴 ========== */

    /* 햄버거 버튼 - 좌상단 노란색 배경 */
    .mobile-menu-btn {
        position: fixed !important;
        top: 20px !important;
        left: 20px !important;
        z-index: 10001 !important;
        width: 50px !important;
        height: 50px !important;
        background: #FFBE00 !important;
        border: none !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
        cursor: pointer !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        transition: all 0.3s ease !important;
        padding: 0 !important;
    }

    .mobile-menu-btn:active {
        transform: scale(0.95) !important;
    }

    /* 메뉴 열렸을 때 배경 제거 */
    .mobile-menu-btn.active {
        background: transparent !important;
        box-shadow: none !important;
    }

    /* 햄버거 3줄 (검정색) */
    .mobile-menu-btn span {
        display: block !important;
        width: 26px !important;
        height: 3px !important;
        background: #000000 !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
        position: relative !important;
    }

    /* X 버튼으로 변환 */
    .mobile-menu-btn.active span {
        background: #000000 !important;
    }

    .mobile-menu-btn.active span:nth-child(1) {
        transform: translate(-50%, -50%) rotate(45deg) !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
    }

    .mobile-menu-btn.active span:nth-child(2) {
        opacity: 0 !important;
    }

    .mobile-menu-btn.active span:nth-child(3) {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
    }

    /* 노란색 메뉴 패널 - 왼쪽에서 슬라이드 */
    .mobile-menu-panel {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100vh !important;
        background: #FFBE00 !important;
        z-index: 10000 !important;
        transition: left 0.4s ease !important;
        overflow-y: auto !important;
        padding: 100px 30px 60px 30px !important;
    }

    /* 메뉴 열렸을 때 */
    .mobile-menu-panel.active {
        left: 0 !important;
    }

    /* 배경 dim 오버레이 */
    .mobile-menu-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.6) !important;
        z-index: 9999 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.4s ease !important;
    }

    .mobile-menu-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 메뉴 리스트 */
    .mobile-menu-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .mobile-menu-list li {
        opacity: 0 !important;
        transform: translateX(-30px) !important;
        border: none !important;
        border-bottom: none !important;
        background: transparent !important;
        transition: all 0.3s ease !important;
        margin-bottom: 15px !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
    }

    /* 첫 번째 항목 강제 통일 */
    .mobile-menu-list li:first-child {
        padding-left: 0 !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
    }

    .mobile-menu-list li:first-child a {
        padding-left: 30px !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
        color: #1a1a1a !important;
        opacity: 1 !important;
    }

    /* 메뉴 열렸을 때 모든 항목 즉시 표시 */
    .mobile-menu-panel.active .mobile-menu-list li {
        opacity: 1 !important;
        transform: translateX(0) !important;
    }

    /* AOS 효과 - 순차적으로 나타남 */
    .mobile-menu-panel.active .mobile-menu-list li:nth-child(1) {
        animation: menuSlideIn 0.5s 0.1s forwards !important;
    }
    .mobile-menu-panel.active .mobile-menu-list li:nth-child(2) {
        animation: menuSlideIn 0.5s 0.2s forwards !important;
    }
    .mobile-menu-panel.active .mobile-menu-list li:nth-child(3) {
        animation: menuSlideIn 0.5s 0.3s forwards !important;
    }
    .mobile-menu-panel.active .mobile-menu-list li:nth-child(4) {
        animation: menuSlideIn 0.5s 0.4s forwards !important;
    }
    .mobile-menu-panel.active .mobile-menu-list li:nth-child(5) {
        animation: menuSlideIn 0.5s 0.5s forwards !important;
    }
    .mobile-menu-panel.active .mobile-menu-list li:nth-child(6) {
        animation: menuSlideIn 0.5s 0.6s forwards !important;
    }

    @keyframes menuSlideIn {
        from {
            opacity: 0 !important;
            transform: translateX(-30px) !important;
        }
        to {
            opacity: 1 !important;
            transform: translateX(0) !important;
        }
    }

    /* 메뉴 링크 - 최대 우선순위 */
    .mobile-menu-wrapper .mobile-menu-panel .mobile-menu-list li a,
    .mobile-menu-wrapper .mobile-menu-panel .mobile-menu-list li:first-child a {
        display: block !important;
        padding: 18px 30px !important;
        padding-left: 30px !important;
        color: #1a1a1a !important;
        font-size: 65px !important;
        font-weight: 900 !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, sans-serif !important;
        background: transparent !important;
        line-height: 1.2 !important;
        letter-spacing: -2px !important;
        opacity: 1 !important;
        visibility: visible !important;
        text-shadow: none !important;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
        -webkit-text-fill-color: #1a1a1a !important;
        text-indent: 0 !important;
        margin-left: 0 !important;
    }

    .mobile-menu-wrapper .mobile-menu-panel .mobile-menu-list li a:hover,
    .mobile-menu-wrapper .mobile-menu-panel .mobile-menu-list li a:active,
    .mobile-menu-wrapper .mobile-menu-panel .mobile-menu-list li a:focus {
        background: #000000 !important;
        padding-left: 40px !important;
        color: #FFBE00 !important;
        opacity: 1 !important;
        text-decoration: none !important;
        -webkit-text-fill-color: #FFBE00 !important;
    }

    /* 메뉴 패널 열렸을 때 강제 표시 */
    .mobile-menu-panel.active .mobile-menu-list li a {
        opacity: 1 !important;
        visibility: visible !important;
        color: #1a1a1a !important;
        display: block !important;
        -webkit-text-fill-color: #1a1a1a !important;
    }

    /* 링크 내부 텍스트 강제 표시 */
    .mobile-menu-list li a * {
        color: #1a1a1a !important;
        opacity: 1 !important;
        visibility: visible !important;
        -webkit-text-fill-color: #1a1a1a !important;
    }

    /* 모바일 헤더 완전히 숨김 (영역 차지 안함) */
    .header-renewal {
        display: none !important;
    }

    .header-container {
        display: none !important;
    }

    .nav-renewal {
        display: none !important;
    }

    /* ========== 새로운 모바일 메뉴 ========== */

    /* 햄버거 버튼 */
    .menu-btn {
        position: fixed;
        top: 20px;
        left: 20px;
        width: 50px;
        height: 50px;
        background: #ffbe00;
        border: none;
        border-radius: 50%;
        z-index: 10001;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        box-shadow: 0 4px 12px rgba(255, 190, 0, 0.5);
        transition: all 0.3s;
    }

    .menu-btn span {
        display: block;
        width: 24px;
        height: 3px;
        background: #333;
        border-radius: 2px;
        transition: all 0.3s;
        position: relative;
    }

    .menu-btn.open {
        gap: 0;
    }

    .menu-btn.open span {
        position: absolute;
        top: 50%;
        left: 50%;
    }

    .menu-btn.open span:nth-child(1) {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .menu-btn.open span:nth-child(2) {
        opacity: 0;
    }

    .menu-btn.open span:nth-child(3) {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    /* 오버레이 */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.7);
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .menu-overlay.open {
        opacity: 1;
        visibility: visible;
    }

    /* 메뉴 패널 */
    .menu-panel {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: #ffbe00;
        z-index: 10000;
        transition: left 0.4s;
        overflow-y: auto;
        padding: 100px 30px 30px;
    }

    .menu-panel.open {
        left: 0;
    }

    /* 상단 로그인 영역 */
    .menu-header {
        position: absolute;
        top: 20px;
        right: 20px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 12px;
        z-index: 1;
    }

    /* 홈 버튼 */
    .menu-home-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: rgba(0, 0, 0, 0.1);
        border-radius: 8px;
        transition: all 0.3s;
        text-decoration: none;
    }

    .menu-home-btn:active {
        background: rgba(0, 0, 0, 0.2);
        transform: scale(0.95);
    }

    .menu-home-icon {
        width: 24px;
        height: 24px;
        filter: brightness(0);
    }

    /* 로그인 버튼 영역 (비로그인) */
    .menu-login-buttons {
        display: flex;
        gap: 8px;
    }

    .menu-login-btn,
    .menu-register-btn {
        display: inline-block;
        padding: 10px 18px;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        border-radius: 8px;
        transition: all 0.3s;
    }

    .menu-login-btn {
        background: #000;
        color: #FFBE00;
        border: 2px solid #000;
    }

    .menu-login-btn:active {
        background: #222;
        transform: scale(0.95);
    }

    .menu-register-btn {
        background: transparent;
        color: #000;
        border: 2px solid #000;
    }

    .menu-register-btn:active {
        background: rgba(0,0,0,0.1);
        transform: scale(0.95);
    }

    /* 사용자 정보 영역 (로그인 상태) */
    .menu-user-info {
        display: flex;
        align-items: center;
        gap: 8px;
        background: rgba(0,0,0,0.1);
        padding: 10px 16px;
        border-radius: 8px;
    }

    .menu-user-name {
        font-size: 15px;
        font-weight: 700;
        color: #000;
        margin-right: 4px;
    }

    .menu-admin-btn {
        display: inline-block;
        padding: 6px 14px;
        font-size: 13px;
        font-weight: 700;
        background: #d32f2f;
        color: #fff;
        border: none;
        border-radius: 6px;
        text-decoration: none;
        transition: all 0.3s;
        cursor: pointer;
        margin-right: 6px;
    }

    .menu-admin-btn:active {
        background: #b71c1c;
        transform: scale(0.95);
    }

    .menu-mypage-btn {
        display: inline-block;
        padding: 6px 14px;
        font-size: 13px;
        font-weight: 700;
        background: #FFBE00;
        color: #000;
        border: none;
        border-radius: 6px;
        text-decoration: none;
        transition: all 0.3s;
        cursor: pointer;
    }

    .menu-mypage-btn:active {
        background: #e5ab00;
        transform: scale(0.95);
    }

    .menu-logout-btn {
        display: inline-block;
        padding: 6px 14px;
        font-size: 13px;
        font-weight: 700;
        background: #000;
        color: #FFBE00;
        border: none;
        border-radius: 6px;
        text-decoration: none;
        transition: all 0.3s;
        cursor: pointer;
    }

    .menu-logout-btn:active {
        background: #222;
        transform: scale(0.95);
    }

    /* 메인 메뉴 리스트 */
    .menu-panel .main-menu-list {
        list-style: none;
        margin: 0 0 10px 0;
        padding: 0;
    }

    .menu-panel .main-menu-list > li {
        margin-bottom: 20px;
    }

    .menu-panel .main-menu-list > li > a {
        display: block;
        font-size: 36px;
        font-weight: 900;
        color: #000000;
        text-decoration: none;
        padding: 10px 0;
        transition: all 0.3s;
    }

    .menu-panel .main-menu-list > li > a:active {
        padding-left: 20px;
        background: #000000;
        color: #FFBE00;
    }

    /* 커뮤니티 서브메뉴 */
    .menu-panel .main-menu-list li.has-submenu {
        margin-bottom: 25px;
    }

    .menu-panel .main-menu-list .submenu-list {
        list-style: none;
        padding: 0;
        margin: 5px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        padding-left: 4px;
    }

    .menu-panel .main-menu-list .submenu-list li {
        margin: 0;
    }

    .menu-panel .main-menu-list .submenu-list li a {
        display: inline-block;
        font-size: 20px;
        font-weight: 600;
        color: #333;
        text-decoration: none;
        padding: 0;
        transition: all 0.2s;
    }

    .menu-panel .main-menu-list .submenu-list li a:active {
        color: #FFBE00;
    }

    /* 구분선 */
    .menu-divider {
        width: 100%;
        height: 2px;
        background: linear-gradient(to right, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.05) 100%);
        margin: 10px 0 20px 0;
    }

    /* 최근 대회 섹션 */
    .recent-marathons-section {
        margin-top: 0;
        padding: 20px;
        background: rgba(255, 255, 255, 0.3);
        border: 2px solid rgba(0, 0, 0, 0.15);
        border-radius: 12px;
        margin-bottom: 20px;
    }

    .recent-marathons-section .section-title {
        font-size: 20px;
        font-weight: 700;
        color: #333;
        margin-bottom: 15px;
        padding-left: 0;
        letter-spacing: -0.5px;
    }

    /* 최근 대회 박스 제거 - 스크롤 통합 */
    .recent-marathons-box {
        width: 100%;
        background: transparent;
        border-radius: 0;
        padding: 0;
        max-height: none;
        overflow-y: visible;
        box-shadow: none;
    }

    /* 마라톤 아이템 - 메뉴 스타일과 통일 */
    .menu-marathon-item {
        display: block;
        width: 100%;
        padding: 15px 12px;
        background: rgba(255, 255, 255, 0.5);
        margin-bottom: 10px;
        border-radius: 8px;
        text-decoration: none;
        border: 1px solid rgba(0, 0, 0, 0.1);
        transition: all 0.3s;
    }

    .menu-marathon-item:last-child {
        margin-bottom: 0;
    }

    .menu-marathon-item:active {
        transform: scale(0.98);
        background: rgba(255, 255, 255, 0.8);
        border-color: rgba(0, 0, 0, 0.25);
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    .menu-marathon-item .item-date {
        font-size: 13px;
        color: #555;
        font-weight: 500;
        margin-bottom: 6px;
        display: block;
    }

    .menu-marathon-item .item-name {
        font-size: 22px;
        font-weight: 700;
        color: #222;
        line-height: 1.3;
        display: block;
    }

    /* 메뉴 패널 스크롤바 스타일 (하나로 통합) */
    .menu-panel::-webkit-scrollbar {
        width: 8px;
    }

    .menu-panel::-webkit-scrollbar-track {
        background: rgba(0,0,0,0.05);
    }

    .menu-panel::-webkit-scrollbar-thumb {
        background: rgba(0,0,0,0.2);
        border-radius: 4px;
    }

    .menu-panel::-webkit-scrollbar-thumb:hover {
        background: rgba(0,0,0,0.3);
    }

    /* ========== 모바일 섹션7: 공지사항 & 대회소개 & 상품 ========== */
    .section7.mobile-only {
        background: #fff !important;
        height: var(--real-vh, 100vh) !important;
        min-height: var(--real-vh, 100vh) !important;
        overflow: hidden !important;
        overflow-x: hidden !important;
    }

    .mobile-section7-container {
        width: 100% !important;
        max-width: 100% !important;
        height: var(--real-vh, 100vh) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        padding-top: calc(10% + 15px) !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* 탭 네비게이션 - 풀버튼형 */
    .mobile-tab-nav {
        display: flex !important;
        border-bottom: 1px solid #e0e0e0 !important;
        height: 70px !important;
        flex-shrink: 0 !important;
        background: #fff !important;
    }

    .mobile-tab-btn {
        flex: 1 !important;
        border: none !important;
        background: transparent !important;
        font-size: 20px !important;
        color: #999 !important;
        font-weight: 400 !important;
        cursor: pointer !important;
        position: relative !important;
        transition: all 0.3s ease !important;
        padding: 0 !important;
    }

    .mobile-tab-btn.active {
        color: #000 !important;
        font-weight: 700 !important;
    }

    .mobile-tab-btn.active::after {
        content: '' !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 3px !important;
        background: #FFBE00 !important;
    }

    /* 탭 콘텐츠 영역 */
    .mobile-tab-contents {
        flex: 1 !important;
        overflow: hidden !important;
        position: relative !important;
    }

    .mobile-tab-content {
        display: none !important;
        padding: 5% !important;
        height: 100% !important;
        overflow: hidden !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        box-sizing: border-box !important;
    }

    .mobile-tab-content.active {
        display: block !important;
    }

    /* 공지사항 & 대회소개 리스트 */
    .section7 .mobile-notice-list,
    .section7 .mobile-schedule-list {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        height: auto !important;
    }

    /* 공지사항 & 대회소개 카드 공통 스타일 */
    .mobile-notice-card,
    .mobile-schedule-card {
        background: #fff !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 15px !important;
        padding: 30px !important;
        margin-bottom: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        position: relative !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        height: 180px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .mobile-notice-card:active,
    .mobile-schedule-card:active {
        background: #f9f9f9 !important;
        transform: scale(0.98) !important;
    }

    .mobile-card-badge {
        display: inline-block !important;
        border: 2px solid #000 !important;
        border-radius: 25px !important;
        padding: 8px 20px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #000 !important;
        background: transparent !important;
    }

    .mobile-card-title {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 15px 0 !important;
        line-height: 1.5 !important;
        padding-right: 90px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .mobile-card-date {
        position: absolute !important;
        top: 30px !important;
        right: 30px !important;
        font-size: 16px !important;
        color: #666 !important;
        font-weight: 400 !important;
    }

    .mobile-card-more {
        text-align: right !important;
        font-size: 16px !important;
        color: #666 !important;
        font-weight: 600 !important;
        margin-top: 15px !important;
    }

    /* 상품 카드 스타일 - 가로 배치 */
    .mobile-product-cards {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }

    .mobile-product-card {
        background: #fff !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 15px !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        height: 180px !important;
        margin-bottom: 20px !important;
    }

    .mobile-product-card:active {
        transform: scale(0.98) !important;
    }

    .mobile-product-image {
        width: 70% !important;
        flex-shrink: 0 !important;
        overflow: hidden !important;
    }

    .mobile-product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .mobile-product-info {
        width: 30% !important;
        padding: 20px 15px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: center !important;
        background: #fff !important;
        text-align: center !important;
        position: relative !important;
    }

    .mobile-product-name {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.3 !important;
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .mobile-product-goto {
        color: #000 !important;
        font-size: 24px !important;
        font-weight: 300 !important;
        margin-top: auto !important;
    }

    /* 더보기 버튼 */
    .mobile-more-btn {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        background: #FFBE00 !important;
        color: #000 !important;
        text-align: center !important;
        padding: 15px !important;
        border-radius: 10px !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        margin-top: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        box-sizing: border-box !important;
    }

    .mobile-more-btn:active {
        background: #E5AA00 !important;
        transform: scale(0.98) !important;
    }

    /* ========== 모바일 푸터 ========== */
    .cfooter {
        background: #FFBE00 !important;
        padding: 40px 5% !important;
        text-align: center !important;
        color: #000 !important;
        font-weight: 500 !important;
        line-height: 2 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
    }

    /* 상단 메뉴 */
    .cfooter ul {
        list-style: none !important;
        margin: 0 0 25px 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0 !important;
        flex-wrap: wrap !important;
    }

    .cfooter ul li {
        display: inline-block !important;
        padding: 0 12px !important;
        background: none !important;
        position: relative !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    .cfooter ul li:not(:last-child)::after {
        content: '|' !important;
        position: absolute !important;
        right: -2px !important;
        color: #000 !important;
    }

    .cfooter ul li:first-child {
        padding-left: 0 !important;
    }

    .cfooter ul li:last-child {
        padding-right: 0 !important;
    }

    .cfooter a {
        color: #000 !important;
        text-decoration: none !important;
        transition: opacity 0.3s !important;
    }

    .cfooter a:hover {
        opacity: 0.7 !important;
    }

    .cfooter ul li span {
        font-weight: 700 !important;
    }

    .cfooter br {
        display: block !important;
        content: "" !important;
        margin: 5px 0 !important;
    }

    /* 이니페이 로고 */
    .cfooter .certmark {
        margin-top: 25px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .cfooter .certmark img {
        width: 60px !important;
        height: 60px !important;
        cursor: pointer !important;
        opacity: 0.8 !important;
    }

    /* 푸터 섹션 fullpage.js 호환 - 콘텐츠 높이만큼만 */
    .section.fp-auto-height {
        min-height: auto !important;
        height: auto !important;
        display: block !important;
    }

    /* 푸터가 포함된 섹션 */
    .section.fp-auto-height .cfooter {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        width: 100% !important;
    }

    /* MainFooter 모바일 스타일 (실제로 사용되는 푸터) */
    .main-footer {
        background: #FFBE00 !important;
        padding: 40px 20px 30px 20px !important;
        position: relative !important;
    }

    .footer-container {
        max-width: 100% !important;
        width: 100% !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
    }

    /* 좌측 영역 - 메인 콘텐츠 */
    .footer-left {
        width: 100% !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 20px !important;
    }

    /* 로고 */
    .footer-logo {
        justify-content: flex-start !important;
        gap: 12px !important;
        margin-bottom: 8px !important;
    }

    .footer-logo-img {
        height: 32px !important;
    }

    .footer-logo-text {
        font-size: 15px !important;
        color: #000 !important;
        font-weight: 600 !important;
    }

    /* 메뉴 - 2줄 배치 */
    .footer-menu {
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 15px 20px !important;
        margin-bottom: 20px !important;
    }

    .footer-menu a {
        font-size: 13px !important;
        color: #000 !important;
        font-weight: 500 !important;
        text-decoration: none !important;
    }

    .footer-menu a:active {
        opacity: 0.7 !important;
    }

    /* 저작권 */
    .footer-copyright {
        font-size: 11px !important;
        color: #000 !important;
        text-align: left !important;
        line-height: 1.6 !important;
        margin-bottom: 18px !important;
        opacity: 0.8 !important;
    }

    /* SNS 아이콘 */
    .footer-social {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 15px !important;
        margin-bottom: 0 !important;
        margin-top: 5px !important;
    }

    .social-icon {
        width: 38px !important;
        height: 38px !important;
        border: 2px solid #000 !important;
        border-radius: 50% !important;
        flex-shrink: 0 !important;
        display: block !important;
    }

    /* 우측 영역 - 이니페이 (우하단 고정) */
    .footer-right {
        position: absolute !important;
        right: 20px !important;
        bottom: 30px !important;
        width: auto !important;
        align-items: flex-end !important;
        gap: 8px !important;
    }

    .footer-security-text {
        display: none !important; /* 모바일에서 텍스트 숨김 */
    }

    .footer-payment-img {
        display: flex !important;
        justify-content: flex-end !important;
    }

    .footer-payment-img img {
        width: 50px !important;
        height: auto !important;
        opacity: 0.7 !important;
    }

    /* fullPage.js 워터마크 숨김 (모바일) */
    .fp-watermark {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    #fp-nav.fp-show-active a.active + .fp-tooltip {
        display: none !important;
    }

    /* ========================================
       서브페이지 공통 히어로 배너 (모바일)
       - marathon-top-banner, schedule-top-banner 등
       - 모든 서브페이지 공통 적용
       ======================================== */

    /* 히어로 배너 기본 */
    .marathon-top-banner,
    .schedule-top-banner,
    .product-top-banner {
        height: 280px !important;
        margin: 15px !important;
        border-radius: 12px !important;
        padding: 20px !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: flex !important;
        position: relative !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    }

    /* 각 페이지별 배경 이미지 */
    .marathon-top-banner {
        background-image: url('/Common/images_renew/menu1/menu1_top.png') !important;
    }

    .schedule-top-banner {
        background-image: url('/Common/images_renew/menu2/menu2_top.png') !important;
    }

    .product-top-banner {
        background-image: url('/Common/images_renew/menu3/menu3_top.png') !important;
    }

    /* 타이틀 영역 - 좌측 정렬 */
    .marathon-top-banner .hero-title,
    .schedule-top-banner .hero-title,
    .product-top-banner .hero-title {
        left: 25px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        text-align: left !important;
        width: calc(100% - 50px) !important;
        padding: 0 !important;
        margin-top: 0 !important;
        position: absolute !important;
    }

    /* 타이틀 애니메이션 조정 */
    .marathon-top-banner .hero-title-animate,
    .schedule-top-banner .hero-title-animate,
    .product-top-banner .hero-title-animate {
        animation: heroFadeSlideUpMobile 1s ease-out forwards !important;
        animation-delay: 0.2s !important;
    }

    @keyframes heroFadeSlideUpMobile {
        from {
            opacity: 0;
            transform: translateY(calc(-50% + 20px));
        }
        to {
            opacity: 1;
            transform: translateY(-50%);
        }
    }

    /* 타이틀 텍스트 */
    .marathon-top-banner .hero-title h1,
    .schedule-top-banner .hero-title h1,
    .product-top-banner .hero-title h1 {
        font-size: 32px !important;
        margin: 0 0 8px 0 !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.2 !important;
    }

    .marathon-top-banner .hero-title p,
    .schedule-top-banner .hero-title p,
    .product-top-banner .hero-title p {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    /* 가로선 숨김 */
    .marathon-top-banner::after,
    .schedule-top-banner::after,
    .product-top-banner::after {
        display: none !important;
    }

    /* Breadcrumb - 좌측 하단 */
    .marathon-top-banner .breadcrumb-wrapper,
    .schedule-top-banner .breadcrumb-wrapper,
    .product-top-banner .breadcrumb-wrapper {
        left: 25px !important;
        transform: none !important;
        bottom: 20px !important;
        gap: 8px !important;
        position: absolute !important;
        display: flex !important;
        align-items: center !important;
    }

    .breadcrumb-home-link {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        text-decoration: none !important;
    }

    .breadcrumb-home-icon {
        width: 16px !important;
        height: 16px !important;
    }

    .breadcrumb-text {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #000 !important;
    }

    .breadcrumb-current {
        color: #000 !important;
    }

    .breadcrumb-arrow {
        width: 6px !important;
        height: auto !important;
    }

    /* ========================================
       Marathon/List.aspx 전용 (모바일)
       ======================================== */

    /* 전체 레이아웃 */
    .marathon-new-layout {
        max-width: 100% !important;
        margin: 30px auto 0 !important;
        padding: 0 15px !important;
    }

    /* 연도 필터 탭 */
    .year-filter-tabs {
        display: flex !important;
        width: 100% !important;
        gap: 0 !important;
        margin-bottom: 20px !important;
        border: 2px solid #FFBE00 !important;
        border-radius: 50px !important;
        padding: 3px !important;
    }

    .year-tab {
        flex: 1 !important;
        padding: 13px 40px !important;
        font-size: 27px !important;
        text-align: center !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        border-radius: 83px !important;
        transition: all 0.3s ease !important;
        background: transparent !important;
        color: #ccc !important;
    }

    .year-tab.active {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    /* 카드 리스트 */
    .marathon-card-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 33px !important;
    }

    /* 카드 - 세로 스택 */
    .marathon-card {
        display: flex !important;
        flex-direction: column !important;
        gap: 25px !important;
        border: 8px solid #FFBE00 !important;
        border-radius: 20px !important;
        padding: 25px !important;
        background: #fff !important;
        margin-bottom: 33px !important;
    }

    /* 카드 좌측 - 타이틀 + 이미지 */
    .marathon-card-left {
        width: 100% !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 17px !important;
    }

    .marathon-card-title-box {
        background: #000 !important;
        color: #fff !important;
        font-size: 27px !important;
        font-weight: 700 !important;
        text-align: center !important;
        padding: 25px 20px !important;
        border-radius: 17px !important;
        line-height: 1.4 !important;
    }

    .marathon-card-image {
        width: 100% !important;
        height: 300px !important;
        border-radius: 17px !important;
        overflow: hidden !important;
        background: #f0f0f0 !important;
        position: relative !important;
        display: block !important;
    }

    /* 이미지 없을 때 처리 */
    .marathon-card-image::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(240, 240, 240, 0.95) !important;
        z-index: 1 !important;
        opacity: 0 !important;
    }

    .marathon-card-image.no-image::before {
        opacity: 1 !important;
    }

    .marathon-card-image.no-image::after {
        content: '' !important;
        position: absolute !important;
        width: 133px !important;
        height: 133px !important;
        background-image: url('/Common/images_renew/logo.svg') !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        z-index: 2 !important;
        opacity: 0.3 !important;
    }

    .marathon-card-image.no-image img {
        opacity: 0 !important;
    }

    .marathon-card-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* 카드 우측 - 정보 */
    .marathon-card-right {
        width: 100% !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: 17px 8px !important;
    }

    .marathon-card-info {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    /* 날짜 영역 */
    .marathon-card-date-row {
        display: flex !important;
        align-items: center !important;
        gap: 20px !important;
        flex-wrap: wrap !important;
    }

    .marathon-year-badge {
        background: #FFBE00 !important;
        color: #000 !important;
        font-size: 27px !important;
        font-weight: 700 !important;
        padding: 7px 27px !important;
        border-radius: 83px !important;
        display: inline-block !important;
    }

    .marathon-date-text {
        font-size: 47px !important;
        font-weight: 700 !important;
        color: #000 !important;
    }

    /* 대회명 */
    .marathon-card-name {
        font-size: 33px !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.3 !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
    }

    /* 장소 */
    .marathon-card-place {
        font-size: 23px !important;
        color: #666 !important;
        font-weight: 400 !important;
    }

    /* 사진 찾기 링크 */
    .marathon-card-link {
        margin-top: 20px !important;
    }

    .marathon-card-link a {
        display: block !important;
        text-align: center !important;
        font-size: 30px !important;
        font-weight: 700 !important;
        padding: 23px 20px !important;
        background: #FFBE00 !important;
        border-radius: 13px !important;
        color: #000 !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
    }

    .marathon-card-link a:hover {
        opacity: 1 !important;
        background: #000 !important;
        color: #FFBE00 !important;
        text-decoration: none !important;
    }

    /* 페이지네이션 */
    .marathon-pagination {
        margin-top: 67px !important;
        margin-bottom: 67px !important;
        padding: 0 25px !important;
    }

    .marathon-pagination .pagination {
        gap: 7px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .marathon-pagination .pagination li a {
        width: 35px !important;
        height: 35px !important;
        font-size: 14px !important;
        border-radius: 50% !important;
        border: none !important;
    }

    /* 활성 페이지 버튼 */
    .marathon-pagination .pagination li.active a {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    /* 비활성 페이지 버튼 */
    .marathon-pagination .pagination li:not(.active) a {
        background: transparent !important;
        color: #999 !important;
    }

    /* 터치 피드백 */
    .marathon-pagination .pagination li:not(.active) a:active {
        color: #000 !important;
        opacity: 0.7 !important;
    }

    /* ========== 대회일정 페이지 모바일 최적화 ========== */

    /* 0. .wrap 전체 너비 강제 (PC CSS의 1500px 고정폭 무효화) */
    .wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* 1. 필터 영역 - 년도/월 드롭다운 좌우 배치 */
    .schedule-filter-container {
        display: flex !important;
        flex-direction: row !important;
        padding: 33px 25px !important;
        gap: 17px !important;
        margin-bottom: 33px !important;
        align-items: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .schedule-year-selector {
        flex: 1 !important;
        min-width: 0 !important;
        display: block !important;
    }

    .year-dropdown {
        width: 100% !important;
        font-size: 25px !important;
        padding: 23px 58px 23px 25px !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 17px !important;
        background-color: #fff !important;
        color: #000 !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        background-image: url('data:image/svg+xml;utf8,<svg fill="%23FFBE00" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>') !important;
        background-repeat: no-repeat !important;
        background-position: right 20px center !important;
        background-size: 30px !important;
        box-shadow: 0 3px 10px rgba(255, 190, 0, 0.15) !important;
    }

    /* 월 선택을 드롭다운으로 숨김 처리 후 새로 생성 필요 */
    .schedule-month-selector {
        flex: 1 !important;
        min-width: 0 !important;
        display: block !important;
    }

    .month-list {
        display: none !important; /* 원형 버튼 숨김 */
    }

    /* 모바일 월 드롭다운 */
    .month-dropdown-mobile {
        width: 100% !important;
        font-size: 25px !important;
        padding: 23px 58px 23px 25px !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 17px !important;
        background-color: #fff !important;
        color: #000 !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        background-image: url('data:image/svg+xml;utf8,<svg fill="%23FFBE00" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>') !important;
        background-repeat: no-repeat !important;
        background-position: right 20px center !important;
        background-size: 30px !important;
        box-shadow: 0 3px 10px rgba(255, 190, 0, 0.15) !important;
    }

    /* 2. 테이블 → 카드 변환 */
    .schedule-table-container {
        padding: 33px 25px 67px 25px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .schedule-table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .schedule-table tbody {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .schedule-row {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 33px 0 !important;
        height: auto !important;
        border: 5px solid #FFBE00 !important;
        border-radius: 20px !important;
        padding: 30px !important;
        background: #fff !important;
        box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08) !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        box-sizing: border-box !important;
    }

    .schedule-row:active {
        background-color: #FFFBF0 !important;
        transform: scale(0.98) !important;
        box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1) !important;
    }

    .schedule-row td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        text-align: left !important;
        border: none !important;
    }

    /* 3. 날짜 영역 - 깔끔한 뱃지 스타일 */
    .schedule-date {
        border-bottom: none !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
        display: inline-block !important;
    }

    .date-content-wrapper {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 17px !important;
        background: #000 !important;
        padding: 13px 23px !important;
        border-radius: 13px !important;
    }

    .date-year-month {
        font-size: 20px !important;
        color: #999 !important;
        font-weight: 500 !important;
    }

    .date-day-wrapper {
        display: flex !important;
        align-items: baseline !important;
        gap: 8px !important;
    }

    .date-day {
        font-size: 37px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        color: #fff !important;
    }

    .date-dayofweek {
        font-size: 27px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        color: #FFBE00 !important;
    }

    /* 4. 대회명/종목 영역 - 강조 */
    .schedule-event {
        padding: 0 !important;
        border-bottom: none !important;
        margin-bottom: 17px !important;
    }

    .event-link {
        text-decoration: none !important;
        display: block !important;
    }

    .event-name {
        font-size: 37px !important;
        font-weight: 800 !important;
        margin-bottom: 33px !important;
        line-height: 1.5 !important;
        color: #000 !important;
        letter-spacing: -0.5px !important;
        /* 2줄 말줄임표 */
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }

    .event-type {
        display: inline-block !important;
        font-size: 18px !important;
        color: #FFBE00 !important;
        font-weight: 700 !important;
        background: #FFFBF0 !important;
        padding: 7px 17px !important;
        border-radius: 10px !important;
        line-height: 1.2 !important;
        border: 2px solid #FFE8A3 !important;
    }

    /* 5. 장소 영역 - 간결하게 */
    .schedule-place {
        font-size: 25px !important;
        color: #555 !important;
        padding: 0 !important;
        margin-bottom: 17px !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
    }

    /* 6. 연락처 영역 - 배경 박스로 강조 */
    .schedule-contact {
        text-align: left !important;
        padding: 13px 20px !important;
        background: #F5F5F5 !important;
        border-radius: 10px !important;
        margin-top: 20px !important;
        display: inline-block !important;
    }

    .contact-group {
        display: inline !important;
        font-size: 20px !important;
        color: #666 !important;
        margin-right: 10px !important;
        font-weight: 500 !important;
    }

    .contact-phone {
        display: inline !important;
        font-size: 20px !important;
        color: #666 !important;
        font-weight: 600 !important;
    }

    .contact-group::after {
        content: " · " !important;
        color: #999 !important;
        margin-left: 10px !important;
    }

    /* 7. 페이지네이션 */
    .schedule-table-container ~ div {
        padding: 20px 0 0 0 !important;
    }

    /* 페이지네이션 컨테이너 */
    .schedule-table-container ~ div,
    .schedule-table-container ~ .col-xs-12 {
        margin-top: 67px !important;
        margin-bottom: 67px !important;
        padding: 0 25px !important;
    }

    .schedule-table-container ~ div .pagination,
    .schedule-table-container ~ .col-xs-12 .pagination {
        gap: 7px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .schedule-table-container ~ div .pagination li a,
    .schedule-table-container ~ .col-xs-12 .pagination li a {
        width: 35px !important;
        height: 35px !important;
        font-size: 14px !important;
        border-radius: 50% !important;
        border: none !important;
    }

    /* 활성 페이지 버튼 */
    .schedule-table-container ~ div .pagination li.active a,
    .schedule-table-container ~ .col-xs-12 .pagination li.active a {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    /* 비활성 페이지 버튼 */
    .schedule-table-container ~ div .pagination li:not(.active) a,
    .schedule-table-container ~ .col-xs-12 .pagination li:not(.active) a {
        background: transparent !important;
        color: #999 !important;
    }

    /* 터치 피드백 */
    .schedule-table-container ~ div .pagination li:not(.active) a:active,
    .schedule-table-container ~ .col-xs-12 .pagination li:not(.active) a:active {
        color: #000 !important;
        opacity: 0.7 !important;
    }

    /* 8. 푸터 wrapper - 모바일 초기화 */
    .page-footer-wrapper {
        background: transparent !important;
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
        left: auto !important;
        margin-left: 0 !important;
        margin-top: 50px !important;
        z-index: auto !important;
    }

    .schedule-table-container ~ .page-footer-wrapper {
        padding: 0 !important;
    }

    /* 9. 관리자 버튼 */
    .community-write-btn {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 16px !important;
    }

    /* 9. EmptyDataTemplate - 데이터 없을 때 */
    .schedule-table-container table {
        display: block !important;
        width: 100% !important;
    }

    .schedule-table-container table colgroup {
        display: none !important;
    }

    .schedule-table-container table th,
    .schedule-table-container table td {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 15px !important;
        font-size: 16px !important;
    }

    .schedule-table-container table th {
        display: none !important; /* 모바일에서 헤더 숨김 */
    }

    /* ========== 대회일정 상세 페이지 모바일 최적화 ========== */

    /* 1. 전체 컨테이너 */
    .schedule-view-container {
        padding: 33px 25px 67px 25px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .schedule-view-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
    }

    /* 2. 대회 정보 섹션 */
    .schedule-info-section {
        width: 100% !important;
        order: 1 !important;
    }

    /* 3. 로고 섹션 - 모바일에서 숨김 */
    .schedule-logo-section {
        display: none !important;
    }

    /* 4. 대회명 */
    .schedule-view-title {
        margin-bottom: 33px !important;
        padding-bottom: 25px !important;
        border-bottom: 3px solid #FFBE00 !important;
    }

    .schedule-view-title h2 {
        font-size: 43px !important;
        font-weight: 800 !important;
        line-height: 1.4 !important;
        color: #000 !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        margin: 0 !important;
    }

    /* 5. 대회일시 & 카운트다운 - 세로 배치 */
    .info-datetime-section {
        display: flex !important;
        flex-direction: column !important;
        gap: 25px !important;
        margin-bottom: 33px !important;
        padding: 25px !important;
        background: #FFFBF0 !important;
        border-radius: 17px !important;
        border: 2px solid #FFE8A3 !important;
    }

    .info-datetime-left {
        width: 100% !important;
    }

    .info-datetime-right {
        width: 100% !important;
    }

    /* 6. 라벨 & 값 스타일 */
    .info-label {
        font-size: 27px !important;
        font-weight: 700 !important;
        color: #666 !important;
        margin-bottom: 13px !important;
    }

    .info-value-large {
        font-size: 33px !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.5 !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        margin: 0 !important;
    }

    /* 7. 카운트다운 타이머 */
    .countdown-wrapper {
        width: 100% !important;
    }

    .countdown-title {
        font-size: 23px !important;
        font-weight: 700 !important;
        color: #666 !important;
        margin-bottom: 17px !important;
        text-align: center !important;
    }

    .countdown-container {
        display: flex !important;
        justify-content: center !important;
        gap: 13px !important;
        flex-wrap: wrap !important;
    }

    .countdown-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .flip-card {
        width: 83px !important;
        height: 100px !important;
        position: relative !important;
        perspective: 1000px !important;
    }

    .flip-card-inner {
        width: 100% !important;
        height: 100% !important;
        position: relative !important;
        transform-style: preserve-3d !important;
        transition: transform 0.5s !important;
    }

    .flip-card-inner.flip {
        transform: rotateX(180deg) !important;
    }

    .flip-card-front,
    .flip-card-back {
        width: 100% !important;
        height: 100% !important;
        position: absolute !important;
        backface-visibility: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #000 !important;
        border-radius: 13px !important;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important;
    }

    .flip-card-back {
        transform: rotateX(180deg) !important;
    }

    .flip-number {
        font-size: 50px !important;
        font-weight: 800 !important;
        color: #FFBE00 !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
    }

    .countdown-label {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #999 !important;
        letter-spacing: 1px !important;
    }

    /* 8. 대회종목 */
    .info-main-item {
        margin-bottom: 33px !important;
        padding: 25px !important;
        background: #f8f8f8 !important;
        border-radius: 17px !important;
    }

    .info-label-small {
        font-size: 23px !important;
        font-weight: 700 !important;
        color: #666 !important;
        margin-bottom: 10px !important;
    }

    .info-value {
        font-size: 27px !important;
        font-weight: 600 !important;
        color: #000 !important;
        line-height: 1.6 !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        margin: 0 !important;
    }

    /* 9. 정보 그리드 - 1열로 변경 */
    .info-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
    }

    .info-grid-col {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .info-item {
        padding: 25px !important;
        border-bottom: 2px solid #e5e5e5 !important;
    }

    .info-item:last-child {
        border-bottom: none !important;
    }

    /* 10. 홈페이지 링크 */
    .homepage-link {
        color: #0066cc !important;
        text-decoration: none !important;
        word-break: break-all !important;
        font-size: 27px !important;
        font-weight: 600 !important;
    }

    .homepage-link:active {
        color: #004499 !important;
    }

    /* ========== 로그인 페이지 모바일 최적화 ========== */

    /* 모바일 홈 버튼 (우상단) */
    .login-home-btn {
        display: none !important;
    }

    @media (max-width: 768px) {
        .login-home-btn {
            display: flex !important;
            position: fixed !important;
            top: 20px !important;
            right: 20px !important;
            z-index: 10000 !important;
            width: 44px !important;
            height: 44px !important;
            align-items: center !important;
            justify-content: center !important;
            color: #000 !important;
            background: transparent !important;
            border: none !important;
            cursor: pointer !important;
            transition: all 0.3s !important;
        }

        .login-home-btn svg {
            width: 28px !important;
            height: 28px !important;
            stroke-width: 2.5 !important;
        }

        .login-home-btn:active {
            transform: scale(0.9) !important;
            opacity: 0.7 !important;
        }

    /* 로그인 페이지 헤더 숨김 */
    body:has(.login-container) .header-renewal {
        display: none !important;
    }

    /* 로그인 페이지 푸터 숨김 */
    body:has(.login-container) .footer {
        display: none !important;
    }

    /* 로그인 페이지 body 높이 100% */
    body:has(.login-container) {
        overflow: hidden !important;
        height: 100vh !important;
    }

    /* 로그인 페이지 wrap 높이 100% */
    body:has(.login-container) .wrap {
        max-width: none !important;
        width: 100% !important;
        height: 100vh !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 로그인 페이지 form 높이 100% */
    body:has(.login-container) form {
        height: 100% !important;
        display: block !important;
    }

    /* 로그인 컨테이너 - 전체 화면 */
    .login-container {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: linear-gradient(135deg, #FFBE00 0%, #FFD54F 100%) !important;
    }

    /* 우측 이미지 영역 숨김 */
    .login-right {
        display: none !important;
    }

    /* 좌측 영역 - 전체 화면 */
    .login-left {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 30px 20px !important;
        background: transparent !important;
    }

    /* 로그인 카드 */
    .login-card {
        width: 100% !important;
        max-width: 400px !important;
        opacity: 1 !important;
        transform: none !important;
        border: none !important;
        border-radius: 20px !important;
        padding: 40px 30px !important;
        background: #ffffff !important;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    }

    /* 로고 */
    .login-logo {
        text-align: center !important;
        margin-bottom: 25px !important;
    }

    .login-logo a {
        display: inline-block !important;
        text-decoration: none !important;
        transition: all 0.3s !important;
    }

    .login-logo a:active {
        transform: scale(0.95) !important;
        opacity: 0.8 !important;
    }

    .login-logo img {
        height: 30px !important;
        display: block !important;
    }

    /* 제목 */
    .login-title {
        font-size: 26px !important;
        font-weight: 800 !important;
        color: #000 !important;
        text-align: center !important;
        margin: 0 0 8px 0 !important;
    }

    /* 부제목 */
    .login-subtitle {
        font-size: 13px !important;
        color: #666 !important;
        text-align: center !important;
        margin-bottom: 30px !important;
    }

    /* 폼 그룹 */
    .login-form .form-group {
        margin-bottom: 15px !important;
    }

    /* 입력 필드 */
    .login-input {
        width: 100% !important;
        padding: 16px 18px !important;
        font-size: 15px !important;
        border: 2px solid #e5e5e5 !important;
        border-radius: 10px !important;
        background: #f8f8f8 !important;
        color: #000 !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        transition: all 0.3s !important;
        box-sizing: border-box !important;
    }

    .login-input:focus {
        outline: none !important;
        border-color: #FFBE00 !important;
        background: #fff !important;
        box-shadow: 0 0 0 4px rgba(255, 190, 0, 0.1) !important;
    }

    /* 로그인 버튼 */
    .login-button {
        width: 100% !important;
        padding: 16px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        background: #FFBE00 !important;
        color: #000 !important;
        border: none !important;
        border-radius: 10px !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        margin-top: 10px !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
    }

    .login-button:active {
        background: #E5AB00 !important;
        transform: scale(0.98) !important;
    }

    /* 링크 영역 */
    .login-links {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-top: 20px !important;
        padding-top: 20px !important;
        border-top: 1px solid #e5e5e5 !important;
    }

    .login-links .link-item {
        font-size: 13px !important;
        color: #666 !important;
        text-decoration: none !important;
        transition: color 0.3s !important;
    }

    .login-links .link-item:active {
        color: #FFBE00 !important;
    }

    .login-links .link-divider {
        margin: 0 12px !important;
        color: #ddd !important;
    }

    /* 회원가입 영역 */
    .login-register {
        text-align: center !important;
        margin-top: 20px !important;
        font-size: 13px !important;
        color: #666 !important;
    }

    .login-register .register-link {
        color: #FFBE00 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        margin-left: 6px !important;
        transition: all 0.3s !important;
    }

    .login-register .register-link:active {
        color: #E5AB00 !important;
    }

    /* ========== 사진 검색 결과 페이지 모바일 최적화 ========== */

    /* 0. .wrap 너비 강제 (PC CSS 무효화) */
    .picturelist-content-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 1. 대회 정보 카드 */
    .picturelist-competition-info {
        width: 100% !important;
        padding: 20px !important;
        margin: 0 0 20px 0 !important;
        text-align: center !important;
    }

    .competition-title {
        font-size: 43px !important;
        line-height: 1.4 !important;
        margin-bottom: 25px !important;
        font-weight: 800 !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
    }

    .competition-details {
        font-size: 30px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    /* 2. 사용 안내 박스 (검색 후) - 기본 스타일만 유지 */
    .picture-guide-box {
        width: 100% !important;
        padding: 15px !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box !important;
    }

    /* flex-direction과 svg, guide-step 스타일은 아래 PictureList 전용 섹션에서 처리 */

    /* 3. 검색 결과 영역 - 상하 구조로 변경 */
    .picturelist-result-wrapper {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    /* 4. 미리보기 영역 (상단 고정) */
    .picturelist-preview-section {
        width: 100% !important;
        order: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 100 !important;
        background: #fff !important;
    }

    .preview-image-container {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        max-height: 70vh !important;
        background: #000 !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    .preview-image-container img[name='big_pic'] {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    .watermark-overlay,
    .watermark-message {
        max-width: 90% !important;
        max-height: 90% !important;
    }

    /* 5. 버튼 영역 (하단 고정) */
    .preview-button-container {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        padding: 15px !important;
        background: #fff !important;
        /* border-top 제거 - PictureList 전용 섹션에서 처리 */
        display: flex !important;
        gap: 12px !important;
        z-index: 101 !important;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1) !important;
        box-sizing: border-box !important;
    }

    .preview-btn {
        flex: 1 !important;
        padding: 33px 27px !important;
        font-size: 33px !important;
        font-weight: 700 !important;
        border-radius: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 17px !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
    }

    .preview-btn svg {
        width: 40px !important;
        height: 40px !important;
    }

    .preview-btn-secondary {
        background: #fff !important;
        color: #000 !important;
        border: 2px solid #000 !important;
    }

    .preview-btn-secondary:active {
        background: #f5f5f5 !important;
        transform: scale(0.98) !important;
    }

    .preview-btn-primary {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    .preview-btn-primary:active {
        background: #E5AB00 !important;
        transform: scale(0.98) !important;
    }

    /* 6. 썸네일 리스트 영역 (하단) */
    .picturelist-thumbnail-section {
        width: 100% !important;
        order: 2 !important;
        padding: 15px !important;
        padding-bottom: 100px !important; /* 하단 고정 버튼 공간 확보 (버튼 커져서 증가) */
        background: #f8f8f8 !important;
        box-sizing: border-box !important;
    }

    .piclist_pictures {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .picture_item {
        position: relative !important;
        border: 2px solid #ddd !important;
        border-radius: 8px !important;
        background: #fff !important;
        overflow: hidden !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
    }

    .picture_item.active {
        border-color: #FFBE00 !important;
        box-shadow: 0 0 0 2px #FFBE00 !important;
    }

    .picture-item-checkbox {
        position: absolute !important;
        top: 6px !important;
        left: 6px !important;
        z-index: 10 !important;
    }

    .picture-item-checkbox input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        cursor: pointer !important;
    }

    .picture-item-image {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        background: #000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .picture-item-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .picinfo {
        padding: 10px !important;
        font-size: 14px !important;
        color: #666 !important;
        text-align: center !important;
        background: #fff !important;
        border-top: 1px solid #eee !important;
    }

    /* 7. 관리자 다운로드 버튼 */
    .admin-download-btn {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        z-index: 10 !important;
        padding: 8px 14px !important;
        background: rgba(0, 0, 0, 0.7) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        cursor: pointer !important;
    }

    .admin-download-btn:active {
        background: rgba(0, 0, 0, 0.9) !important;
    }

    /* 8. 검색 전 화면 */
    .picturelist-search-section {
        width: 100% !important;
        padding: 30px 20px !important;
        box-sizing: border-box !important;
    }

    .picturelist-search-box {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        margin-bottom: 15px !important;
    }

    .search-input {
        width: 100% !important;
        padding: 33px !important;
        font-size: 30px !important;
        border: 3px solid #e5e5e5 !important;
        border-radius: 20px !important;
        background: #f8f8f8 !important;
        box-sizing: border-box !important;
    }

    .search-input::placeholder {
        font-size: 27px !important;
    }

    .search-input:focus {
        border-color: #FFBE00 !important;
        background: #fff !important;
        outline: none !important;
    }

    .search-button {
        width: 100% !important;
        padding: 33px !important;
        font-size: 33px !important;
        font-weight: 700 !important;
        background: #FFBE00 !important;
        color: #000 !important;
        border: none !important;
        border-radius: 20px !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
    }

    .search-button:active {
        background: #E5AB00 !important;
        transform: scale(0.98) !important;
    }

    .search-checkbox-wrapper {
        display: flex !important;
        align-items: center !important;
        gap: 13px !important;
        padding: 17px !important;
    }

    .search-checkbox {
        width: 33px !important;
        height: 33px !important;
    }

    .search-checkbox-label {
        font-size: 27px !important;
        color: #666 !important;
    }

    /* 9. 안내사항 박스 */
    .picturelist-notice-box {
        width: 100% !important;
        padding: 33px !important;
        margin-top: 50px !important;
        background: #f8f8f8 !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
    }

    .notice-title {
        font-size: 40px !important;
        font-weight: 800 !important;
        margin-bottom: 25px !important;
        color: #000 !important;
    }

    .notice-list {
        padding-left: 33px !important;
    }

    .notice-list li {
        font-size: 27px !important;
        line-height: 1.6 !important;
        margin-bottom: 17px !important;
        color: #666 !important;
    }

    .notice-warning {
        color: #ff5555 !important;
        font-weight: 700 !important;
    }

    /* 10. 페이지네이션 */
    .picturelist-thumbnail-section .col-xs-12 {
        width: 100% !important;
        margin-top: 20px !important;
        padding: 0 !important;
    }

    /* ========== 상품안내 페이지 모바일 최적화 ========== */
    /* viewport 0.6 보정: 모든 크기를 1.67배(1/0.6) 스케일 */

    /* 1. 섹션 컨테이너 */
    .product-section-container {
        padding: 50px 25px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .product-section {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 2. 섹션 헤더 */
    .section-header {
        margin-bottom: 33px !important;
        text-align: center !important;
    }

    .section-subtitle {
        font-size: 23px !important;
        margin-bottom: 17px !important;
        word-break: keep-all !important;
        color: #666 !important;
    }

    .section-title {
        font-size: 40px !important;
        line-height: 1.4 !important;
        word-break: keep-all !important;
        margin-bottom: 25px !important;
    }

    .section-title .highlight {
        font-size: 43px !important;
        background: linear-gradient(to top, #FFBE00 50%, transparent 50%) !important;
        display: inline !important;
        padding: 0 8px !important;
    }

    .section-divider {
        width: 83px !important;
        height: 5px !important;
        margin: 25px auto !important;
        background: #FFBE00 !important;
    }

    .section-description {
        font-size: 23px !important;
        line-height: 1.6 !important;
        margin-bottom: 33px !important;
        word-break: keep-all !important;
        text-align: center !important;
        color: #333 !important;
    }

    /* 3. 가격표 테이블 → 카드 변환 */
    .product-table {
        display: block !important;
        width: 100% !important;
        border: none !important;
        margin: 0 !important;
    }

    .product-table colgroup,
    .product-table thead {
        display: none !important;
    }

    .product-table tbody {
        display: block !important;
        width: 100% !important;
    }

    .product-table tbody tr {
        display: block !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 20px !important;
        padding: 25px !important;
        margin-bottom: 25px !important;
        background: #fff !important;
        box-shadow: 0 3px 13px rgba(255, 190, 0, 0.1) !important;
    }

    .product-table tbody tr:hover {
        background: #fff !important;
    }

    .product-table tbody td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    /* 첫 번째 td: 사이즈 */
    .product-table tbody td:first-child {
        font-size: 27px !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin-bottom: 20px !important;
        padding-bottom: 17px !important;
        border-bottom: 2px solid #FFBE00 !important;
        word-break: keep-all !important;
        text-align: center !important;
    }

    /* 가격 영역을 가로로 배치 */
    .product-table tbody td:nth-child(2),
    .product-table tbody td:nth-child(3),
    .product-table tbody td:nth-child(4) {
        display: inline-block !important;
        width: 32% !important;
        text-align: center !important;
        vertical-align: top !important;
        padding: 13px 0 !important;
        box-sizing: border-box !important;
    }

    .product-table tbody td:nth-child(2)::before {
        content: "오리지날" !important;
        display: block !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #999 !important;
        margin-bottom: 8px !important;
    }

    .product-table tbody td:nth-child(3)::before {
        content: "무궁화" !important;
        display: block !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #999 !important;
        margin-bottom: 8px !important;
    }

    .product-table tbody td:nth-child(4)::before {
        content: "월계수" !important;
        display: block !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #999 !important;
        margin-bottom: 8px !important;
    }

    .product-table tbody td:nth-child(2),
    .product-table tbody td:nth-child(3),
    .product-table tbody td:nth-child(4) {
        font-size: 25px !important;
        font-weight: 700 !important;
        color: #000 !important;
        word-break: keep-all !important;
    }

    /* 섹션 1: 원본 다운로드 - 세로 배치 & 중앙 정렬 */
    .product-section-1 .product-table tbody td:nth-child(2),
    .product-section-1 .product-table tbody td:nth-child(3),
    .product-section-1 .product-table tbody td:nth-child(4) {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
        padding: 13px 10px !important;
        word-break: keep-all !important;
    }

    .product-section-1 .product-table tbody td:nth-child(2)::before {
        content: "가격" !important;
    }

    .product-section-1 .product-table tbody td:nth-child(3)::before {
        content: "비고" !important;
    }

    .product-section-1 .product-table tbody td:nth-child(4) {
        display: none !important;
    }

    /* 4. 액자 사이즈 가이드 */
    .frame-guide-section {
        margin: 50px 0 !important;
        text-align: center !important;
    }

    .frame-guide-title {
        font-size: 30px !important;
        margin-bottom: 25px !important;
        font-weight: 600 !important;
    }

    .frame-guide-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* 5. 상품 타입 3종 박스 - 세로 배치 */
    .product-type-boxes {
        display: flex !important;
        flex-direction: column !important;
        gap: 25px !important;
        margin: 50px 0 !important;
        padding: 0 !important;
    }

    .product-type-box {
        width: 100% !important;
        max-width: 100% !important;
        padding: 33px !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 20px !important;
        background: #fff !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .product-type-title {
        font-size: 30px !important;
        margin-bottom: 25px !important;
        font-weight: 600 !important;
    }

    .product-type-image {
        width: 100% !important;
        max-width: 333px !important;
        height: auto !important;
        margin: 0 auto 25px auto !important;
        display: block !important;
    }

    .product-type-description {
        font-size: 23px !important;
        word-break: keep-all !important;
        color: #666 !important;
    }

    /* 6. 사진 인화 상품 설명 섹션 - 중앙 정렬 */
    .print-product-info-section {
        margin-top: 67px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .print-info-title {
        font-size: 33px !important;
        padding: 0 17px !important;
        margin-bottom: 33px !important;
        word-break: keep-all !important;
        background: linear-gradient(to top, #FFBE00 50%, transparent 50%) !important;
        display: inline-block !important;
    }

    .print-info-description {
        font-size: 23px !important;
        line-height: 1.6 !important;
        margin-bottom: 33px !important;
        word-break: keep-all !important;
        color: #333 !important;
        text-align: center !important;
    }

    .print-info-description p {
        margin: 17px 0 !important;
    }

    .print-info-notice {
        font-size: 20px !important;
        line-height: 1.5 !important;
        margin-bottom: 50px !important;
        word-break: keep-all !important;
        color: #666 !important;
        text-align: center !important;
    }

    .print-info-notice p {
        margin: 8px 0 !important;
    }

    /* 7. 서비스 설명 3단 컬럼 - 세로 배치 */
    .print-service-boxes {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
        padding: 0 !important;
        margin-top: 50px !important;
    }

    .print-service-column {
        max-width: 100% !important;
        width: 100% !important;
    }

    .print-service-column-title {
        font-size: 30px !important;
        margin-bottom: 17px !important;
        font-weight: 600 !important;
        text-align: center !important;
    }

    .print-service-content-box {
        border-radius: 20px !important;
        padding: 33px 25px !important;
        height: auto !important;
        min-height: auto !important;
        gap: 17px !important;
        background-color: #FAFAFA !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .print-service-item {
        border-radius: 33px !important;
        padding: 17px 25px !important;
        font-size: 23px !important;
        background-color: #FFBE00 !important;
        font-weight: 600 !important;
        display: inline-block !important;
        width: auto !important;
        text-align: center !important;
        margin: 0 !important;
    }

    /* 8. 상담 및 무통장 안내 박스 - 세로 배치 */
    .consultation-box {
        border-radius: 20px !important;
        padding: 42px 25px !important;
        margin-bottom: 67px !important;
        background-color: #FAFAFA !important;
    }

    .consultation-logo {
        margin-bottom: 33px !important;
        text-align: center !important;
    }

    .consultation-logo img {
        height: 33px !important;
        width: auto !important;
    }

    .consultation-title {
        font-size: 30px !important;
        margin-bottom: 25px !important;
        text-align: center !important;
        font-weight: 600 !important;
    }

    .consultation-divider {
        height: 2px !important;
        margin-bottom: 33px !important;
        background-color: #ddd !important;
    }

    .consultation-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 25px !important;
    }

    .consultation-left {
        width: 100% !important;
        text-align: center !important;
    }

    .consultation-time-item {
        flex-direction: column !important;
        align-items: center !important;
        gap: 13px !important;
        margin-bottom: 17px !important;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    .time-label {
        font-size: 23px !important;
        padding: 13px 25px !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
    }

    .time-value {
        font-size: 27px !important;
        font-weight: 600 !important;
    }

    .consultation-right {
        width: 100% !important;
        align-items: center !important;
        text-align: center !important;
        padding: 25px !important;
        background: #fff !important;
        border-radius: 13px !important;
    }

    .bank-icon {
        width: 67px !important;
        height: auto !important;
        margin-bottom: 17px !important;
    }

    .bank-name,
    .bank-account {
        font-size: 27px !important;
        font-weight: 600 !important;
    }

    /* 9. 지원 섹션 - 중앙 정렬 */
    .support-section {
        padding: 50px 0 !important;
        text-align: center !important;
    }

    .support-section .print-info-title {
        font-size: 30px !important;
        background: linear-gradient(to top, #FFBE00 50%, transparent 50%) !important;
        display: inline !important;
        padding: 0 10px !important;
        word-break: keep-all !important;
    }

    .support-logo {
        max-width: 250px !important;
        width: 100% !important;
        margin: 33px auto !important;
        display: block !important;
    }

    .support-section .print-info-description {
        text-align: center !important;
    }

    .support-section .print-info-notice {
        text-align: center !important;
    }

    /* ========== 모바일에서 MasterPage 푸터 숨김 ========== */

    /* MasterPage.master의 기본 푸터 숨김 (모바일에서만) */
    footer.footer {
        display: none !important;
    }

    /* ==================== OrderList.aspx 모바일 최적화 ==================== */

    /* 1. Hero 배너 */
    .orderlist-top-banner {
        height: 280px !important;
        margin: 15px !important;
        border-radius: 12px !important;
        padding: 20px !important;
        background-image: url('/Common/images_renew/menu4/menu4_top.png') !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: flex !important;
        position: relative !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    }

    /* 가로선 숨김 */
    .orderlist-top-banner::after {
        display: none !important;
    }

    /* 타이틀 영역 - 좌측 정렬 */
    .orderlist-top-banner .hero-title {
        left: 25px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        text-align: left !important;
        width: calc(100% - 50px) !important;
        padding: 0 !important;
        margin-top: 0 !important;
        position: absolute !important;
    }

    /* 타이틀 애니메이션 */
    .orderlist-top-banner .hero-title-animate {
        animation: heroFadeSlideUpMobile 1s ease-out forwards !important;
        animation-delay: 0.2s !important;
    }

    /* 타이틀 텍스트 */
    .orderlist-top-banner .hero-title h1 {
        font-size: 32px !important;
        margin: 0 0 8px 0 !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.2 !important;
    }

    .orderlist-top-banner .hero-title p {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    /* Breadcrumb - 좌측 하단 */
    .orderlist-top-banner .breadcrumb-wrapper {
        left: 25px !important;
        transform: none !important;
        bottom: 20px !important;
        gap: 8px !important;
        position: absolute !important;
        display: flex !important;
        align-items: center !important;
    }

    /* 2. 섹션 타이틀 */
    .orderlist-section-title {
        text-align: center !important;
        padding: 30px 20px 20px !important;
        margin: 0 !important;
    }

    .orderlist-subtitle {
        font-size: 14px !important;
        color: #999 !important;
        margin-bottom: 10px !important;
        font-weight: 500 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
    }

    .orderlist-main-title {
        font-size: 24px !important;
        color: #000 !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        word-break: keep-all !important;
        margin: 0 !important;
    }

    /* 3. 테이블 컨테이너 */
    .col-sm-12.pd_top_15.pd_left_0.pd_right_0 {
        padding: 0 15px !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }

    .col-xs-12.mg_top_30.piclist_table.list {
        padding: 0 !important;
        margin-top: 30px !important;
        width: 100% !important;
        text-align: left !important;
    }

    /* 4. 테이블 → 카드 변환 */
    div.col-xs-12.mg_top_30.piclist_table.list table {
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        border-top: none !important;
        display: block !important;
    }

    /* colgroup 숨김 (고정 너비 제거) */
    div.col-xs-12.mg_top_30.piclist_table.list table colgroup {
        display: none !important;
    }

    /* 테이블 헤더 숨김 - 더 강력한 선택자 */
    div.col-xs-12.mg_top_30.piclist_table.list table thead {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table thead tr {
        display: none !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table thead tr th {
        display: none !important;
    }

    /* 혹시 모를 다른 헤더 선택자들도 처리 */
    .piclist_table.list thead {
        display: none !important;
    }

    .piclist_table.list table > thead {
        display: none !important;
    }

    /* tbody도 block으로 */
    div.col-xs-12.mg_top_30.piclist_table.list table tbody {
        display: block !important;
        width: 100% !important;
    }

    /* 각 행을 카드로 변환 */
    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr {
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        border: 8px solid #FFBE00 !important;
        border-radius: 20px !important;
        padding: 25px !important;
        margin-bottom: 33px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        box-shadow: 0 3px 13px rgba(255, 190, 0, 0.1) !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr:hover {
        box-shadow: 0 5px 20px rgba(255, 190, 0, 0.2) !important;
        transform: translateY(-3px) !important;
    }

    /* 모든 셀을 블록으로 */
    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td {
        display: block !important;
        width: 100% !important;
        padding: 13px 0 !important;
        border: none !important;
        border-bottom: none !important;
        text-align: left !important;
        font-size: 23px !important;
        line-height: 1.5 !important;
        word-break: keep-all !important;
        box-sizing: border-box !important;
    }

    /* 구매번호 (2번째 셀) - 카드 상단 강조 */
    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(2) {
        font-size: 27px !important;
        font-weight: 700 !important;
        color: #000 !important;
        padding-bottom: 17px !important;
        margin-bottom: 17px !important;
        border-bottom: 3px solid #FFBE00 !important;
        order: -1 !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(2) a {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* 라벨 추가 (CSS ::before 사용) */
    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(1)::before {
        content: '구매일시: ' !important;
        color: #666 !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        margin-right: 8px !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(2)::before {
        content: '구매번호: ' !important;
        color: #666 !important;
        font-weight: 600 !important;
        font-size: 23px !important;
        margin-right: 8px !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(3)::before {
        content: '주문자: ' !important;
        color: #666 !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        margin-right: 8px !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(4)::before {
        content: '주문총액: ' !important;
        color: #666 !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        margin-right: 8px !important;
    }

    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(5)::before {
        content: '결제여부: ' !important;
        color: #666 !important;
        font-weight: 600 !important;
        font-size: 20px !important;
        margin-right: 8px !important;
    }

    /* 결제 상태 텍스트 강조 */
    div.col-xs-12.mg_top_30.piclist_table.list table tbody tr td:nth-child(5) {
        font-weight: 700 !important;
        font-size: 25px !important;
    }

    /* 5. 페이지네이션 */
    .col-xs-12.scroll-animate {
        text-align: center !important;
        margin-top: 50px !important;
        padding: 0 15px !important;
    }

    .col-xs-12 .pager {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 13px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .col-xs-12 .pager a,
    .col-xs-12 .pager span {
        display: inline-block !important;
        width: 50px !important;
        height: 50px !important;
        line-height: 50px !important;
        text-align: center !important;
        border-radius: 50% !important;
        font-size: 23px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        box-sizing: border-box !important;
    }

    /* 기본 상태 */
    .col-xs-12 .pager a {
        background: transparent !important;
        color: #666 !important;
        border: 2px solid transparent !important;
    }

    /* 활성 페이지 (노란색) */
    .col-xs-12 .pager span,
    .col-xs-12 .pager a.active {
        background: #FFBE00 !important;
        color: #000 !important;
        font-weight: 700 !important;
        border: 2px solid #FFBE00 !important;
    }

    /* 호버 효과 */
    .col-xs-12 .pager a:hover {
        background: rgba(255, 190, 0, 0.1) !important;
        color: #FFBE00 !important;
        border: 2px solid #FFBE00 !important;
    }

    /* 이전/다음 버튼 */
    .col-xs-12 .pager a:first-child,
    .col-xs-12 .pager a:last-child {
        font-size: 20px !important;
    }

    /* 페이지네이션 컨테이너 */
    .orderlist-pagination {
        margin-top: 67px !important;
        margin-bottom: 67px !important;
        padding: 0 25px !important;
        text-align: center !important;
    }

    .orderlist-pagination .pagination {
        display: inline-flex !important;
        gap: 7px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    .orderlist-pagination .pagination li {
        margin: 0 !important;
    }

    .orderlist-pagination .pagination li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 35px !important;
        height: 35px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 50% !important;
        border: none !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
    }

    /* 활성 페이지 버튼 */
    .orderlist-pagination .pagination li.active a {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    /* 비활성 페이지 버튼 */
    .orderlist-pagination .pagination li:not(.active) a {
        background: transparent !important;
        color: #999 !important;
    }

    /* 터치 피드백 */
    .orderlist-pagination .pagination li:not(.active) a:active {
        color: #000 !important;
        opacity: 0.7 !important;
    }

    /* ============================================
       Community List 페이지 모바일 최적화
       ============================================ */

    /* 0. 상단 배너 (Hero Section) - Marathon/Schedule 스타일 적용 */
    .community-top-banner {
        height: 280px !important;
        margin: 15px !important;
        border-radius: 12px !important;
        padding: 20px !important;
        background-image: url('/Common/images_renew/menu5/menu5_top.png') !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: flex !important;
        position: relative !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    }

    .community-top-banner .hero-title {
        left: 25px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        text-align: left !important;
        width: calc(100% - 50px) !important;
        padding: 0 !important;
        margin-top: 0 !important;
        position: absolute !important;
    }

    .community-top-banner .hero-title-animate {
        animation: heroFadeSlideUpMobile 1s ease-out forwards !important;
        animation-delay: 0.2s !important;
    }

    .community-top-banner .hero-title h1 {
        font-size: 32px !important;
        margin: 0 0 8px 0 !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.2 !important;
    }

    .community-top-banner .hero-title p {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    .community-top-banner::after {
        display: none !important;
    }

    .community-top-banner .breadcrumb-wrapper {
        left: 25px !important;
        transform: none !important;
        bottom: 20px !important;
        gap: 8px !important;
        position: absolute !important;
        display: flex !important;
        align-items: center !important;
    }

    .community-top-banner .breadcrumb-home-link {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        text-decoration: none !important;
    }

    .community-top-banner .breadcrumb-home-icon {
        width: 16px !important;
        height: 16px !important;
    }

    .community-top-banner .breadcrumb-text {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #000 !important;
    }

    .community-top-banner .breadcrumb-current {
        color: #000 !important;
    }

    .community-top-banner .breadcrumb-arrow {
        width: 6px !important;
        height: auto !important;
    }

    /* 0-1. 섹션 타이틀 */
    .orderlist-section-title {
        padding: 40px 20px 60px 20px !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .orderlist-section-title .orderlist-subtitle {
        font-size: 19px !important;
        color: #FFBE00 !important;
        font-weight: 600 !important;
        margin: 0 0 10px 0 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }

    .orderlist-section-title .orderlist-main-title {
        font-size: 35px !important;
        color: #333 !important;
        font-weight: 700 !important;
        margin: 0 !important;
        line-height: 1.3 !important;
    }

    /* 1. 컨테이너 */
    .col-sm-12.pd_left_0.pd_right_0 {
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* 2. 안내 메시지 - 숨김 처리 (게시글 작성 버튼 제외, View 페이지 컨텐츠 제외) */
    .col-xs-12.mg_top_15:not(.piclist_table):not([style*="text-align:right"]):not(:has(.boardtitle)) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 3. 테이블 컨테이너 */
    .col-xs-12.mg_top_15.piclist_table.list {
        margin: 0 0 50px 0 !important;
        padding: 0 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 4. 테이블 → 한 줄 리스트 변환 */
    .col-xs-12.piclist_table.list table {
        display: block !important;
        width: 100% !important;
        border: none !important;
        background: transparent !important;
    }

    /* thead가 없으므로 th가 있는 첫 번째 tr을 숨김 */
    .col-xs-12.piclist_table.list table > tr:has(th),
    .col-xs-12.piclist_table.list table tbody > tr:has(th) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        line-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .col-xs-12.piclist_table.list table tbody {
        display: block !important;
        width: 100% !important;
    }

    .col-xs-12.piclist_table.list table tr {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        background: #fff !important;
        border-bottom: 1px solid #f0f0f0 !important;
        padding: 17px 15px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        transition: background 0.2s ease !important;
        gap: 10px !important;
    }

    .col-xs-12.piclist_table.list table tr:hover {
        background: #FFFEF5 !important;
    }

    .col-xs-12.piclist_table.list table tr:first-child {
        border-top: 1px solid #f0f0f0 !important;
    }

    /* 5. 번호 컬럼 숨김 (td:nth-child(1)) */
    .col-xs-12.piclist_table.list table tr td:nth-child(1) {
        display: none !important;
    }

    /* 6. 글쓴이 컬럼 숨김 (td:nth-child(3)) */
    .col-xs-12.piclist_table.list table tr td:nth-child(3) {
        display: none !important;
    }

    /* 7. 제목 (td:nth-child(2)) - 1줄 말줄임 */
    .col-xs-12.piclist_table.list table tr td:nth-child(2) {
        flex: 1 !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: none !important;
        font-size: 19px !important;
        font-weight: 500 !important;
        color: #333 !important;
        line-height: 1.4 !important;
        text-align: left !important;

        /* 1줄 말줄임 */
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .col-xs-12.piclist_table.list table tr td:nth-child(2) a {
        color: #333 !important;
        text-decoration: none !important;
        font-size: 19px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
    }

    /* 8. 작성일 (td:nth-child(4)) - 우측 작게 */
    .col-xs-12.piclist_table.list table tr td:nth-child(4) {
        flex-shrink: 0 !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        font-size: 15px !important;
        color: #999 !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    /* 9. 조회수 (td:nth-child(5)) - 우측 고정 너비 */
    .col-xs-12.piclist_table.list table tr td:nth-child(5) {
        flex-shrink: 0 !important;
        width: 70px !important;
        min-width: 70px !important;
        padding: 0 !important;
        border: none !important;
        font-size: 15px !important;
        color: #999 !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .col-xs-12.piclist_table.list table tr td:nth-child(5)::before {
        content: '👁 ' !important;
        margin-right: 3px !important;
    }

    /* 10. EmptyDataTemplate */
    .col-xs-12.piclist_table.list table tr td[colspan="5"] {
        display: block !important;
        width: 100% !important;
        padding: 50px 20px !important;
        text-align: center !important;
        font-size: 23px !important;
        color: #999 !important;
        border: 1px solid #f0f0f0 !important;
        border-radius: 12px !important;
        background: #fafafa !important;
    }

    /* 11. 게시글 작성 버튼 (관리자 전용 - 작게) */
    .col-xs-12.mg_top_15[style*="text-align:right"] {
        text-align: center !important;
        margin: 15px 0 0 0 !important;
        padding: 0 15px !important;
    }

    .community-write-btn {
        display: block !important;
        width: 100% !important;
        max-width: 300px !important;
        margin: 0 auto !important;
        height: 50px !important;
        background: #FFBE00 !important;
        border: none !important;
        border-radius: 8px !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #fff !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        line-height: 50px !important;
    }

    .community-write-btn:hover {
        background: #E5AB00 !important;
    }

    /* 게시판 공지사항 (type=B) */
    #Board_Notice {
        display: block !important;
        margin: 0 20px !important;
        padding: 20px !important;
        background: #FFF9E6 !important;
        border-radius: 12px !important;
        border-left: 4px solid #FFBE00 !important;
        font-size: 17px !important;
        color: #666 !important;
        line-height: 1.6 !important;
        font-weight: 600 !important;
    }

    /* 12. 검색창 */
    .community-search-wrapper {
        margin: 50px 0 13px 0 !important;
        padding: 0 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .community-search-wrapper.hidden {
        display: none !important;
    }

    .community-search-box {
        display: flex !important;
        align-items: center !important;
        background: #fff !important;
        border: 2px solid #f0f0f0 !important;
        border-radius: 30px !important;
        padding: 4px 8px 4px 20px !important;
        width: 90% !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        transition: border-color 0.2s ease !important;
    }

    .community-search-box:focus-within {
        border-color: #FFBE00 !important;
    }

    .community-search-input {
        flex: 1 !important;
        border: none !important;
        outline: none !important;
        font-size: 20px !important;
        color: #333 !important;
        background: transparent !important;
        padding: 10px 0 !important;
        height: auto !important;
        line-height: 1.4 !important;
    }

    .community-search-input::placeholder {
        color: #ccc !important;
    }

    .community-search-btn {
        width: 36px !important;
        height: 36px !important;
        border: none !important;
        background: transparent !important;
        cursor: pointer !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }

    .community-search-btn img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    /* 13. 페이지네이션 */
    .col-xs-12.scroll-animate:has(#pager) {
        text-align: center !important;
        margin: 0 0 67px 0 !important;
        padding: 0 15px !important;
    }

    /* Community List 페이지네이션 스타일 (Marathon Schedule과 동일) */
    .col-xs-12.scroll-animate .pagination {
        display: flex !important;
        gap: 7px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .col-xs-12.scroll-animate .pagination li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 35px !important;
        height: 35px !important;
        font-size: 14px !important;
        border-radius: 50% !important;
        border: none !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
    }

    /* 활성 페이지 버튼 */
    .col-xs-12.scroll-animate .pagination li.active a {
        background: #FFBE00 !important;
        color: #000 !important;
        font-weight: 600 !important;
    }

    /* 비활성 페이지 버튼 */
    .col-xs-12.scroll-animate .pagination li:not(.active) a {
        background: transparent !important;
        color: #999 !important;
    }

    /* 터치 피드백 */
    .col-xs-12.scroll-animate .pagination li:not(.active) a:active {
        color: #000 !important;
        opacity: 0.7 !important;
    }

    /* 모바일에서 페이지네이션 6개씩 보이도록 조정 */
    /* 구조: << < [1] [2] [3] [4] [5] [6] [7] > >> */
    /* 인덱스: 1  2   3   4   5   6   7   8   9  10 11 */
    /* 7번째 숫자 페이지(li:nth-child(9))를 숨겨서 6개만 표시 */
    .col-xs-12.scroll-animate .pagination li:nth-child(9) {
        display: none !important;
    }

    /* ============================================
       Community View Page Mobile Styles
       ============================================ */

    /* Edit/Delete button container */
    .col-xs-12.mg_top_15.scroll-animate[style*="text-align:right"] {
        text-align: center !important;
        padding: 0 15px !important;
        margin: 0 0 17px 0 !important; /* 10px × 1.67 */
    }

    /* Edit/Delete buttons */
    .community-action-btn {
        display: inline-block !important;
        width: 100px !important; /* 60px × 1.67 */
        height: 50px !important; /* 30px × 1.67 */
        margin: 0 5px !important; /* 3px × 1.67 */
        font-size: 20px !important; /* 12px × 1.67 */
        font-weight: 600 !important;
        border: none !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        transition: opacity 0.2s !important;
    }

    .community-edit-btn {
        background-color: #FFBE00 !important;
        color: #000 !important;
    }

    .community-edit-btn:active {
        opacity: 0.7 !important;
    }

    .community-delete-btn {
        background-color: #666 !important;
        color: #fff !important;
    }

    .community-delete-btn:active {
        opacity: 0.7 !important;
    }

    /* Post content container - 카드 형태 */
    .col-sm-12.pd_left_0.pd_right_0 > .col-xs-12.mg_top_15.scroll-animate:has(.boardtitle) {
        padding: 0 15px !important;
        margin: 0 0 33px 0 !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Post title */
    .col-xs-12.boardtitle {
        background-color: #FFFBF0 !important;
        padding: 25px 20px !important;
        border-radius: 17px 17px 0 0 !important;
        font-size: 30px !important; /* 18px × 1.67 */
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0 !important;
        border: 5px solid #FFBE00 !important;
        border-bottom: 3px solid #FFBE00 !important;
        line-height: 1.4 !important;
        word-break: keep-all !important; /* 단어 단위 줄바꿈 */
        word-wrap: break-word !important;
        text-align: left !important;
    }

    /* Post info - 작성자/날짜 */
    .col-xs-12.boardInfo {
        background-color: #fff !important;
        padding: 12px 20px !important;
        border-left: 5px solid #FFBE00 !important;
        border-right: 5px solid #FFBE00 !important;
        border-bottom: 1px solid #f5f5f5 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        font-size: 17px !important; /* 10px × 1.67 */
        color: #999 !important;
        margin: 0 !important;
    }

    .col-xs-12.boardInfo .col-xs-6 {
        padding: 0 !important;
        width: auto !important;
        font-size: 17px !important;
        color: #999 !important;
    }

    .col-xs-12.boardInfo b {
        color: #666 !important;
        font-weight: 600 !important;
    }

    .col-xs-12.boardInfo .boardWriteDate {
        text-align: right !important;
        color: #999 !important;
    }

    /* Post content */
    .col-xs-12.boardContent {
        background-color: #ffffff !important;
        padding: 25px 20px !important;
        font-size: 21px !important; /* 13px × 1.67 */
        line-height: 1.8 !important;
        color: #333 !important;
        margin: 0 !important;
        border-left: 5px solid #FFBE00 !important;
        border-right: 5px solid #FFBE00 !important;
        border-bottom: 5px solid #FFBE00 !important;
        word-wrap: break-word !important;
        text-align: left !important; /* 왼쪽 정렬 */
    }

    /* Post notice */
    .col-xs-12.boardNotice {
        background-color: #FFFBF0 !important;
        padding: 17px 20px !important;
        border-radius: 0 0 17px 17px !important;
        border-left: 5px solid #FFBE00 !important;
        border-right: 5px solid #FFBE00 !important;
        border-bottom: 5px solid #FFBE00 !important;
        
        font-size: 18px !important;
        color: #666 !important;
        margin: 0 !important;
        line-height: 1.6 !important;
    }

    .col-xs-12.boardNotice b {
        font-weight: 600 !important;
        color: #333 !important;
    }

    /* Comment section container - Community View 전용 */
    .col-sm-12.pd_left_0.pd_right_0 > .col-xs-12.mg_top_30.scroll-animate:has(#lv_reply) {
        padding: 0 15px !important;
        margin: 33px 0 0 0 !important; /* 20px × 1.67 */
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Comment items - 카드 형태 */
    #lv_reply .col-xs-12.boardInfo {
        margin-top: 20px !important;
        background-color: #FFFBF0 !important;
        border-radius: 17px 17px 0 0 !important;
        border: 5px solid #FFBE00 !important;
        border-bottom: 3px solid #FFBE00 !important;
        padding: 15px 20px !important;
        font-size: 17px !important;
        color: #999 !important;
    }

    #lv_reply .col-xs-12.boardInfo b {
        color: #666 !important;
        font-weight: 600 !important;
    }

    #lv_reply .col-xs-12.boardContent {
        background-color: #ffffff !important;
        border-left: 5px solid #FFBE00 !important;
        border-right: 5px solid #FFBE00 !important;
        border-bottom: 5px solid #FFBE00 !important;
        border-radius: 0 0 17px 17px !important;
        padding: 20px !important;
        margin: 0 !important;
        font-size: 20px !important;
        line-height: 1.7 !important;
        color: #333 !important;
    }

    #lv_reply .col-xs-12.boardNotice {
        display: none !important; /* 댓글 아래 빈 공간 제거 */
    }

    /* Delete button in comments */
    #lv_reply button[onclick*="DeleteReply"] {
        background-color: #666 !important;
        color: white !important;
        border: none !important;
        padding: 5px 12px !important;
        border-radius: 5px !important;
        font-size: 17px !important;
        cursor: pointer !important;
        margin-left: 10px !important;
        transition: opacity 0.2s !important;
    }

    #lv_reply button[onclick*="DeleteReply"]:active {
        opacity: 0.7 !important;
    }

    /* Reply input container */
    #ReplyDiv,
    [id*="ReplyDiv"] {
        margin-top: 33px !important;
        padding: 0 15px !important;
    }

    /* Reply textarea */
    #TB_Reply,
    [id*="TB_Reply"] {
        width: 100% !important;
        min-height: 150px !important; /* 90px × 1.67 */
        padding: 17px !important;
        font-size: 20px !important;
        line-height: 1.6 !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 12px !important;
        margin: 0 0 17px 0 !important;
        resize: vertical !important;
        box-sizing: border-box !important;
        background-color: #FFFBF0 !important;
    }

    #TB_Reply:focus,
    [id*="TB_Reply"]:focus {
        outline: none !important;
        border-color: #FFBE00 !important;
        background-color: #fff !important;
    }

    /* Reply submit button */
    #Btn_WriteReply,
    [id*="Btn_WriteReply"] {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        height: 67px !important; /* 40px × 1.67 */
        background-color: #FFBE00 !important;
        color: #000 !important;
        border: none !important;
        border-radius: 12px !important;
        font-size: 23px !important; /* 14px × 1.67 */
        font-weight: 700 !important;
        cursor: pointer !important;
        transition: opacity 0.2s !important;
    }

    #Btn_WriteReply:active,
    [id*="Btn_WriteReply"]:active {
        opacity: 0.7 !important;
    }

    /* 작성된 댓글 영역 - ListView 안의 댓글들 */
    #lv_reply .col-xs-12.boardInfo {
        background-color: #f8f8f8 !important;
        padding: 17px 20px !important;
        border-radius: 12px 12px 0 0 !important;
        border: 3px solid #FFBE00 !important;
        border-bottom: 2px solid #FFBE00 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        font-size: 18px !important; /* 11px × 1.67 */
        color: #999 !important;
        margin: 20px 15px 0 15px !important;
        width: calc(100% - 30px) !important;
        float: none !important;
    }

    #lv_reply .col-xs-12.boardInfo b {
        color: #333 !important;
        font-weight: 600 !important;
    }

    #lv_reply .col-xs-12.boardInfo .col-xs-6 {
        width: auto !important;
        padding: 0 !important;
        float: none !important;
    }

    #lv_reply .col-xs-12.boardInfo .boardWriteDate {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        text-align: right !important;
    }

    /* 댓글 삭제 버튼 */
    #lv_reply .col-xs-12.boardInfo button {
        margin: 0 !important;
        padding: 8px 15px !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        background: #fff !important;
        color: #666 !important;
        border: 2px solid #ddd !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        transition: all 0.2s !important;
    }

    #lv_reply .col-xs-12.boardInfo button:active {
        background: #f44336 !important;
        color: #fff !important;
        border-color: #f44336 !important;
    }

    /* 댓글 내용 */
    #lv_reply .col-xs-12.boardContent {
        background-color: #ffffff !important;
        padding: 20px !important;
        font-size: 20px !important; /* 12px × 1.67 */
        line-height: 1.7 !important;
        color: #333 !important;
        margin: 0 15px !important;
        width: calc(100% - 30px) !important;
        border-left: 3px solid #FFBE00 !important;
        border-right: 3px solid #FFBE00 !important;
        border-bottom: 3px solid #FFBE00 !important;
        border-radius: 0 0 12px 12px !important;
        word-wrap: break-word !important;
        text-align: left !important;
        min-height: 50px !important;
        float: none !important;
    }

    /* 댓글 하단 공지 (숨김) */
    #lv_reply .col-xs-12.boardNotice {
        display: none !important;
    }

    /* ========================================
       Store/Basket.aspx 장바구니 페이지
       ======================================== */

    /* 결제 단계 표시 */
    .payment-steps-container {
        width: calc(100% - 30px) !important;
        margin: 33px 15px !important;
        padding: 0 !important;
    }

    .payment-steps {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
    }

    .payment-step {
        flex: 0 0 auto !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .payment-step .step-circle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 50px !important;
        height: 50px !important;
        border-radius: 50% !important;
        background: #f5f5f5 !important;
        border: 3px solid #ddd !important;
    }

    .payment-step.active .step-circle {
        background: #FFBE00 !important;
        border-color: #FFBE00 !important;
    }

    .payment-step .step-number {
        font-size: 27px !important;
        font-weight: 700 !important;
        color: #999 !important;
    }

    .payment-step.active .step-number {
        color: #000 !important;
    }

    .payment-step .step-label {
        font-size: 17px !important;
        font-weight: 600 !important;
        color: #999 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        line-height: 1.3 !important;
        max-width: 80px !important;
    }

    .payment-step.active .step-label {
        color: #000 !important;
        font-weight: 700 !important;
    }

    .step-line {
        flex: 1 !important;
        height: 2px !important;
        background: #ddd !important;
        margin: 0 5px !important;
        margin-top: 25px !important;
        min-width: 8px !important;
    }

    /* ========================================
       PC/모바일 표시 전환
       ======================================== */

    /* PC 버전: 모바일에서 숨김 */
    .basket-pc-view {
        display: none !important;
    }

    /* 모바일 버전: 모바일에서 표시 */
    .basket-mobile-view {
        display: block !important;
        padding: 0 15px !important;
    }






    .Basket.list tbody {
        display: block !important;
        width: 100% !important;
    }

    /* 모든 tr 기본 */
    .Basket.list tbody tr {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 헤더 행 숨김 (첫 번째 tr - th 포함) */
    .Basket.list tbody tr:first-child {
        position: absolute !important;
        left: -9999px !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
    }

    /* 푸터 행 (총 금액 카드) - 마지막 tr */
    .Basket.list tbody tr:last-child {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin: 33px 0 !important;
    }

    /* 헤더(1) 제외, 아이템 4개 묶음 선택 */
    /* 1st item tr: 카드 상단 - 2, 6, 10, 14... (4n+2) */
    .Basket.list tbody tr:nth-child(4n+2) {
        position: relative !important;
        border: 3px solid #FFBE00 !important;
        border-bottom: none !important;
        border-radius: 17px 17px 0 0 !important;
        background: #fff !important;
        padding: 20px !important;
        margin-top: 25px !important;
    }

    /* 2nd item tr: 카드 중간 - 3, 7, 11, 15... (4n+3) */
    .Basket.list tbody tr:nth-child(4n+3) {
        border-left: 3px solid #FFBE00 !important;
        border-right: 3px solid #FFBE00 !important;
        background: #fff !important;
        padding: 0 20px 12px 20px !important;
    }

    /* 3rd item tr: 카드 하단 - 4, 8, 12, 16... (4n+4) */
    .Basket.list tbody tr:nth-child(4n+4) {
        border-left: 3px solid #FFBE00 !important;
        border-right: 3px solid #FFBE00 !important;
        border-bottom: 3px solid #FFBE00 !important;
        border-radius: 0 0 17px 17px !important;
        background: #fff !important;
        padding: 0 20px 20px 20px !important;
        box-shadow: 0 3px 17px rgba(0, 0, 0, 0.08) !important;
    }

    /* 4th item tr: 숨김 (spacer row) - 5, 9, 13, 17... (4n+5) */
    .Basket.list tbody tr:nth-child(4n+5) {
        display: none !important;
    }

    /* === 모든 td 기본: block 레이아웃 === */
    .Basket.list tbody tr td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 17px !important;
        color: #333 !important;
        padding: 8px 0 !important;
        overflow: hidden !important; /* 내용이 넘치면 숨김 */
    }

    /* === 1st tr 레이아웃 (4n+2) === */
    /* 체크박스 - 절대 위치 (우측 상단) */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(1) {
        position: absolute !important;
        top: 20px !important;
        right: 20px !important;
        width: auto !important;
        z-index: 10 !important;
        padding: 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(1) input[type="checkbox"] {
        width: 25px !important;
        height: 25px !important;
        cursor: pointer !important;
    }

    /* 이미지 - 상단 블록 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(2) {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        min-height: 250px !important;
        text-align: center !important;
        padding: 20px 0 !important;
        margin-bottom: 20px !important;
        border-bottom: 2px solid #f5f5f5 !important;
    }

    .Basket.list .pic_item {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
    }

    .Basket.list .pic_item table {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .Basket.list .pic_item img {
        max-width: 200px !important;
        max-height: 200px !important;
        min-height: 150px !important;
        width: auto !important;
        height: auto !important;
        border-radius: 12px !important;
        border: 2px solid #e0e0e0 !important;
        display: block !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    .Basket.list .picinfo {
        display: block !important;
        font-size: 17px !important;
        color: #666 !important;
        margin-top: 10px !important;
        text-align: center !important;
    }

    /* 1st tr: 인쇄 드롭다운 (4n+2) */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(3) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(3)::before {
        content: '인쇄 옵션' !important;
        display: block !important;
        font-size: 13px !important;
        color: #666 !important;
        margin-bottom: 6px !important;
        font-weight: 600 !important;
    }

    /* 1st tr: 인쇄 수량 (4n+2) */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(4) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(4)::before {
        content: '수량' !important;
        display: block !important;
        font-size: 13px !important;
        color: #666 !important;
        margin-bottom: 6px !important;
        font-weight: 600 !important;
    }

    /* 1st tr: 인쇄 단가 (숨김) (4n+2) */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(5) {
        display: none !important;
    }

    /* 1st tr: 인쇄 합계 (4n+2) */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(6) {
        padding: 10px 0 15px 0 !important;
        text-align: right !important;
        font-size: 23px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        border-bottom: 2px solid #e0e0e0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(6)::before {
        content: '합계: ' !important;
        display: inline !important;
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* === 2nd tr 레이아웃 (액자) (4n+3) === */
    /* 2nd tr: 액자 드롭다운 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(1) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(1)::before {
        content: '액자 옵션' !important;
        display: block !important;
        font-size: 13px !important;
        color: #666 !important;
        margin-bottom: 6px !important;
        font-weight: 600 !important;
    }

    /* 2nd tr: 액자 수량 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(2) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(2)::before {
        content: '수량' !important;
        display: block !important;
        font-size: 13px !important;
        color: #666 !important;
        margin-bottom: 6px !important;
        font-weight: 600 !important;
    }

    /* 2nd tr: 액자 단가 (숨김) */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(3) {
        display: none !important;
    }

    /* 2nd tr: 액자 합계 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(4) {
        padding: 10px 0 15px 0 !important;
        text-align: right !important;
        font-size: 23px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        border-bottom: 2px solid #e0e0e0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(4)::before {
        content: '합계: ' !important;
        display: inline !important;
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* === 3rd tr 레이아웃 (다운로드) (4n+4) === */
    /* 3rd tr: 다운로드 체크박스 */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(1) {
        padding: 15px 0 10px 0 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        border-top: 2px solid #e0e0e0 !important;
        margin-top: 10px !important;
    }

    /* 3rd tr: 빈 td (숨김) */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(2) {
        display: none !important;
    }

    /* 3rd tr: 다운로드 단가 (숨김) */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(3) {
        display: none !important;
    }

    /* 3rd tr: 다운로드 합계 */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(4) {
        padding: 10px 0 !important;
        text-align: right !important;
        font-size: 23px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
    }

    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(4)::before {
        content: '합계: ' !important;
        display: inline !important;
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 폼 요소 */
    .Basket.list select,
    .Basket.list input[type="text"] {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        border: 2px solid #e0e0e0 !important;
        border-radius: 8px !important;
        font-size: 20px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .Basket.list select:focus,
    .Basket.list input[type="text"]:focus {
        border-color: #FFBE00 !important;
        outline: none !important;
    }

    .Basket.list input[type="checkbox"] {
        width: 30px !important;
        height: 30px !important;
        cursor: pointer !important;
        accent-color: #FFBE00 !important;
        vertical-align: middle !important;
    }

    /* 총 금액 카드 */
    .Basket.list tbody tr:has(.basket-total-price-card) {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin: 33px 0 !important;
    }

    .Basket.list tbody td:has(.basket-total-price-card) {
        display: block !important;
        padding: 0 !important;
    }

    .basket-total-price-card {
        width: 100% !important;
        padding: 25px !important;
        background: linear-gradient(135deg, #FFFBF0 0%, #FFF8E1 100%) !important;
        border: 5px solid #FFBE00 !important;
        border-radius: 17px !important;
        box-shadow: 0 5px 25px rgba(255, 190, 0, 0.15) !important;
        box-sizing: border-box !important;
    }

    .basket-total-price-card .price-row {
        display: flex !important;
        justify-content: space-between !important;
        padding: 12px 0 !important;
    }

    .basket-total-price-card .price-row-total {
        padding-top: 17px !important;
    }

    .basket-total-price-card .price-label {
        font-size: 23px !important;
        font-weight: 600 !important;
        color: #333 !important;
    }

    .basket-total-price-card .price-value {
        font-size: 27px !important;
        font-weight: 700 !important;
        color: #000 !important;
    }

    .basket-total-price-card .price-label-total {
        font-size: 27px !important;
        font-weight: 700 !important;
        color: #000 !important;
    }

    .basket-total-price-card .price-value-total {
        font-size: 40px !important;
        font-weight: 800 !important;
        color: #FFBE00 !important;
    }

    .basket-total-price-card .price-divider {
        height: 1px !important;
        background: #ddd !important;
        margin: 8px 0 !important;
    }

    .basket-total-price-card .price-divider-bold {
        height: 3px !important;
        background: #FFBE00 !important;
        margin: 17px 0 !important;
    }

    /* 버튼 영역 */
    .basket-button-area {
        width: 100% !important;
        padding: 0 15px !important;
        margin: 33px 0 50px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 17px !important;
        box-sizing: border-box !important;
    }

    .basket-button-area .basket-button-left,
    .basket-button-area .basket-button-right {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .basket-button-area .basket-checkbox-all {
        width: 30px !important;
        height: 30px !important;
        margin-bottom: 8px !important;
        accent-color: #FFBE00 !important;
    }

    .basket-button-area .basket-btn-purchase {
        width: 100% !important;
        padding: 25px !important;
        font-size: 27px !important;
        font-weight: 700 !important;
        background: linear-gradient(135deg, #FFBE00 0%, #FFD54F 100%) !important;
        color: #000 !important;
        border: none !important;
        border-radius: 17px !important;
        box-shadow: 0 5px 17px rgba(255, 190, 0, 0.4) !important;
    }

    .basket-button-area .basket-btn-purchase:active {
        background: linear-gradient(135deg, #E5AA00 0%, #FFC107 100%) !important;
        transform: scale(0.98) !important;
    }

    .basket-button-area .basket-btn-continue {
        width: 100% !important;
        padding: 25px !important;
        font-size: 27px !important;
        font-weight: 700 !important;
        background: #fff !important;
        color: #000 !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 17px !important;
    }

    .basket-button-area .basket-btn-continue:active {
        background: #FFFBF0 !important;
        transform: scale(0.98) !important;
    }

    .basket-button-area .basket-btn-delete,
    .basket-button-area .basket-btn-delete-all {
        width: 100% !important;
        padding: 20px !important;
        font-size: 23px !important;
        font-weight: 600 !important;
        background: #fff !important;
        color: #f44336 !important;
        border: 2px solid #f44336 !important;
        border-radius: 12px !important;
    }

    .basket-button-area .basket-btn-delete:active,
    .basket-button-area .basket-btn-delete-all:active {
        background: #f44336 !important;
        color: #fff !important;
        transform: scale(0.98) !important;
    }

    /* 빈 장바구니 */
    .Basket.list tbody tr:has(td[colspan="6"]) {
        display: block !important;
        border: 3px solid #ddd !important;
        background: #f9f9f9 !important;
        padding: 67px 25px !important;
        text-align: center !important;
        border-radius: 17px !important;
        margin: 25px 0 !important;
    }

    .Basket.list tbody tr:has(td[colspan="6"]) td {
        display: block !important;
        font-size: 27px !important;
        font-weight: 600 !important;
        color: #666 !important;
    }

    /* ========================================
       FAQ 페이지 모바일 스타일
       ======================================== */

    /* FAQ 질문 이미지 컨테이너 */
    .faq-image-item {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 25px !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .faq-image-item img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 12px !important;
    }

    /* FAQ 질문 텍스트 오버레이 */
    .faq-image-text {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, calc(-50% - 10px)) !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        font-size: 24px !important;
        font-weight: 600 !important;
        color: #000 !important;
        text-align: center !important;
        width: 90% !important;
        pointer-events: none !important;
        z-index: 10 !important;
        line-height: 1.4 !important;
    }

    /* FAQ 답변 영역 */
    .faq-answer-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        background-color: #FAFAFA !important;
        padding: 20px 20px !important;
        margin-bottom: 40px !important;
        border-radius: 12px !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .faq-answer-content {
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        color: #000 !important;
        line-height: 1.8 !important;
        text-align: left !important;
    }

    /* FAQ 답변 영역 내 이미지 스타일 - 100% 너비 */
    .faq-answer-content img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 20px auto !important;
        border-radius: 8px !important;
    }

    .faq-answer-empty {
        text-align: center !important;
        font-family: "Pretendard Variable", Pretendard, sans-serif !important;
        font-size: 24px !important;
        color: #666 !important;
        padding: 40px 20px !important;
        margin: 40px auto !important;
    }

    /* FAQ 질문 래퍼 */
    .faq-question-wrapper {
        margin-bottom: 50px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* ========== Register 페이지 모바일 최적화 ========== */

    /* Hero 배너 - Schedule 페이지 스타일 참조 */
    .findaccount-top-banner {
        height: 280px !important;
        margin: 15px !important;
        border-radius: 12px !important;
        padding: 20px !important;
        background-image: url('/Common/images_renew/mypage/mypage_top.png') !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: flex !important;
        position: relative !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    }

    /* 타이틀 영역 - 좌측 정렬 */
    .findaccount-top-banner .hero-title {
        left: 25px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        text-align: left !important;
        width: calc(100% - 50px) !important;
        padding: 0 !important;
        margin-top: 0 !important;
        position: absolute !important;
    }

    /* 타이틀 애니메이션 */
    .findaccount-top-banner .hero-title-animate {
        animation: heroFadeSlideUpMobile 1s ease-out forwards !important;
        animation-delay: 0.2s !important;
    }

    /* 타이틀 텍스트 */
    .findaccount-top-banner .hero-title h1 {
        font-size: 32px !important;
        margin: 0 0 8px 0 !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.2 !important;
    }

    .findaccount-top-banner .hero-title p {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    /* Breadcrumb - 좌측 하단 */
    .findaccount-top-banner .breadcrumb-wrapper {
        left: 25px !important;
        transform: none !important;
        bottom: 20px !important;
        gap: 8px !important;
        position: absolute !important;
        display: flex !important;
        align-items: center !important;
    }

    .findaccount-top-banner .breadcrumb-home-link {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        text-decoration: none !important;
    }

    .findaccount-top-banner .breadcrumb-home-icon {
        width: 16px !important;
        height: 16px !important;
    }

    .findaccount-top-banner .breadcrumb-text {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #000 !important;
    }

    .findaccount-top-banner .breadcrumb-current {
        color: #000 !important;
    }

    .findaccount-top-banner .breadcrumb-arrow {
        width: 6px !important;
        height: auto !important;
    }

    /* 전체 동의 영역 - 맨 위 배치 */
    .register-all-agree {
        margin: 20px 20px 30px !important;
        padding: 25px 20px !important;
        background: linear-gradient(135deg, #FFBE00 0%, #FFD54F 100%) !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 16px rgba(255, 190, 0, 0.3) !important;
    }

    .register-checkbox-label {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        color: #333 !important;
        cursor: pointer !important;
        padding: 20px !important;
        background: rgba(255, 255, 255, 0.95) !important;
        border: 2px solid #fff !important;
        border-radius: 12px !important;
        transition: all 0.3s !important;
    }

    .register-checkbox-label:active {
        background: rgba(255, 255, 255, 0.85) !important;
        transform: scale(0.98) !important;
    }

    .register-checkbox-label input[type="checkbox"] {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        margin: 0 !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
    }

    .register-checkbox-label input[type="checkbox"]:checked {
        accent-color: #FFBE00 !important;
    }

    /* 약관 카드 전체 스타일 */
    .register-agreement-card {
        margin: 0 20px 30px !important;
        padding: 0 !important;
        background: #fff !important;
        border-radius: 16px !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
        overflow: hidden !important;
    }

    .register-agreement-header {
        padding: 25px 20px !important;
        background: #FAFAFA !important;
        border-bottom: 1px solid #E0E0E0 !important;
    }

    .register-agreement-header h3 {
        font-size: 24px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    .required-badge {
        display: inline-block !important;
        padding: 4px 10px !important;
        background: #FF5252 !important;
        color: #fff !important;
        font-size: 16px !important;
        border-radius: 6px !important;
        margin-left: 10px !important;
        font-weight: 600 !important;
    }

    .optional-badge {
        display: inline-block !important;
        padding: 4px 10px !important;
        background: #2196F3 !important;
        color: #fff !important;
        font-size: 16px !important;
        border-radius: 6px !important;
        margin-left: 10px !important;
        font-weight: 600 !important;
    }

    .register-agreement-content {
        padding: 25px 20px !important;
    }

    .register-agreement-content p {
        margin-bottom: 20px !important;
    }

    /* 약관 Textarea */
    .register-agreement-textarea {
        width: 100% !important;
        min-height: 200px !important;
        font-size: 18px !important;
        line-height: 1.6 !important;
        padding: 20px !important;
        border-radius: 12px !important;
        background: #FAFAFA !important;
        border: 1px solid #E0E0E0 !important;
        box-sizing: border-box !important;
        resize: none !important;
    }

    /* 개인정보 테이블 - 가로 스크롤 가능하게 */
    .register-privacy-content {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 스크롤바 색상 - 브랜드 컬러 */
    .register-privacy-content::-webkit-scrollbar {
        height: 8px !important;
    }

    .register-privacy-content::-webkit-scrollbar-track {
        background: #F5F5F5 !important;
        border-radius: 4px !important;
    }

    .register-privacy-content::-webkit-scrollbar-thumb {
        background: #FFBE00 !important;
        border-radius: 4px !important;
    }

    .register-privacy-content::-webkit-scrollbar-thumb:hover {
        background: #E6AB00 !important;
    }

    .register-privacy-table {
        width: 100% !important;
        min-width: 600px !important;
        margin-bottom: 20px !important;
        border-collapse: collapse !important;
        background: #F9F9F9 !important;
    }

    .register-privacy-table thead {
        background: #FFBE00 !important;
    }

    .register-privacy-table th {
        padding: 12px 10px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #000 !important;
        border: 1px solid #E0E0E0 !important;
        text-align: center !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
    }

    .register-privacy-table td {
        padding: 12px 10px !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #333 !important;
        border: 1px solid #E0E0E0 !important;
        text-align: center !important;
        line-height: 1.5 !important;
        background: #fff !important;
        white-space: normal !important;
        word-wrap: break-word !important;
    }

    .register-notice {
        font-size: 17px !important;
        color: #666 !important;
        line-height: 1.6 !important;
        margin-top: 20px !important;
        padding: 15px !important;
        background: #FFF9E6 !important;
        border-radius: 8px !important;
    }

    /* 약관 동의 푸터 (라디오 버튼 영역) */
    .register-agreement-footer {
        padding: 20px !important;
        background: #FAFAFA !important;
        border-top: 1px solid #E0E0E0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }

    .register-radio-label {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #333 !important;
        cursor: pointer !important;
        padding: 15px 20px !important;
        background: #fff !important;
        border: 2px solid #E0E0E0 !important;
        border-radius: 12px !important;
        transition: all 0.3s !important;
    }

    .register-radio-label:active {
        background: #F5F5F5 !important;
        transform: scale(0.98) !important;
    }

    .register-radio-label input[type="radio"] {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        margin: 0 !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
    }

    .register-radio-label input[type="radio"]:checked ~ span {
        color: #FFBE00 !important;
        font-weight: 700 !important;
    }

    .register-radio-label input[type="radio"]:checked {
        accent-color: #FFBE00 !important;
    }

    /* 섹션 제목 통일성 */
    .col-sm-12.pd_top_15 .findaccount-section-title {
        padding: 30px 20px 30px !important;
        margin: 0 15px !important;
        text-align: center !important;
    }

    .col-sm-12.pd_top_15 .findaccount-section-title .findaccount-subtitle {
        font-size: 19px !important;
        color: #FFBE00 !important;
        font-weight: 600 !important;
        margin: 0 0 10px 0 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }

    .col-sm-12.pd_top_15 .findaccount-section-title .findaccount-main-title {
        font-size: 35px !important;
        color: #333 !important;
        font-weight: 700 !important;
        margin: 0 !important;
        line-height: 1.3 !important;
    }

    /* 회원가입 버튼 */
    .findaccount-form-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }

    .findaccount-form-container {
        max-width: 100% !important;
        padding: 0 !important;
    }

    .findaccount-button-wrapper {
        padding: 0 20px 40px !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .findaccount-button-confirm {
        width: 100% !important;
        height: 72px !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        background: #000 !important;
        color: #FFBE00 !important;
        border: none !important;
        border-radius: 16px !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
    }

    .findaccount-button-confirm:active {
        transform: scale(0.98) !important;
        background: #222 !important;
    }

    /* ========== RegisterForm 페이지 모바일 최적화 ========== */

    /* 필수항목 안내 */
    .regform-required-notice {
        margin: 0 20px 25px !important;
        padding: 20px !important;
        background: #FFF9E6 !important;
        border-radius: 12px !important;
        text-align: center !important;
        font-size: 18px !important;
        color: #666 !important;
        line-height: 1.5 !important;
    }

    .required-mark {
        color: #FF5252 !important;
        font-weight: 700 !important;
        font-size: 20px !important;
        margin-right: 4px !important;
    }

    /* 폼 테이블 - 2컬럼을 1컬럼 카드로 변환 */
    .regform-table {
        width: 100% !important;
        border: none !important;
        border-collapse: collapse !important;
        margin: 0 !important;
    }

    .regform-table colgroup {
        display: none !important;
    }

    .regform-table tbody {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        padding: 0 20px !important;
    }

    .regform-table tr {
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        border-radius: 16px !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
        padding: 25px 20px !important;
        border: none !important;
    }

    /* 라벨 */
    .regform-label {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin-bottom: 15px !important;
        padding: 0 !important;
        border: none !important;
    }

    /* 입력 영역 */
    .regform-input {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
    }

    /* 텍스트 입력 필드 */
    .regform-textbox {
        width: 100% !important;
        height: 60px !important;
        padding: 0 20px !important;
        font-size: 20px !important;
        border: 2px solid #E0E0E0 !important;
        border-radius: 12px !important;
        background: #FAFAFA !important;
        box-sizing: border-box !important;
        transition: all 0.3s !important;
    }

    .regform-textbox:focus {
        border-color: #FFBE00 !important;
        background: #fff !important;
        outline: none !important;
    }

    .regform-textbox::placeholder {
        color: #999 !important;
    }

    /* 텍스트박스 사이즈 변형 - 모바일에서는 모두 full width */
    .regform-textbox-short,
    .regform-textbox-medium,
    .regform-textbox-full {
        width: 100% !important;
    }

    .regform-textbox-zip {
        width: 40% !important;
        min-width: 150px !important;
    }

    /* 읽기전용 주소 필드 - 클릭 가능하도록 스타일링 */
    .regform-textbox[readonly] {
        cursor: pointer !important;
        background: #F5F5F5 !important;
    }

    .regform-textbox[readonly]:hover {
        background: #EFEFEF !important;
    }

    .regform-textbox-phone,
    .regform-textbox-email {
        flex: 1 !important;
        min-width: 0 !important;
    }

    /* 셀렉트 박스 */
    .regform-select {
        height: 60px !important;
        padding: 0 45px 0 20px !important;
        font-size: 20px !important;
        border: 2px solid #E0E0E0 !important;
        border-radius: 12px !important;
        background: #FAFAFA !important;
        color: #333 !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        appearance: none !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23333' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: right 20px center !important;
        background-size: 12px !important;
    }

    .regform-select:focus {
        border-color: #FFBE00 !important;
        background-color: #fff !important;
        outline: none !important;
    }

    /* 인라인 그룹 (생년월일, 전화번호, 이메일) */
    .regform-inline-group {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        align-items: center !important;
    }

    /* 생년월일 드롭다운 - 컴팩트 사이즈 */
    .regform-inline-group .regform-select {
        flex: 1 !important;
        min-width: 80px !important;
        max-width: 120px !important;
    }

    /* 성별 드롭다운 - 별도 스타일 */
    #ContentPlaceHolder1_DDL_Sex {
        flex: 0 0 auto !important;
        min-width: 90px !important;
        max-width: 90px !important;
        margin-left: 10px !important;
    }

    /* 단위 표시 (년, 월, 일) */
    .regform-unit {
        font-size: 16px !important;
        color: #666 !important;
        font-weight: 600 !important;
        margin: 0 2px !important;
    }

    /* 구분자 (-, @) */
    .regform-separator {
        font-size: 22px !important;
        color: #999 !important;
        font-weight: 700 !important;
        margin: 0 5px !important;
    }

    /* 주소 입력 그룹 */
    .regform-address-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .regform-address-row {
        display: flex !important;
        gap: 10px !important;
        align-items: center !important;
    }

    /* 주소검색 버튼 */
    .regform-button-search {
        height: 60px !important;
        padding: 0 25px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        background: #000 !important;
        color: #FFBE00 !important;
        border: none !important;
        border-radius: 12px !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        transition: all 0.3s !important;
        flex-shrink: 0 !important;
    }

    .regform-button-search:active {
        background: #222 !important;
        transform: scale(0.98) !important;
    }

    /* 힌트 문구 */
    .regform-hint {
        font-size: 16px !important;
        color: #999 !important;
        margin: 10px 0 20px 0 !important;
        line-height: 1.5 !important;
    }

    /* 유효성 검사 메시지 */
    .regform-validation-msg {
        margin-top: 12px !important;
        padding: 15px 20px !important;
        border-radius: 10px !important;
        font-size: 17px !important;
        line-height: 1.5 !important;
    }

    .validation-ok {
        color: #00C853 !important;
        font-weight: 600 !important;
    }

    .validation-error {
        color: #FF5252 !important;
        font-weight: 600 !important;
    }

    .regform-validation-msg:has(.validation-ok) {
        background: #E8F5E9 !important;
        border: 2px solid #00C853 !important;
    }

    .regform-validation-msg:has(.validation-error) {
        background: #FFEBEE !important;
        border: 2px solid #FF5252 !important;
    }

    /* 라디오 버튼 그룹 */
    .regform-radio-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .regform-radio-label {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #333 !important;
        cursor: pointer !important;
        padding: 18px 20px !important;
        background: #FAFAFA !important;
        border: 2px solid #E0E0E0 !important;
        border-radius: 12px !important;
        transition: all 0.3s !important;
    }

    .regform-radio-label:active {
        background: #F5F5F5 !important;
        transform: scale(0.98) !important;
    }

    .regform-radio {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        margin: 0 !important;
        cursor: pointer !important;
        accent-color: #FFBE00 !important;
    }

    /* 취소 버튼 스타일 추가 */
    .findaccount-button-cancel {
        width: 100% !important;
        height: 72px !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        background: #fff !important;
        color: #666 !important;
        border: 2px solid #E0E0E0 !important;
        border-radius: 16px !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        margin-top: 15px !important;
    }

    .findaccount-button-cancel:active {
        transform: scale(0.98) !important;
        background: #F5F5F5 !important;
        border-color: #999 !important;
    }

    /* ========== Float Clear Fix - 푸터 겹침 문제 해결 ========== */

    /* Bootstrap col-* 클래스 clearfix */
    .col-sm-12::after,
    .col-xs-12::after {
        content: "" !important;
        display: table !important;
        clear: both !important;
    }

    /* 특정 패턴의 컨테이너에 clearfix 강제 적용 */
    .col-sm-12.pd_left_0.pd_right_0::after,
    .col-sm-12.pd_top_15.pd_left_0.pd_right_0::after {
        content: "" !important;
        display: table !important;
        clear: both !important;
    }

    /* ==========================================
       Marathon PictureList.aspx - Mobile Only
       ========================================== */

    /* 1단계: 가이드 박스 - 1,2,3을 가로 1줄 배치 */
    div.picture-guide-box.scroll-animate {
        padding: 12px 15px !important;
        margin: 20px auto !important;
        border-radius: 12px !important;
        width: calc(100% - 40px) !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    div.picture-guide-box.scroll-animate > div {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px !important;
    }

    /* 가이드 스텝 - 가로 배치 (PC와 동일하게 유지) */
    div.picture-guide-box div.guide-step {
        display: flex !important;
        flex-direction: row !important; /* 가로 배치 */
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        flex: 1 !important;
        min-width: 0 !important;
        padding: 5px 2px !important;
        animation: bounce-step 3s ease-in-out infinite !important;
    }

    /* 번호 아이콘 - 크기 축소 */
    div.picture-guide-box div.guide-step > span:first-child {
        width: 24px !important;
        height: 24px !important;
        font-size: 13px !important;
        flex-shrink: 0 !important;
        display: inline-flex !important;
        background: #FFBE00 !important;
        color: white !important;
    }

    /* 텍스트 - 짧게 대체 (원본 숨기고 ::after로 표시) */
    div.picture-guide-box div.guide-step > span:last-child {
        font-size: 0 !important; /* 원본 텍스트 숨김 */
        white-space: nowrap !important;
        font-weight: 500 !important;
    }

    div.picture-guide-box div.guide-step:nth-child(1) > span:last-child::after {
        content: "사진선택" !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #666 !important;
        display: inline !important;
    }

    div.picture-guide-box div.guide-step:nth-child(3) > span:last-child::after {
        content: "미리보기" !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #666 !important;
        display: inline !important;
    }

    div.picture-guide-box div.guide-step:nth-child(5) > span:last-child::after {
        content: "다운로드&구매" !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #666 !important;
        display: inline !important;
    }

    /* 화살표 SVG - 최소화 */
    div.picture-guide-box svg {
        width: 10px !important;
        height: 10px !important;
        flex-shrink: 0 !important;
        opacity: 0.4 !important;
    }

    /* 2단계: 전체 구조를 세로(column)로 변경 */
    .picturelist-result-wrapper {
        display: flex !important;
        flex-direction: column !important; /* 세로 배치 */
        padding: 0 !important;
        gap: 0 !important;
    }

    /* 3단계: 미리보기 섹션을 상단으로 (order: 1) */
    .picturelist-preview-section {
        order: 1 !important;
        width: 100% !important;
        padding: 0 20px 20px 20px !important;
        box-sizing: border-box !important;
    }

    /* 미리보기 이미지 컨테이너 */
    .preview-image-container {
        width: 100% !important;
        height: auto !important;
        min-height: 400px !important;
        max-height: 500px !important;
        background: #fafafa !important;
        border-radius: 12px !important;
        border: 2px solid #eee !important;
        padding: 15px !important;
        box-sizing: border-box !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .preview-image-container img[name="big_pic"] {
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }

    /* 워터마크 이미지 */
    .watermark-overlay,
    .watermark-message {
        position: absolute !important;
        max-width: 90% !important;
        max-height: 90% !important;
        object-fit: contain !important;
    }

    /* 관리자 다운로드 버튼 */
    .admin-download-btn {
        position: absolute !important;
        top: 15px !important;
        right: 15px !important;
        z-index: 10 !important;
        padding: 8px 15px !important;
        font-size: 14px !important;
        background: #FFBE00 !important;
        color: #000 !important;
        border: none !important;
        border-radius: 8px !important;
        font-weight: 600 !important;
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
    }

    /* 버튼 컨테이너 - 미리보기 아래 고정 */
    .preview-button-container {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
        padding: 0 !important;
        margin-top: 15px !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 50 !important;
        background: #fff !important;
        padding-bottom: 15px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    }

    .preview-button-container button {
        flex: 1 !important;
        height: 56px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        border-radius: 12px !important;
        /* border는 각 버튼 클래스에서 개별 설정 */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        transition: all 0.2s ease !important;
    }

    .preview-btn-secondary {
        background: #fff !important;
        color: #333 !important;
        border: 2px solid #FFBE00 !important; /* 노란색 테두리 */
    }

    .preview-btn-secondary:active {
        background: #FFF9E6 !important; /* 노란색 배경으로 변경 */
        transform: scale(0.98) !important;
    }

    .preview-btn-primary {
        background: #FFBE00 !important;
        color: #000 !important;
        border: none !important; /* 테두리 없음 */
    }

    .preview-btn-primary:active {
        background: #E6AB00 !important;
        transform: scale(0.98) !important;
    }

    .preview-button-container button svg {
        width: 18px !important;
        height: 18px !important;
    }

    /* 4단계: 썸네일 섹션을 하단으로 (order: 2) */
    .picturelist-thumbnail-section {
        order: 2 !important;
        width: 100% !important;
        padding: 20px !important;
        box-sizing: border-box !important;
    }

    /* 5단계: 썸네일 그리드 - 2열로 변경 */
    .piclist_pictures {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important; /* 2열 그리드 */
        gap: 12px !important;
        margin-bottom: 30px !important;
        width: 100% !important;
    }

    /* 썸네일 아이템 */
    .picturelist-thumbnail-section .picture_item {
        position: relative !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
        border: 2px solid transparent !important;
        transition: border 0.2s ease, box-shadow 0.2s ease !important;
        cursor: pointer !important;
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
    }

    .picture_item.active {
        border-color: #FFBE00 !important;
        box-shadow: 0 0 0 1px #FFBE00, 0 4px 12px rgba(255, 190, 0, 0.3) !important;
    }

    /* 체크박스 */
    .picture-item-checkbox {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        z-index: 10 !important;
    }

    .picture-item-checkbox input[type="checkbox"] {
        width: 28px !important;
        height: 28px !important;
        cursor: pointer !important;
        accent-color: #FFBE00 !important;
        transform: scale(1.1) !important; /* 터치 영역 추가 확대 */
    }

    /* 이미지 영역 */
    .picture-item-image {
        width: 100% !important;
        aspect-ratio: 3/4 !important;
        overflow: hidden !important;
        background: #f5f5f5 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .picture-item-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        margin: 0 !important;
    }

    /* 사진 정보 */
    .picinfo {
        padding: 8px !important;
        text-align: center !important;
        font-size: 12px !important;
        color: #666 !important;
        background: transparent !important;
    }

    /* 페이징 */
    .picturelist-thumbnail-section .col-xs-12 {
        margin-top: 20px !important;
        text-align: center !important;
        padding: 0 !important;
    }

    .picturelist-thumbnail-section .pagination {
        display: inline-flex !important;
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .picturelist-thumbnail-section .pagination li a {
        min-width: 36px !important;
        height: 36px !important;
        font-size: 15px !important;
        border-radius: 50% !important;
    }

    /* ==========================================
       Member/Mypage/EditInfo.aspx - Mobile Only
       ========================================== */

    /* Hero 배너 - RegisterForm과 동일한 패턴 */
    .editinfo-top-banner {
        height: 280px !important;
        margin: 15px !important;
        border-radius: 12px !important;
        padding: 20px !important;
        background-image: url('/Common/images_renew/mypage/mypage_top.png') !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        display: flex !important;
        position: relative !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    }

    /* 타이틀 영역 - 좌측 정렬 */
    .editinfo-top-banner .hero-title {
        left: 25px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        text-align: left !important;
        width: calc(100% - 50px) !important;
        padding: 0 !important;
        margin-top: 0 !important;
        position: absolute !important;
    }

    /* 타이틀 애니메이션 */
    .editinfo-top-banner .hero-title-animate {
        animation: heroFadeSlideUpMobile 1s ease-out forwards !important;
        animation-delay: 0.2s !important;
    }

    /* 타이틀 텍스트 */
    .editinfo-top-banner .hero-title h1 {
        font-size: 32px !important;
        margin: 0 0 8px 0 !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.2 !important;
    }

    .editinfo-top-banner .hero-title p {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }

    /* Breadcrumb - 좌측 하단 */
    .editinfo-top-banner .breadcrumb-wrapper {
        left: 25px !important;
        transform: none !important;
        bottom: 20px !important;
        gap: 8px !important;
        position: absolute !important;
        display: flex !important;
        align-items: center !important;
    }

    .editinfo-top-banner .breadcrumb-home-link {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        text-decoration: none !important;
    }

    .editinfo-top-banner .breadcrumb-home-icon {
        width: 16px !important;
        height: 16px !important;
    }

    .editinfo-top-banner .breadcrumb-text {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #000 !important;
    }

    .editinfo-top-banner .breadcrumb-current {
        color: #000 !important;
    }

    .editinfo-top-banner .breadcrumb-arrow {
        width: 6px !important;
        height: auto !important;
    }

    /* Section Title 영역 (OrderList와 동일) */
    .editinfo-section-title {
        text-align: center !important;
        padding: 50px 20px 30px 20px !important;
        box-sizing: border-box !important;
    }

    .editinfo-section-title .editinfo-subtitle {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #FFBE00 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        margin: 0 0 10px 0 !important;
    }

    .editinfo-section-title .editinfo-main-title {
        font-size: 28px !important;
        font-weight: 800 !important;
        color: #000 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
        letter-spacing: -0.5px !important;
    }

    /* Form Wrapper */
    .editinfo-form-wrapper {
        padding: 0 20px 60px 20px !important;
        box-sizing: border-box !important;
    }

    .editinfo-form-container {
        width: 100% !important;
        max-width: none !important;
        background: #fff !important;
        border-radius: 16px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }

    /* Form Title */
    .editinfo-form-title {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0 0 20px 0 !important;
        padding-bottom: 15px !important;
        border-bottom: 2px solid #FFBE00 !important;
    }

    /* Table 구조 → Card 형식으로 변환 (RegisterForm 패턴) */
    .editinfo-table {
        display: block !important;
        width: 100% !important;
        border: none !important;
        margin: 0 !important;
    }

    .editinfo-table colgroup {
        display: none !important;
    }

    .editinfo-table tbody {
        display: block !important;
    }

    .editinfo-table tr {
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        border: 1px solid #eee !important;
        border-radius: 12px !important;
        padding: 20px !important;
        margin-bottom: 15px !important;
        box-sizing: border-box !important;
    }

    .editinfo-table td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    /* Label (첫 번째 td) */
    .editinfo-table td:first-child {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin-bottom: 10px !important;
        padding-bottom: 8px !important;
        border-bottom: 1px solid #f5f5f5 !important;
    }

    /* Input Container (두 번째 td) */
    .editinfo-table td:last-child {
        margin-top: 0 !important;
    }

    /* Text Inputs */
    .editinfo-table input[type="text"],
    .editinfo-table input[type="password"],
    .editinfo-table input[type="email"],
    .editinfo-table input[type="tel"] {
        width: 100% !important;
        max-width: none !important;
        height: 50px !important;
        padding: 0 16px !important;
        font-size: 16px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        background: #fff !important;
        transition: border-color 0.2s ease !important;
    }

    .editinfo-table input[type="text"]:focus,
    .editinfo-table input[type="password"]:focus,
    .editinfo-table input[type="email"]:focus,
    .editinfo-table input[type="tel"]:focus {
        border-color: #FFBE00 !important;
        outline: none !important;
    }

    /* Disabled Inputs (아이디 등) */
    .editinfo-table input:disabled {
        background: #f5f5f5 !important;
        color: #999 !important;
        cursor: not-allowed !important;
    }

    /* Select Dropdowns (생년월일 등) */
    .editinfo-table select {
        height: 50px !important;
        padding: 0 16px !important;
        font-size: 16px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        background: #fff !important;
        transition: border-color 0.2s ease !important;
        margin-right: 8px !important;
    }

    .editinfo-table select:focus {
        border-color: #FFBE00 !important;
        outline: none !important;
    }

    .editinfo-table select:last-child {
        margin-right: 0 !important;
    }

    /* Multiple Inputs in Row (생년월일, 전화번호 등) */
    .editinfo-table td:last-child > select,
    .editinfo-table td:last-child > input[type="text"] {
        display: inline-block !important;
        width: auto !important;
        flex: 1 !important;
    }

    .editinfo-table td:last-child {
        display: flex !important;
        gap: 8px !important;
        align-items: center !important;
    }

    /* 비밀번호 / 비밀번호 확인 - span 설명을 아래로, 높이 줄이기 */
    .editinfo-table tr:has(#ContentPlaceHolder1_TB_PW),
    .editinfo-table tr:has(#ContentPlaceHolder1_TB_PW2) {
        padding: 15px 20px !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_TB_PW) td:last-child,
    .editinfo-table tr:has(#ContentPlaceHolder1_TB_PW2) td:last-child {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_TB_PW) td:last-child > span,
    .editinfo-table tr:has(#ContentPlaceHolder1_TB_PW2) td:last-child > span {
        width: 100% !important;
        margin-top: 0 !important;
        font-size: 12px !important;
        color: #999 !important;
        line-height: 1.4 !important;
    }

    /* 주소 입력 그룹 (RegisterForm 방식 동일) */
    .editinfo-address-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .editinfo-address-row {
        display: flex !important;
        gap: 10px !important;
        align-items: center !important;
        width: 100% !important;
    }

    /* 우편번호 입력칸 - inline style override */
    .editinfo-textbox-zip[style],
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Zip[style],
    .editinfo-textbox-zip,
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Zip {
        flex: 1 !important;
        width: auto !important;
        max-width: none !important;
        height: 60px !important;
        padding: 0 16px !important;
        font-size: 16px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    /* 주소검색 버튼 (RegisterForm 스타일 동일) */
    .editinfo-button-search {
        height: 60px !important;
        padding: 0 25px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        background: #000 !important;
        color: #FFBE00 !important;
        border: none !important;
        border-radius: 12px !important;
        cursor: pointer !important;
        transition: all 0.3s !important;
        flex-shrink: 0 !important;
    }

    .editinfo-button-search:active {
        background: #222 !important;
        transform: scale(0.98) !important;
    }

    /* 주소 입력칸 (대주소, 상세주소) - inline style override */
    .editinfo-textbox-full[style],
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Addr1[style],
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Addr2[style],
    .editinfo-textbox-full,
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Addr1,
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Addr2 {
        width: 100% !important;
        max-width: 100% !important;
        height: 50px !important;
        padding: 0 16px !important;
        font-size: 16px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    /* 휴대폰 번호 - 3개 입력칸이 화면에 딱 맞도록 */
    .editinfo-table tr:has(#ContentPlaceHolder1_DDL_PhoneNum_1) td:last-child {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .editinfo-table #ContentPlaceHolder1_DDL_PhoneNum_1 {
        width: 80px !important;
        flex-shrink: 0 !important;
    }

    .editinfo-table #ContentPlaceHolder1_TB_PhoneNum_2,
    .editinfo-table #ContentPlaceHolder1_TB_PhoneNum_3 {
        flex: 1 !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_DDL_PhoneNum_1) td:last-child > span {
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_DDL_PhoneNum_1) td:last-child > div {
        width: 100% !important;
        margin-top: 8px !important;
    }

    /* 이메일 - 2개 입력칸이 화면에 맞도록 */
    .editinfo-table tr:has(#ContentPlaceHolder1_TB_Email1) td:last-child {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .editinfo-table #ContentPlaceHolder1_TB_Email1,
    .editinfo-table #ContentPlaceHolder1_TB_Email2 {
        flex: 1 !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_TB_Email1) td:last-child > span {
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_TB_Email1) td:last-child > div {
        width: 100% !important;
        margin-top: 8px !important;
    }

    /* 이메일 수신여부 - 설명과 라디오 버튼 분리 (가로 배치) */
    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child {
        display: block !important;
        line-height: 1.6 !important;
    }

    /* 이메일 수신여부 설명 텍스트 - 작게 */
    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child {
        font-size: 14px !important;
        color: #666 !important;
    }

    /* 두 번째 br 태그 뒤에 여백 추가 */
    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child > br {
        display: block !important;
        content: "" !important;
        margin-bottom: 10px !important;
    }

    /* 라디오 버튼 span을 inline-block으로 가로 배치 */
    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child > span {
        display: inline-block !important;
        margin-right: 15px !important;
        margin-top: 8px !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child > span:last-of-type {
        margin-right: 0 !important;
    }

    /* 라디오 버튼 내부 input과 label */
    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child input[type="radio"] {
        vertical-align: middle !important;
        margin-right: 5px !important;
    }

    .editinfo-table tr:has(#ContentPlaceHolder1_RBtn_Agree) td:last-child label {
        vertical-align: middle !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #333 !important;
    }

    /* Buttons inside form (중복확인, 주소찾기 등) */
    .editinfo-table input[type="button"],
    .editinfo-table button {
        height: 50px !important;
        padding: 0 20px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        background: #fff !important;
        color: #333 !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .editinfo-table input[type="button"]:active,
    .editinfo-table button:active {
        background: #f5f5f5 !important;
        transform: scale(0.98) !important;
    }

    /* 주소 검색 버튼 색상 override (RegisterForm 스타일) - 더 강력한 선택자 */
    .editinfo-table input[type="button"].editinfo-button-search {
        height: 50px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        background: #000 !important;
        background-color: #000 !important;
        color: #FFBE00 !important;
        border: none !important;
        border-radius: 12px !important;
    }

    .editinfo-table input[type="button"].editinfo-button-search:active {
        background: #222 !important;
        background-color: #222 !important;
    }

    /* 우편번호 입력칸 높이 조정 (다른 input과 동일하게 50px) */
    .editinfo-table .editinfo-textbox-zip[style],
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Zip[style],
    .editinfo-table .editinfo-textbox-zip,
    .editinfo-table #ContentPlaceHolder1_TB_Addr_Zip {
        height: 50px !important;
    }

    /* Radio Buttons (이메일 수신 동의 등) */
    .editinfo-table input[type="radio"] {
        width: 20px !important;
        height: 20px !important;
        margin-right: 8px !important;
        cursor: pointer !important;
        accent-color: #FFBE00 !important;
    }

    .editinfo-table td:last-child > label {
        display: inline-flex !important;
        align-items: center !important;
        margin-right: 20px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #333 !important;
        cursor: pointer !important;
    }

    /* Help Text / Description */
    .editinfo-table td:last-child > span,
    .editinfo-table td:last-child > div {
        font-size: 13px !important;
        color: #999 !important;
        margin-top: 8px !important;
        line-height: 1.5 !important;
    }

    /* Button Wrapper (하단 확인/취소 버튼) */
    .editinfo-button-wrapper {
        display: flex !important;
        gap: 10px !important;
        margin-top: 30px !important;
        padding: 0 !important;
    }

    .editinfo-button-wrapper > input[type="submit"],
    .editinfo-button-wrapper > button,
    .editinfo-button-wrapper > .editinfo-button-confirm,
    .editinfo-button-wrapper > .editinfo-button-cancel {
        flex: 1 !important;
        height: 56px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        border-radius: 12px !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 확인 버튼 (Primary) */
    .editinfo-button-wrapper .editinfo-button-confirm {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    .editinfo-button-wrapper .editinfo-button-confirm:active {
        background: #E6AB00 !important;
        transform: scale(0.98) !important;
    }

    /* 취소 버튼 (Secondary) */
    .editinfo-button-wrapper .editinfo-button-cancel {
        background: #fff !important;
        color: #333 !important;
        border: 2px solid #ddd !important;
    }

    .editinfo-button-wrapper .editinfo-button-cancel:active {
        background: #f5f5f5 !important;
        transform: scale(0.98) !important;
    }

    /* Scroll Animation (기존 스크롤 애니메이션과 동일) */
    .editinfo-section-title.scroll-animate,
    .editinfo-form-wrapper.scroll-animate {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }

    .editinfo-section-title.scroll-animate.aos-animate,
    .editinfo-form-wrapper.scroll-animate.aos-animate {
        opacity: 1;
        transform: translateY(0);
    }

    /* ========================================
       회원가입 완료 페이지 (RegisterComplete.aspx)
       ======================================== */

    /* 완료 카드 컨테이너 */
    .regcomplete-card {
        background: #fff !important;
        border-radius: 12px !important;
        padding: 40px 20px !important;
        margin: 0 15px 30px !important;
        text-align: center !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    }

    /* 성공 아이콘 */
    .regcomplete-icon {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 0 24px 0 !important;
    }

    .regcomplete-icon svg {
        width: 80px !important;
        height: 80px !important;
        animation: scaleIn 0.5s ease-out !important;
    }

    @keyframes scaleIn {
        0% {
            transform: scale(0);
            opacity: 0;
        }
        50% {
            transform: scale(1.1);
        }
        100% {
            transform: scale(1);
            opacity: 1;
        }
    }

    /* 환영 메시지 타이틀 */
    .regcomplete-title {
        font-size: 24px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin: 0 0 12px 0 !important;
        line-height: 1.4 !important;
    }

    /* 서브타이틀 */
    .regcomplete-subtitle {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: #666 !important;
        margin: 0 0 32px 0 !important;
        line-height: 1.5 !important;
    }

    /* 안내 박스 */
    .regcomplete-info-box {
        background: #f8f9fa !important;
        border-radius: 8px !important;
        padding: 24px 16px !important;
        margin: 0 0 32px 0 !important;
        text-align: left !important;
    }

    .regcomplete-info-item {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
    }

    .regcomplete-info-item:last-child {
        margin-bottom: 0 !important;
    }

    .regcomplete-info-item svg {
        flex-shrink: 0 !important;
        width: 24px !important;
        height: 24px !important;
        margin-top: 2px !important;
    }

    .regcomplete-info-item span {
        font-size: 15px !important;
        font-weight: 400 !important;
        color: #333 !important;
        line-height: 1.6 !important;
    }

    /* 버튼 그룹 */
    .regcomplete-button-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    /* 주요 버튼 (로그인하기) */
    .regcomplete-button-primary {
        width: 100% !important;
        height: 56px !important;
        background: #FFBE00 !important;
        border: none !important;
        border-radius: 8px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #333 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 2px 4px rgba(255, 190, 0, 0.2) !important;
    }

    .regcomplete-button-primary:active {
        background: #e6ab00 !important;
        transform: scale(0.98) !important;
    }

    /* 보조 버튼 (홈으로) */
    .regcomplete-button-secondary {
        width: 100% !important;
        height: 56px !important;
        background: #fff !important;
        border: 2px solid #ddd !important;
        border-radius: 8px !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #666 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }

    .regcomplete-button-secondary:active {
        background: #f5f5f5 !important;
        border-color: #ccc !important;
        transform: scale(0.98) !important;
    }

    /* ========================================
       게시글 작성 페이지 - CHEditor 모바일 스타일
       ======================================== */

    /* CHEditor 컨테이너 전체 너비 사용 */
    .cheditor-container {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    /* 툴바 영역 */
    .cheditor-tb-wrapper {
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 에디터 영역 래퍼 */
    .cheditor-editarea-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        clear: both !important;
    }

    /* 에디터 iframe */
    .cheditor-editarea {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 300px !important;
        display: block !important;
    }

    /* 하단 상태바 */
    .cheditor-tag-path {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    /* 모드 전환 탭 */
    .cheditor-viewmode {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: flex-start !important;
    }

    /* Resize bar */
    .cheditor-resizebar {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* ========================================
       Purchase 페이지 - 상품 목록 테이블 모바일 카드 레이아웃
       ======================================== */

    /* 상품 목록 컨테이너 */
    .Basket.list {
        padding: 0 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .Basket.list table {
        width: 100% !important;
        display: block !important;
    }

    /* 테이블 헤더 숨김 */
    .Basket.list table thead,
    .Basket.list table > tbody > tr:first-child {
        position: absolute !important;
        left: -9999px !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
    }

    /* tbody block 레이아웃 */
    .Basket.list tbody {
        display: block !important;
        width: 100% !important;
    }

    /* 모든 tr 기본 */
    .Basket.list tbody tr {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 총 금액 카드 - 마지막 tr */
    .Basket.list tbody tr:last-child {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        margin: 33px 0 !important;
    }

    /* 1st 상품 tr: 카드 상단 - 인쇄 정보 (rowspan 이미지 포함) */
    .Basket.list tbody tr:nth-child(4n+2) {
        position: relative !important;
        border: 3px solid #FFBE00 !important;
        border-bottom: none !important;
        border-radius: 17px 17px 0 0 !important;
        background: #fff !important;
        padding: 20px !important;
        margin-top: 25px !important;
    }

    /* 2nd 상품 tr: 카드 중간 - 액자 정보 */
    .Basket.list tbody tr:nth-child(4n+3) {
        border-left: 3px solid #FFBE00 !important;
        border-right: 3px solid #FFBE00 !important;
        background: #fff !important;
        padding: 0 20px 12px 20px !important;
    }

    /* 3rd 상품 tr: 카드 중간 - 다운로드 정보 */
    .Basket.list tbody tr:nth-child(4n+4) {
        border-left: 3px solid #FFBE00 !important;
        border-right: 3px solid #FFBE00 !important;
        background: #fff !important;
        padding: 0 20px 12px 20px !important;
    }

    /* 4th 상품 tr: 카드 하단 - 마라톤 기록 */
    .Basket.list tbody tr:nth-child(4n+5) {
        border-left: 3px solid #FFBE00 !important;
        border-right: 3px solid #FFBE00 !important;
        border-bottom: 3px solid #FFBE00 !important;
        border-radius: 0 0 17px 17px !important;
        background: #fff !important;
        padding: 0 20px 20px 20px !important;
        box-shadow: 0 3px 17px rgba(0, 0, 0, 0.08) !important;
    }

    /* 모든 td 기본: block 레이아웃 */
    .Basket.list tbody tr td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 15px !important;
        color: #333 !important;
        padding: 8px 0 !important;
    }

    /* === 1st tr 레이아웃 (인쇄 정보) === */
    /* 첫 번째 빈 칸 숨김 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(1) {
        display: none !important;
    }

    /* 이미지 - 상단 블록 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(2) {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        min-height: 250px !important;
        text-align: center !important;
        padding: 20px 0 !important;
        margin-bottom: 20px !important;
        border-bottom: 2px solid #f5f5f5 !important;
    }

    .Basket.list .pic_item {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
    }

    .Basket.list .pic_item table {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .Basket.list .pic_item img {
        max-width: 200px !important;
        max-height: 200px !important;
        min-height: 150px !important;
        width: auto !important;
        height: auto !important;
        border-radius: 12px !important;
        border: 2px solid #e0e0e0 !important;
        display: block !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    .Basket.list .picinfo {
        display: block !important;
        font-size: 14px !important;
        color: #666 !important;
        margin-top: 10px !important;
        text-align: center !important;
    }

    /* 인쇄 상품명 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(3) {
        padding: 10px 0 !important;
        font-weight: 600 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(3)::before {
        content: '인쇄 옵션: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 인쇄 수량 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(4) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(4)::before {
        content: '수량: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 인쇄 빈 칸 숨김 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(5) {
        display: none !important;
    }

    /* 인쇄 단가 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(6) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(6)::before {
        content: '단가: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 인쇄 합계 */
    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(7) {
        padding: 15px 0 !important;
        text-align: right !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        border-bottom: 2px solid #e0e0e0 !important;
        margin-bottom: 15px !important;
    }

    .Basket.list tbody tr:nth-child(4n+2) td:nth-child(7)::before {
        content: '인쇄 합계: ' !important;
        display: inline !important;
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* === 2nd tr 레이아웃 (액자 정보) === */
    /* 액자 상품명 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(1) {
        padding: 10px 0 !important;
        font-weight: 600 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(1)::before {
        content: '액자 옵션: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 액자 수량 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(2) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(2)::before {
        content: '수량: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 액자 빈 칸 숨김 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(3) {
        display: none !important;
    }

    /* 액자 단가 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(4) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(4)::before {
        content: '단가: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 액자 합계 */
    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(5) {
        padding: 10px 0 15px 0 !important;
        text-align: right !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+3) td:nth-child(5)::before {
        content: '액자 합계: ' !important;
        display: inline !important;
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* === 3rd tr 레이아웃 (다운로드 정보) === */
    /* 다운로드 텍스트 */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(1) {
        padding: 0 !important;
        margin: 0 !important;
        font-weight: 600 !important;
    }

    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(1)::before {
        content: '추가 옵션: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 다운로드 빈 칸 숨김 */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(2),
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(3) {
        display: none !important;
    }

    /* 다운로드 단가 */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(4) {
        padding: 10px 0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(4)::before {
        content: '단가: ' !important;
        display: inline !important;
        font-size: 13px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* 다운로드 합계 */
    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(5) {
        padding: 10px 0 15px 0 !important;
        text-align: right !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }

    .Basket.list tbody tr:nth-child(4n+4) td:nth-child(5)::before {
        content: '다운로드: ' !important;
        display: inline !important;
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    /* === 4th tr 레이아웃 (마라톤 기록) === */
    .Basket.list tbody tr:nth-child(4n+5) td {
        padding: 15px 0 0 0 !important;
        font-size: 13px !important;
        color: #666 !important;
        line-height: 1.6 !important;
        border-top: 2px solid #FFF9E6 !important;
        background: #FFFEF5 !important;
        padding: 12px !important;
        border-radius: 8px !important;
        margin-top: 10px !important;
    }

    /* ========================================
       Purchase 페이지 - Payment Steps (결제 단계)
       ======================================== */

    /* Payment Steps 모바일 최적화 - 가로 유지 */
    .payment-steps-container {
        padding: 30px 15px !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .payment-steps {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
    }

    .payment-step {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 0 0 auto !important;
    }

    .step-circle {
        flex-shrink: 0 !important;
        width: 36px !important;
        height: 36px !important;
    }

    .step-number {
        font-size: 16px !important;
    }

    .step-label {
        text-align: center !important;
        font-size: 10px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 60px !important;
    }

    .step-line {
        flex: 1 !important;
        height: 2px !important;
        width: auto !important;
        min-width: 10px !important;
        background: #e0e0e0 !important;
        margin: 0 5px !important;
    }

    /* ========================================
       Purchase 페이지 - 총 결제 금액 표 (TotalPrice)
       ======================================== */

    .TotalPrice {
        display: block !important;
        padding: 30px 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .TotalPrice center {
        display: block !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    .TotalPrice table {
        display: table !important;
        font-size: 14px !important;
        width: 100% !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
        background: #fff !important;
    }

    .TotalPrice table td,
    .TotalPrice table th {
        padding: 16px 20px !important;
        font-size: 15px !important;
        text-align: left !important;
    }

    .TotalPrice table td:first-child,
    .TotalPrice table th:first-child {
        color: #666 !important;
        font-weight: 500 !important;
    }

    .TotalPrice table td:last-child {
        text-align: right !important;
        font-weight: 600 !important;
        color: #333 !important;
    }

    .TotalPrice table tr:last-child th {
        font-size: 16px !important;
        color: #333 !important;
    }

    .TotalPrice table tr:last-child td {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
    }

    /* ========================================
       Purchase 페이지 - 버튼 영역
       ======================================== */

    .purchase-button-area {
        flex-direction: column !important;
        gap: 15px !important;
        padding: 20px 15px !important;
    }

    .btn-primary-purchase,
    .btn-secondary-purchase,
    .btn-outline-purchase {
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        border: none !important;
        margin-bottom: 5px !important;
    }

    .btn-primary-purchase {
        background: linear-gradient(135deg, #FFBE00, #FFA500) !important;
        color: #fff !important;
        box-shadow: 0 4px 15px rgba(255, 190, 0, 0.3) !important;
    }

    .btn-secondary-purchase {
        background: #fff !important;
        color: #333 !important;
        border: 2px solid #FFBE00 !important;
    }

    .btn-outline-purchase {
        background: #fff !important;
        color: #666 !important;
        border: 2px solid #ddd !important;
    }

    /* ========================================
       Purchase 페이지 - PurchaseTable (구매자/받는사람 정보)
       ======================================== */

    .PurchaseTable {
        font-size: 14px !important;
        display: block !important;
        width: 100% !important;
    }

    .PurchaseTable th {
        display: block !important;
        width: 100% !important;
        padding: 12px 15px 8px 15px !important;
        background: #f8f9fa !important;
        border-bottom: none !important;
        text-align: left !important;
    }

    .PurchaseTable td {
        display: block !important;
        width: 100% !important;
        padding: 8px 15px 12px 15px !important;
        border-bottom: 1px solid #eee !important;
    }

    .PurchaseTable tr {
        display: block !important;
        margin-bottom: 15px !important;
        border: 1px solid #eee !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    /* 구매자정보와 동일 체크박스 */
    div[style*="text-align: right"] {
        text-align: left !important;
        padding: 0 15px !important;
    }

    /* 주소 입력 필드 */
    .PurchaseTable input[type="text"],
    .PurchaseTable select {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px !important;
        font-size: 14px !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
    }

    /* 주소 행 특수 처리 */
    .PurchaseTable tr:has(th:contains("주소")) td,
    .PurchaseTable td:has(#btn_SearchPost) {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    /* 우편번호 + 검색버튼 한 줄 */
    #ContentPlaceHolder1_TB_Addr_Zip {
        width: calc(100% - 100px) !important;
        display: inline-block !important;
        margin-right: 8px !important;
    }

    #btn_SearchPost {
        width: 90px !important;
        display: inline-block !important;
        margin-top: 0 !important;
        padding: 10px 12px !important;
        background: linear-gradient(135deg, #FFBE00, #FFA500) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 6px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        box-shadow: 0 2px 8px rgba(255, 190, 0, 0.3) !important;
    }

    /* 주소1, 주소2 전체 너비 */
    #ContentPlaceHolder1_TB_Addr_Addr1,
    #ContentPlaceHolder1_TB_Addr_Addr2 {
        width: 100% !important;
        margin-top: 0 !important;
    }

    /* 전화번호 입력 필드 - 인라인으로 유지 */
    .PurchaseTable td select,
    .PurchaseTable td input[type="text"]:not(#ContentPlaceHolder1_TB_Addr_Zip):not(#ContentPlaceHolder1_TB_Addr_Addr1):not(#ContentPlaceHolder1_TB_Addr_Addr2):not(#ContentPlaceHolder1_TB_ToName) {
        display: inline-block !important;
        width: auto !important;
        max-width: 80px !important;
    }

    .PurchaseTable td select {
        max-width: 70px !important;
    }

    /* 이름 필드 전체 너비 */
    #ContentPlaceHolder1_TB_ToName {
        width: 100% !important;
    }

    /* ========================================
       Purchase 페이지 - 모든 테이블 hover 효과 제거
       ======================================== */

    .Basket.list table tr:hover,
    .Basket.list table tbody tr:hover,
    .Basket.list table tr:hover td,
    .Basket.list table tbody tr:hover td,
    .PurchaseTable tr:hover,
    .PurchaseTable tbody tr:hover,
    .PurchaseTable tr:hover td,
    .PurchaseTable tbody tr:hover td,
    .TotalPrice table tr:hover,
    .TotalPrice table tbody tr:hover,
    .TotalPrice table tr:hover td,
    .TotalPrice table tbody tr:hover td {
        background-color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    /* ========================================
       Purchase 페이지 - Section Title
       ======================================== */

    .orderlist-section-title {
        padding: 0 15px !important;
    }

    .orderlist-main-title {
        font-size: 22px !important;
    }

    .orderlist-subtitle {
        font-size: 12px !important;
    }

    /* ========================================
       마이페이지 탭 메뉴 - 모바일 스타일
       ======================================== */
    .mypage-tabs-wrapper {
        text-align: center !important;
        margin-bottom: 25px !important;
        padding: 0 15px !important;
    }

    .mypage-tabs {
        display: inline-flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        border: 2px solid #FFBE00 !important;
        border-radius: 16px !important;
        background: #fff !important;
        padding: 6px !important;
        width: 100% !important;
        max-width: 400px !important;
        box-sizing: border-box !important;
    }

    .mypage-tab {
        flex: 1 1 calc(50% - 6px) !important;
        padding: 12px 10px !important;
        border-radius: 12px !important;
        font-family: 'Pretendard Variable', Pretendard, sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        background: transparent !important;
        color: #999 !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        white-space: nowrap !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .mypage-tab:hover {
        color: #666 !important;
        text-decoration: none !important;
    }

    .mypage-tab.active {
        background: #FFBE00 !important;
        color: #000 !important;
    }

    .mypage-tab.active:hover {
        color: #000 !important;
    }

    /* 마이페이지 콘텐츠 영역 */
    .mypage-content {
        flex: 1 !important;
        min-width: 0 !important;
        padding: 0 15px !important;
    }

    /* ========================================
       마이페이지 테이블 - 모바일 스타일
       ======================================== */
    .mypage-content .piclist_table table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 13px !important;
    }

    .mypage-content .piclist_table table th {
        padding: 12px 8px !important;
        background: #f8f8f8 !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        color: #333 !important;
        border-bottom: 2px solid #FFBE00 !important;
    }

    .mypage-content .piclist_table table td {
        padding: 12px 8px !important;
        border-bottom: 1px solid #eee !important;
        font-size: 13px !important;
        color: #555 !important;
        word-break: break-word !important;
    }

    .mypage-content .piclist_table table td a {
        color: #333 !important;
        text-decoration: none !important;
    }

    .mypage-content .piclist_table table td a:hover {
        color: #FFBE00 !important;
    }

    /* Mypost 테이블 - 모바일 가로 스크롤 */
    .mypage-content .piclist_table.list {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .mypage-content .piclist_table.list table {
        min-width: 500px !important;
    }

    /* ========================================
       회원탈퇴 페이지 - 모바일 스타일
       ======================================== */
    .withdraw-notice {
        padding: 15px !important;
        margin-bottom: 20px !important;
    }

    .withdraw-notice p {
        font-size: 14px !important;
        margin-bottom: 12px !important;
    }

    .withdraw-notice ul {
        padding-left: 18px !important;
        font-size: 13px !important;
        line-height: 1.7 !important;
    }

    .withdraw-notice ul li {
        margin-bottom: 8px !important;
    }

    /* 탈퇴 사유 라디오 버튼 */
    .mypage-content div[style*="flex-wrap: wrap"] {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .mypage-content div[style*="flex-wrap: wrap"] label {
        font-size: 14px !important;
    }

    /* 회원탈퇴 테이블 */
    .mypage-content .editinfo-table[style*="max-width: 500px"] {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* ========================================
       콘텐츠 래퍼 - 모바일 패딩
       ======================================== */
    .content-wrapper {
        padding: 20px 0 40px !important;
    }

    /* ========================================
       사진검색 플로팅 버튼 - 모바일 스타일 (PC와 동일한 사이드 형태)
       ======================================== */
    .photo-search-floating {
        position: fixed !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 9999 !important;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    .photo-search-floating.panel-active {
        right: calc(85vw) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .floating-btn {
        background: url('/Common/images_renew/gnb/sideBtn.png') no-repeat center center transparent !important;
        background-size: contain !important;
        border: none !important;
        width: 36px !important;
        height: 120px !important;
        cursor: pointer !important;
        padding: 0 !important;
        transition: all 0.3s ease !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .floating-btn:active {
        transform: scale(0.95) !important;
        box-shadow: none !important;
    }

    .floating-btn .btn-text {
        display: none !important;
    }

    .floating-btn .btn-icon {
        display: none !important;
    }

    /* 배경 dim - 모바일 */
    .photo-search-dim {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.6) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.3s ease !important;
        z-index: 9998 !important;
    }

    .photo-search-dim.active {
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 사진검색 패널 - 모바일 (PC와 동일한 우측 슬라이드 인) */
    .photo-search-panel {
        position: fixed !important;
        right: -90vw !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 85vw !important;
        height: 70vh !important;
        max-height: 500px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(10px) !important;
        border-radius: 20px 0 0 20px !important;
        box-shadow: -5px 0 30px rgba(0, 0, 0, 0.2) !important;
        z-index: 10000 !important;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .photo-search-panel.active {
        right: 0 !important;
    }

    /* 패널 헤더 - 모바일 (PC와 유사하게) */
    .photo-search-panel .panel-header {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 30px 20px !important;
        border-bottom: none !important;
        background: transparent !important;
        flex-shrink: 0 !important;
        position: relative !important;
    }

    .photo-search-panel .panel-title {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0 !important;
        text-align: center !important;
    }

    .photo-search-panel .panel-close {
        position: absolute !important;
        right: 15px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 32px !important;
        height: 32px !important;
        background: #FFBE00 !important;
        border: none !important;
        border-radius: 50% !important;
        font-size: 22px !important;
        font-weight: 300 !important;
        line-height: 1 !important;
        color: #000 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .photo-search-panel .panel-close:active {
        background: #e5ab00 !important;
    }

    /* 패널 콘텐츠 - 모바일 */
    .photo-search-panel .panel-content {
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        position: relative !important;
    }

    .photo-search-panel .marathon-list {
        padding: 10px 0 !important;
    }

    .photo-search-panel .marathon-item {
        display: flex !important;
        align-items: center !important;
        padding: 15px 20px !important;
        text-decoration: none !important;
        border-bottom: 1px solid #f0f0f0 !important;
        transition: background 0.2s !important;
    }

    .photo-search-panel .marathon-item:active {
        background: #f8f8f8 !important;
    }

    .photo-search-panel .marathon-date {
        flex-shrink: 0 !important;
        width: 90px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #FFBE00 !important;
    }

    .photo-search-panel .marathon-name {
        flex: 1 !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #333 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* 하단 그라데이션 */
    .photo-search-panel .panel-gradient {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 40px !important;
        background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.9)) !important;
        pointer-events: none !important;
    }

    /* 패널 푸터 - 모바일 */
    .photo-search-panel .panel-footer {
        padding: 15px 20px !important;
        background: #fff !important;
        border-top: 1px solid #eee !important;
        flex-shrink: 0 !important;
    }

    .photo-search-panel .marathon-more {
        display: block !important;
        width: 100% !important;
        padding: 14px !important;
        background: #000 !important;
        color: #FFBE00 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-align: center !important;
        text-decoration: none !important;
        border-radius: 12px !important;
        transition: background 0.2s !important;
    }

    .photo-search-panel .marathon-more:active {
        background: #222 !important;
    }

}

/* ========================================
   메인 팝업 스타일 (모바일)
   ======================================== */
.main-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.main-popup-container {
    position: relative;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    max-height: 80vh;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

.main-popup-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background: rgba(0, 0, 0, 0.6);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main-popup-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.main-popup-slides {
    position: relative;
    width: 100%;
}

.main-popup-slide {
    display: none;
    width: 100%;
}

.main-popup-slide.active {
    display: block;
}

.main-popup-slide img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 60vh;
    object-fit: contain;
}

/* 배경 이미지 스타일 (cover) - 모바일 */
.main-popup-image {
    width: 100%;
    height: 350px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.main-popup-link {
    display: block;
}

/* 슬라이드 네비게이션 버튼 (모바일) */
.main-popup-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    color: #333;
    font-size: 16px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.main-popup-prev {
    left: 8px;
}

.main-popup-next {
    right: 8px;
}

/* 인디케이터 (모바일) */
.main-popup-indicators {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 10;
}

.main-popup-dot {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid rgba(255, 255, 255, 0.8);
}

.main-popup-dot.active {
    background: #FFBE00;
    border-color: #FFBE00;
}

/* 탭 메뉴 (모바일) */
.main-popup-tabs {
    display: flex;
    border-top: 1px solid #eee;
    background: #fff;
}

.main-popup-tab {
    flex: 1;
    padding: 12px 8px;
    border: none;
    background: #f5f5f5;
    color: #666;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    border-right: 1px solid #eee;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.main-popup-tab:last-child {
    border-right: none;
}

.main-popup-tab.active {
    background: #FFBE00;
    color: #000;
}

/* 하단 영역 (모바일) */
.main-popup-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f8f9fa;
    border-top: 1px solid #eee;
}

.main-popup-today-check {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    color: #666;
}

.main-popup-today-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #FFBE00;
}

.main-popup-today-check span {
    user-select: none;
}

.main-popup-close-btn {
    padding: 8px 20px;
    background: #333;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

/* ========================================
   커뮤니티 본문 하단 프로모션 배너 (모바일)
   ======================================== */
.community-prom-banner-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee !important;
}

.community-prom-item {
    width: 100% !important;
    height: 150px !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    padding: 15px !important;
    text-decoration: none !important;
}

.community-prom-text {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7) !important;
}

/* ========================================
   Purchase 페이지 - 모바일 전용 뷰
   ======================================== */

@media (max-width: 768px) {
    /* PC 버전 숨김 */
    .purchase-pc-view {
        display: none !important;
    }

    /* 모바일 버전 표시 */
    .purchase-mobile-view {
        display: block !important;
        padding: 0 15px !important;
    }

    /* 모바일 상품 카드 */
    .purchase-mobile-item-card {
        background: #fff !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 17px !important;
        margin-bottom: 20px !important;
        padding: 20px !important;
        box-shadow: 0 3px 17px rgba(0, 0, 0, 0.08) !important;
    }

    /* 이미지 영역 */
    .purchase-mobile-item-card .mobile-card-image {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding-bottom: 20px !important;
        margin-bottom: 20px !important;
        border-bottom: 2px solid #f5f5f5 !important;
    }

    .purchase-mobile-item-card .mobile-card-image .card-container {
        width: 100% !important;
        max-width: 280px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .purchase-mobile-item-card .mobile-card-image .card-container img {
        max-width: 100% !important;
        max-height: 250px !important;
        object-fit: contain !important;
        border-radius: 8px !important;
    }

    .purchase-mobile-item-card .mobile-card-image-info {
        margin-top: 12px !important;
        font-size: 14px !important;
        color: #999 !important;
        font-weight: 500 !important;
    }

    /* 섹션 공통 스타일 */
    .purchase-mobile-item-card .mobile-card-section {
        padding: 15px 0 !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }

    .purchase-mobile-item-card .mobile-card-section:last-child {
        border-bottom: none !important;
    }

    .purchase-mobile-item-card .mobile-section-header {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #FFBE00 !important;
        margin-bottom: 12px !important;
        padding-left: 10px !important;
        border-left: 3px solid #FFBE00 !important;
    }

    .purchase-mobile-item-card .mobile-option-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 0 !important;
    }

    .purchase-mobile-item-card .mobile-option-label {
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    .purchase-mobile-item-card .mobile-option-value {
        font-size: 14px !important;
        color: #333 !important;
        font-weight: 600 !important;
        text-align: right !important;
        max-width: 60% !important;
    }

    .purchase-mobile-item-card .mobile-price-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
        margin-top: 8px !important;
        background: #f9f9f9 !important;
        border-radius: 8px !important;
        padding: 12px 15px !important;
    }

    .purchase-mobile-item-card .mobile-price-label {
        font-size: 14px !important;
        color: #666 !important;
        font-weight: 600 !important;
    }

    .purchase-mobile-item-card .mobile-price-value {
        font-size: 16px !important;
        color: #333 !important;
        font-weight: 700 !important;
    }

    /* 다운로드 섹션 */
    .purchase-mobile-item-card .mobile-download-section {
        width: auto !important;
        margin: 0 !important;
    }

    .purchase-mobile-item-card .mobile-download-section .mobile-download-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 12px !important;
        padding: 0 10px !important;
    }

    .purchase-mobile-item-card .mobile-download-label {
        font-size: 15px !important;
        color: #333 !important;
        font-weight: 600 !important;
    }

    .purchase-mobile-item-card .mobile-download-checkbox input[type="checkbox"] {
        width: 22px !important;
        height: 22px !important;
        accent-color: #FFBE00 !important;
    }

    /* 기록 섹션 (비어있으면 숨김) */
    .purchase-mobile-item-card .mobile-records-section:empty {
        display: none !important;
    }

    .purchase-mobile-item-card .mobile-records-section {
        font-size: 13px !important;
        color: #666 !important;
        padding: 10px !important;
        background: #f5f5f5 !important;
        border-radius: 8px !important;
        margin-top: 15px !important;
    }

    /* 총 금액 카드 (모바일) */
    .purchase-total-mobile-card {
        background: #fff !important;
        border: 3px solid #FFBE00 !important;
        border-radius: 17px !important;
        padding: 25px 20px !important;
        margin-top: 20px !important;
        box-shadow: 0 3px 17px rgba(0, 0, 0, 0.08) !important;
    }

    .purchase-total-mobile-card .total-card-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 12px 0 !important;
    }

    .purchase-total-mobile-card .total-label {
        font-size: 15px !important;
        color: #666 !important;
        font-weight: 500 !important;
    }

    .purchase-total-mobile-card .total-value {
        font-size: 16px !important;
        color: #333 !important;
        font-weight: 600 !important;
    }

    .purchase-total-mobile-card .total-card-divider {
        height: 1px !important;
        background: #eee !important;
        margin: 5px 0 !important;
    }

    .purchase-total-mobile-card .total-card-divider-bold {
        height: 2px !important;
        background: #FFBE00 !important;
        margin: 10px 0 !important;
    }

    .purchase-total-mobile-card .total-card-row-final {
        padding-top: 15px !important;
    }

    .purchase-total-mobile-card .total-label-final {
        font-size: 17px !important;
        color: #000 !important;
        font-weight: 700 !important;
    }

    .purchase-total-mobile-card .total-value-final {
        font-size: 22px !important;
        color: #FFBE00 !important;
        font-weight: 700 !important;
    }

    /* 빈 장바구니 (모바일) */
    .purchase-mobile-empty {
        text-align: center !important;
        padding: 60px 20px !important;
        background: #f9f9f9 !important;
        border-radius: 17px !important;
        border: 2px dashed #ddd !important;
    }

    .purchase-mobile-empty p {
        font-size: 16px !important;
        color: #999 !important;
        font-weight: 500 !important;
        margin: 0 !important;
    }
}

/* PC에서는 모바일 뷰 숨김 */
@media (min-width: 769px) {
    .purchase-mobile-view {
        display: none !important;
    }

    .purchase-pc-view {
        display: block !important;
    }
}

/* ========================================
   Schedule View 관리자 버튼 스타일 (모바일)
   ======================================== */

.schedule-admin-buttons {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.schedule-btn {
    font-family: 'Pretendard Variable', Pretendard, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.schedule-btn-edit {
    background: linear-gradient(135deg, #ffbe00 0%, #ffd700 100%);
    color: #000;
}

.schedule-btn-delete {
    background: #dc3545;
    color: #fff;
}
