/* 기본 리셋 및 폰트 설정 */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 폰트 로딩 최적화 및 폰트 깨짐 방지 */

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Noto Sans KR Light'), local('NotoSansKR-Light'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Noto Sans KR Regular'), local('NotoSansKR-Regular'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Noto Sans KR Medium'), local('NotoSansKR-Medium'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: local('Noto Sans KR SemiBold'), local('NotoSansKR-SemiBold'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Noto Sans KR Bold'), local('NotoSansKR-Bold'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: local('Noto Sans KR ExtraBold'), local('NotoSansKR-ExtraBold'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: local('Noto Sans KR Black'), local('NotoSansKR-Black'), url('https://fonts.gstatic.com/s/notosanskr/v36/PbykFmXiEBPT4ITbgNA5Cgm20xz64px_1hVWr0wuPNGmlQNMEfD4.0.woff2') format('woff2');
    unicode-range: U+AC00-D7A3, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #1e293b;
    overflow-x: hidden;
    background-color: #f8fafc;
    text-color: #1e293b;
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* 컨테이너 */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 레이아웃 기본폭 설정 */

.wrap {
    max-width: 1200px;
    margin: 0 auto;
    background-color: #f8fafc;
}

@media screen and (max-width: 1280px) {
    .wrap {
        padding: 0 20px;
    }
}

/* 트렌디한 배경 레이아웃 스타일 */

.white-layout {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #e2e8f0 75%, #f8fafc 100%);
    color: #1e293b;
    position: relative;
}

.white-layout::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 20% 80%, rgba(99, 102, 241, 0.08) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(236, 72, 153, 0.06) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(34, 197, 94, 0.05) 0%, transparent 50%), radial-gradient(circle at 60% 60%, rgba(251, 191, 36, 0.07) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
    animation: gradientShift 15s ease-in-out infinite;
}

.white-layout .container {
        /* background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.92) 100%); */
        backdrop-filter: blur(15px);
        /* border-radius: 20px; */
        /* box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08), 0 8px 16px rgba(15, 23, 42, 0.04); */
        /* border: 1px solid rgba(148, 163, 184, 0.1); */
        position: relative;
        z-index: 1;
}

/* 카지노 섹션 내부의 컨테이너는 흰색 레이아웃 스타일 제외 */

.casino-section .container {
    background: transparent;
    backdrop-filter: none;
    border-radius: 0;
    box-shadow: none;
    max-width: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
}

.white-layout .section {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.88) 0%, rgba(248, 250, 252, 0.88) 100%);
    backdrop-filter: blur(12px);
    position: relative;
    z-index: 1;
}

.white-layout .card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100%);
    border: 1px solid rgba(148, 163, 184, 0.15);
    backdrop-filter: blur(18px);
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.1), 0 4px 8px rgba(15, 23, 42, 0.05);
    border-radius: 15px;
}

.white-layout .header {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.95) 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    backdrop-filter: blur(25px);
    box-shadow: 0 5px 20px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
}

.white-layout .nav-link {
    color: #000000;
}

.white-layout .nav-link:hover {
    color: #ff6b6b;
}

.white-layout .section-title {
    color: #1e293b;
}

.white-layout .section-subtitle {
    color: #475569;
}

/* 헤더 스타일 */

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    z-index: 1000;
    transition: all 0.3s ease;
}

.navbar {
    padding: 1rem 0;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: #ff6b6b;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.01em;
}

.nav-logo i {
    margin-right: 0.5rem;
    font-size: 2rem;
}

.nav-menu {
    display: flex;
    gap: 2rem;
}

.nav-link {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    transition: color 0.3s ease;
    position: relative;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.01em;
}

.nav-link:hover {
    color: #ff6b6b;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: #ff6b6b;
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

.nav-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    padding: 0.5rem;
    z-index: 1001;
    position: relative;
}

.nav-toggle span {
    width: 25px;
    height: 3px;
    background: #333;
    margin: 3px 0;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-radius: 2px;
}

.nav-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.nav-toggle.active span:nth-child(2) {
    opacity: 0;
}

.nav-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* 히어로 섹션 */

.hero {
    min-height: 100vh;
    height: 100vh;
    background: #000000;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* 반응형 배경 비디오 스타일 */

.hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    z-index: 1;
    overflow: hidden;
    display: block;
    visibility: visible;
    opacity: 1;
    margin: 0;
    padding: 0;
    /* FPS 최적화 - 하드웨어 가속 */
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    /* GPU 가속 최적화 */
    -webkit-perspective: 1000;
    perspective: 1000;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    /* 성능 최적화 */
    contain: layout style paint;
    isolation: isolate;
}

.background-video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    z-index: 1;
    opacity: 1;
    /* FPS 최적화 - 하드웨어 가속 활성화 */
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    transform-style: flat;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    /* GPU 가속 최적화 */
    -webkit-perspective: 1000;
    perspective: 1000;
    /* 비디오 렌더링 최적화 */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    /* 메모리 및 성능 최적화 */
    contain: layout style paint;
    isolation: isolate;
    /* 필터 최적화 */
    filter: none;
    -webkit-filter: none;
    /* 화면 크기 맞춤 */
    min-width: 100%;
    min-height: 100vh;
    max-width: 100%;
    max-height: 100vh;
    margin: 0;
    padding: 0;
    /* 정확한 위치 지정 */
    display: block;
    visibility: visible;
    /* 추가 성능 최적화 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeSpeed;
}

/* PC용 비디오 */

.pc-video {
    display: block;
}

/* 모바일용 비디오 */

.mobile-video {
    display: none;
}

.video-overlay {
    display: none;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

.hero-container {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    max-width: none;
}

.hero-content {
    display: none;
}

.hero-title {
    font-size: 4rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    line-height: 1.1;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    animation: slideInLeft 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.02em;
}

.highlight {
    background: linear-gradient(45deg, #ffd93d, #ffed4e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    position: relative;
    animation: neonGlow 3s ease-in-out infinite;
}

/* .highlight::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(45deg, #ffd93d, #ffed4e);
    border-radius: 2px;
    animation: expandWidth 1.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1.5s both;
} */

.hero-subtitle {
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
    opacity: 0.95;
    line-height: 1.7;
    font-weight: 400;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
    animation: slideInLeft 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s both;
}

.hero-buttons {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    animation: slideInLeft 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.9s both;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.01em;
}

.btn-primary {
    background: linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 25%, #ff4757 50%, #ff8e8e 75%, #ff6b6b 100%);
    background-size: 200% 200%;
    color: white;
    font-weight: 700;
    box-shadow: 0 15px 35px rgba(255, 107, 107, 0.4), 0 5px 15px rgba(255, 107, 107, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    border: none;
    position: relative;
    overflow: hidden;
    animation: gradientShift 4s ease-in-out infinite;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.btn-primary:hover::before {
    left: 100%;
}

.btn-primary:hover {
    transform: translateY(-5px) scale(1.08);
    box-shadow: 0 25px 50px rgba(255, 107, 107, 0.6), 0 10px 20px rgba(255, 107, 107, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    animation: glowPulse 1.5s ease-in-out infinite;
}

.btn-primary:active {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 20px rgba(255, 107, 107, 0.4), 0 3px 8px rgba(255, 107, 107, 0.2);
}

.btn-secondary {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.1) 100%);
    background-size: 200% 200%;
    color: white;
    font-weight: 600;
    border: 2px solid rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(15px);
    position: relative;
    overflow: hidden;
    animation: gradientShift 5s ease-in-out infinite;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.1), 0 3px 8px rgba(255, 255, 255, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.btn-secondary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.5s;
}

.btn-secondary:hover::before {
    left: 100%;
}

.btn-secondary:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0.2) 100%);
    transform: translateY(-5px) scale(1.08);
    border-color: rgba(255, 255, 255, 0.7);
    box-shadow: 0 20px 40px rgba(255, 255, 255, 0.2), 0 8px 16px rgba(255, 255, 255, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    animation: glowPulse 2s ease-in-out infinite;
}

.btn-secondary:active {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 16px rgba(255, 255, 255, 0.15), 0 2px 6px rgba(255, 255, 255, 0.08);
}

.btn-outline {
    background: transparent;
    color: #ff6b6b;
    border: 2px solid #ff6b6b;
}

.btn-outline:hover {
    background: #ff6b6b;
    color: #000000;
    transform: translateY(-3px);
}

.btn-full {
    width: 100%;
    justify-content: center;
}

/* 히어로 CTA 버튼 스타일 - 제거됨 */

/* 히어로 비주얼 */

.hero-visual {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.hero-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.floating-card {
    position: absolute;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 25px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    color: white;
    animation: floating3D 6s ease-in-out infinite;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-style: preserve-3d;
    perspective: 1000px;
}

.floating-card:hover {
    transform: translateY(-15px) scale(1.08) rotateX(10deg) rotateY(5deg);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.1) 100%);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    animation-play-state: paused;
}

.floating-card i {
    font-size: 2.5rem;
    background: linear-gradient(45deg, #ffd93d, #ffed4e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
    animation: scaleIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55) 1s both;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.floating-card:hover i {
    transform: scale(1.2) rotate(10deg);
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
}

.floating-card span {
    font-weight: 700;
    font-size: 1rem;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.5px;
}

.card-1 {
    top: 20%;
    left: 10%;
    animation-delay: 0s;
}

.card-2 {
    top: 50%;
    right: 10%;
    animation-delay: 2s;
}

.card-3 {
    bottom: 20%;
    left: 20%;
    animation-delay: 4s;
}

@keyframes float {
    0%,
    100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

/* 히어로 배경 애니메이션 */

@keyframes float {
    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-20px) rotate(5deg);
    }
}

/* 섹션 공통 스타일 */

.section-header {
    text-align: center;
    margin-bottom: 4rem;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #1e293b;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.01em;
}

.section-subtitle {
    font-size: 1.1rem;
    color: #475569;
    max-width: 600px;
    margin: 0 auto;
}

/* 특징 섹션 */

.features {
    padding: 6rem 0;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 25%, #cbd5e1 50%, #e2e8f0 75%, #f1f5f9 100%);
    position: relative;
}

.features::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 25% 25%, rgba(99, 102, 241, 0.06) 0%, transparent 50%), radial-gradient(circle at 75% 75%, rgba(236, 72, 153, 0.04) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(34, 197, 94, 0.03) 0%, transparent 50%);
    pointer-events: none;
    animation: gradientShift 20s ease-in-out infinite;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    position: relative;
    z-index: 2;
}

.feature-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.92) 100%);
    padding: 2.5rem;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.1), 0 4px 8px rgba(15, 23, 42, 0.05);
    transition: all 0.3s ease;
    border: 1px solid rgba(148, 163, 184, 0.15);
    backdrop-filter: blur(15px);
    position: relative;
    z-index: 1;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.feature-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(45deg, #ff6b6b, #ff8e8e);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: white;
    font-size: 2rem;
}

.feature-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #1e293b;
}

.feature-description {
    color: #475569;
    line-height: 1.6;
}

/* 통계 섹션 */

.stats {
    padding: 4rem 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    text-align: center;
}

.stat-item {
    padding: 2rem;
}

.stat-number {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #ffd93d;
}

.stat-label {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* 요금제 섹션 */

.pricing {
    padding: 6rem 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #e2e8f0 75%, #f8fafc 100%);
    position: relative;
}

.pricing::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 30% 70%, rgba(99, 102, 241, 0.05) 0%, transparent 50%), radial-gradient(circle at 70% 30%, rgba(236, 72, 153, 0.04) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(251, 191, 36, 0.03) 0%, transparent 50%);
    pointer-events: none;
    animation: gradientShift 18s ease-in-out infinite;
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.pricing-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.92) 100%);
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.1), 0 4px 8px rgba(15, 23, 42, 0.05);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    position: relative;
    backdrop-filter: blur(15px);
    z-index: 1;
}

.pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.pricing-card.featured {
    border-color: #ff6b6b;
    transform: scale(1.05);
}

.pricing-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #ff6b6b;
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
}

.pricing-header {
    text-align: center;
    margin-bottom: 2rem;
}

.pricing-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #1e293b;
}

.pricing-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
}

.currency {
    font-size: 1.5rem;
    color: #475569;
}

.amount {
    font-size: 3rem;
    font-weight: 700;
    color: #ff6b6b;
}

.period {
    font-size: 1rem;
    color: #475569;
}

.pricing-features {
    margin-bottom: 2rem;
}

.pricing-features ul {
    list-style: none;
}

.pricing-features li {
    padding: 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #475569;
}

.pricing-features i {
    color: #4CAF50;
    font-size: 1.1rem;
}

.pricing-action {
    text-align: center;
}

/* 문의 섹션 */

.contact {
    padding: 8rem 0;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 25%, #cbd5e1 50%, #e2e8f0 75%, #f1f5f9 100%);
    position: relative;
    width: 100%;
    margin: 0;
}

.contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 20% 80%, rgba(99, 102, 241, 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(236, 72, 153, 0.04) 0%, transparent 50%), radial-gradient(circle at 40% 60%, rgba(34, 197, 94, 0.03) 0%, transparent 50%);
    pointer-events: none;
    animation: gradientShift 22s ease-in-out infinite;
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: start;
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
    justify-content: center;
}

.contact-title {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    color: #1e293b;
    text-align: center;
}

.contact-description {
    font-size: 1.3rem;
    color: #475569;
    margin-bottom: 3rem;
    line-height: 1.6;
    text-align: center;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 800px;
    margin: 0 auto;
}

.contact-method {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 2rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.92) 100%);
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.1), 0 4px 8px rgba(15, 23, 42, 0.05);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(148, 163, 184, 0.15);
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.contact-method:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
}

.contact-method i {
    width: 60px;
    height: 60px;
    background: linear-gradient(45deg, #ff6b6b, #ff8e8e);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
}

.contact-method h4 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #1e293b;
}

.contact-method p {
    color: #475569;
    font-size: 1.1rem;
    font-weight: 500;
}

/* 폼 스타일 */

.contact-form {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 250, 252, 0.92) 100%);
    padding: 2.5rem;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.1), 0 4px 8px rgba(15, 23, 42, 0.05);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(148, 163, 184, 0.15);
    position: relative;
    z-index: 1;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 1rem;
    border: 2px solid #e9ecef;
    border-radius: 10px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    font-family: inherit;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #ff6b6b;
}

.form-group textarea {
    resize: vertical;
    min-height: 120px;
}

/* 푸터 */

.footer {
    background: #2c3e50;
    color: white;
    padding: 4rem 0 2rem;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-logo {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #ff6b6b;
}

.footer-logo i {
    margin-right: 0.5rem;
    font-size: 2rem;
}

.footer-description {
    color: #bdc3c7;
    line-height: 1.6;
}

.footer-section h4 {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: white;
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    margin-bottom: 0.5rem;
}

.footer-section ul li a {
    color: #bdc3c7;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-section ul li a:hover {
    color: #ff6b6b;
}

.social-links {
    display: flex;
    gap: 1rem;
}

.social-links a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-links a:hover {
    background: #ff6b6b;
    transform: translateY(-3px);
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #bdc3c7;
}

/* 반응형 디자인 */

@media (max-width: 1280px) {
    .container {
        padding: 0 20px;
    }
    .wrap {
        padding: 0 20px;
    }
}

@media (max-width: 768px) {
    .nav-menu {
        display: none;
    }
    .nav-toggle {
        display: flex;
    }
    .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 2rem;
        padding: 0 1rem;
    }
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-buttons {
        justify-content: center;
    }
    .hero-cta-buttons {
        flex-direction: column;
        gap: 1rem;
        padding: 2rem 0;
    }
    .cta-btn {
        min-width: 280px;
        font-size: 1rem;
        padding: 1rem 2rem;
        margin: 0.5rem 0;
    }
    /* 모바일 비디오 최적화 */
    .hero-video-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100vh;
        z-index: 1;
        overflow: hidden;
    }
    /* 모바일에서 비디오 전환 */
    .pc-video {
        display: none;
    }
    .mobile-video {
        display: block;
        width: 100%;
        height: 100vh;
    }
    .background-video {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100vh;
        object-fit: cover;
        object-position: center;
        z-index: 1;
        opacity: 1;
        /* 모바일 성능 최적화 */
        will-change: auto;
        transform-style: flat;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        /* 모바일 비디오 최적화 */
        min-width: 100%;
        min-height: 100vh;
        max-width: 100%;
        max-height: 100vh;
        /* 모바일 비디오 품질 최적화 */
        filter: none;
        margin: 0;
        padding: 0;
        /* 위치 정확성 */
        transform: none;
        -webkit-transform: none;
        -moz-transform: none;
    }
    .video-overlay {
        display: none;
    }
    /* 모바일에서 비디오가 보이지 않을 때 대체 배경 */
    .hero {
        background: #000000;
        position: relative;
        overflow: hidden;
        height: 100vh;
        width: 100vw;
        margin: 0;
        padding: 0;
    }
    /* 모바일 비디오 컨테이너 최적화 */
    .hero-video-bg {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        z-index: 1 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        /* 위치 정확성 */
        transform: none !important;
        -webkit-transform: none !important;
        -moz-transform: none !important;
    }
    /* 태블릿 화면 최적화 */
    @media (min-width: 769px) and (max-width: 1024px) {
        /* 태블릿에서 PC 비디오 사용 */
        .pc-video {
            display: block;
        }
        .mobile-video {
            display: none;
        }
        .hero {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .hero-video-bg {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .background-video {
            object-fit: cover;
            object-position: center;
            width: 100%;
            height: 100%;
            min-width: 100%;
            min-height: 100%;
        }
        .hero-container {
            width: 100%;
            max-width: 100%;
            padding: 0 2rem;
        }
    }
    /* PC 기본 화면 최적화 (1025px 이상) */
    @media (min-width: 1025px) {
        .hero {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .hero-video-bg {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .background-video {
            object-fit: cover;
            object-position: center;
            width: 100%;
            height: 100%;
            min-width: 100%;
            min-height: 100%;
        }
        .hero-container {
            width: 100%;
            max-width: 1400px;
            padding: 0 4rem;
        }
    }
    /* 대형 PC 화면 최적화 */
    @media (min-width: 1440px) and (max-width: 1919px) {
        .hero-container {
            max-width: 1600px;
            padding: 0 5rem;
        }
    }
    /* PC 화면 최적화 (1920x1020) */
    @media (min-width: 1920px) {
        .hero-container {
            max-width: 1920px;
            padding: 0 2rem;
            height: 1020px;
            /* FPS 최적화 */
            will-change: transform;
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
        }
        .hero {
            height: 1020px;
            min-height: 1020px;
            width: 1920px;
            max-width: 1920px;
            /* FPS 최적화 */
            will-change: transform;
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
        }
        .hero-video-bg {
            height: 1020px;
            min-height: 1020px;
            width: 1920px;
            max-width: 1920px;
            /* FPS 최적화 */
            will-change: transform;
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
        }
        .background-video {
            width: 1920px;
            height: 1020px;
            min-width: 1920px;
            min-height: 1020px;
            max-width: 1920px;
            max-height: 1020px;
            object-fit: cover;
            object-position: center;
            /* FPS 최적화 */
            will-change: transform;
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
            /* 비디오 성능 최적화 */
            image-rendering: -webkit-optimize-contrast;
            image-rendering: crisp-edges;
        }
        .pc-video {
            display: block;
            width: 1920px;
            height: 1020px;
            /* FPS 최적화 */
            will-change: transform;
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
        }
        .mobile-video {
            display: none;
        }
    }
    /* 세로 긴 화면 (모바일 세로) */
    @media (max-width: 768px) and (orientation: portrait) {
        .hero {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .hero-video-bg {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .background-video {
            object-fit: cover;
            object-position: center;
            width: 100%;
            height: 100%;
            min-width: 100%;
            min-height: 100%;
        }
        .hero-container {
            width: 100%;
            max-width: 100%;
            padding: 0 1rem;
        }
        /* 480px 이하에서는 정확한 크기 적용 */
        @media (max-width: 480px) {
            .hero {
                width: 480px;
                height: 1046px;
                min-width: 480px;
                min-height: 1046px;
                max-width: 480px;
                max-height: 1046px;
            }
            .hero-video-bg {
                width: 480px;
                height: 1046px;
                min-width: 480px;
                min-height: 1046px;
                max-width: 480px;
                max-height: 1046px;
            }
            .background-video {
                width: 480px;
                height: 1046px;
                min-width: 480px;
                min-height: 1046px;
                max-width: 480px;
                max-height: 1046px;
            }
            .hero-container {
                width: 480px;
                height: 1046px;
                max-width: 480px;
                max-height: 1046px;
            }
        }
    }
    /* 가로 긴 화면 (모바일 가로) */
    @media (max-width: 768px) and (orientation: landscape) {
        .hero {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .hero-video-bg {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .background-video {
            object-fit: cover;
            object-position: center;
            width: 100%;
            height: 100%;
            min-width: 100%;
            min-height: 100%;
        }
        .hero-container {
            width: 100%;
            max-width: 100%;
            padding: 0 1rem;
        }
    }
    /* 초광대형 화면 (21:9 등) */
    @media (min-width: 1920px) and (min-aspect-ratio: 21/9) {
        .hero {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .hero-video-bg {
            height: 100vh;
            min-height: 100vh;
            width: 100%;
        }
        .background-video {
            object-fit: cover;
            object-position: center;
            width: 100%;
            height: 100%;
            min-width: 100%;
            min-height: 100%;
        }
        .hero-container {
            width: 100%;
            max-width: 1800px;
            padding: 0 6rem;
        }
    }
    .features-grid {
        grid-template-columns: 1fr;
    }
    .pricing-grid {
        grid-template-columns: 1fr;
    }
    .pricing-card.featured {
        transform: none;
    }
    .contact-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    /* 태블릿 카지노 레이아웃 */
    @media (min-width: 769px) and (max-width: 1024px) {
        .casino-features {
            grid-template-columns: repeat(2, 1fr);
            gap: 2.5rem;
        }
        .casino-content {
            padding: 3rem 2rem;
        }
        .casino-title {
            font-size: 3.5rem;
        }
    }
    /* 데스크톱 카지노 레이아웃 */
    @media (min-width: 1025px) and (max-width: 1439px) {
        .casino-features {
            grid-template-columns: repeat(3, 1fr);
            gap: 3rem;
        }
        .casino-content {
            padding: 4rem 2rem;
        }
        .casino-title {
            font-size: 4rem;
        }
    }
    /* 대형 화면 카지노 레이아웃 */
    @media (min-width: 1440px) {
        .casino-features {
            grid-template-columns: repeat(3, 1fr);
            gap: 4rem;
        }
        .casino-content {
            padding: 4rem 3rem;
        }
        .casino-title {
            font-size: 4.5rem;
        }
    }
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

/* 모바일 화면 최적화 (반응형) */

@media (max-width: 480px) {
    .hero {
        width: 100vw;
        height: 100vh;
        min-width: 100vw;
        min-height: 100vh;
        max-width: 100vw;
        max-height: 100vh;
        /* FPS 최적화 */
        will-change: transform;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
    .hero-video-bg {
        width: 100vw;
        height: 100vh;
        min-width: 100vw;
        min-height: 300px;
        max-width: 100vw;
        max-height: 300px;
        /* FPS 최적화 */
        will-change: transform;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
    .background-video {
        width: 100vw;
        height: 300px;
        min-width: 100vw;
        min-height: 100vh;
        max-width: 100vw;
        max-height: 100vh;
        object-fit: cover;
        object-position: center;
        /* FPS 최적화 */
        will-change: transform;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        /* 모바일 비디오 성능 최적화 */
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
        /* 모바일 GPU 가속 */
        -webkit-perspective: 1000;
        perspective: 1000;
    }
    .mobile-video {
        display: block;
        width: 100vw;
        height: 100vh;
        /* FPS 최적화 */
        will-change: transform;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
    .pc-video {
        display: none;
    }
    .hero-container {
        width: 100vw;
        height: 100vh;
        max-width: 100vw;
        padding: 0 1rem;
        /* FPS 최적화 */
        will-change: transform;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
    .hero-title {
        font-size: 2rem;
    }
    .section-title {
        font-size: 2rem;
    }
    .btn {
        padding: 0.8rem 1.5rem;
        font-size: 0.9rem;
    }
    .stats-grid {
        grid-template-columns: 1fr;
    }
    .floating-card {
        padding: 1rem;
    }
    .floating-card i {
        font-size: 1.5rem;
    }
}

/* 트렌디 애니메이션 키프레임 */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px) scale(0.95);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px) rotate(-5deg);
        filter: blur(5px);
    }
    to {
        opacity: 1;
        transform: translateX(0) rotate(0deg);
        filter: blur(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(60px) rotate(5deg);
        filter: blur(5px);
    }
    to {
        opacity: 1;
        transform: translateX(0) rotate(0deg);
        filter: blur(0);
    }
}

@keyframes expandWidth {
    from {
        width: 0;
        opacity: 0;
    }
    to {
        width: 100%;
        opacity: 1;
    }
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(0.3) translateY(-100px);
    }
    50% {
        opacity: 1;
        transform: scale(1.05) translateY(10px);
    }
    70% {
        transform: scale(0.9) translateY(-5px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(100px) rotateX(45deg);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) rotateX(0deg);
        filter: blur(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.5) rotate(180deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

/* ===== 모바일 배너/버튼 정렬 최종 오버라이드 ===== */

@media (max-width: 768px) {
    /* 배너가 배경 영상에 가려지지 않도록 보장 */
    .casino-section {
        position: relative;
        z-index: 10;
    }
    .casino-banners-mobile {
        position: relative;
        z-index: 5;
    }
    /* 모바일 배너 300x300 고정 및 중앙 배치 */
    .casino-banners-mobile .casino-banner-mobile {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 12px !important;
        border-radius: 15px !important;
    }
    .casino-banners-mobile .banner-image-container-mobile,
    .casino-banners-mobile .banner-image-mobile {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        aspect-ratio: 1/1 !important;
        border-radius: 15px !important;
    }
    /* 텔레그램 문의 버튼 중앙 정렬 보강 */
    .schedule-card {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .schedule-contact {
        align-self: center;
    }
    /* 모바일 영상 반응형 최적화 */
    .hero,
    .hero-video-bg,
    .background-video {
        width: 100% !important;
        height: auto !important;
        min-width: 100% !important;
        min-height: 300px !important;
        max-width: 100% !important;
        max-height: 300px !important;
        object-fit: cover !important;
        object-position: center !important;
        padding-top: 90px;
    }
    .casino-section,
    .casino-video-bg,
    .casino-video-bg video {
        width: 100vw !important;
        height: auto !important;
        min-width: 100vw !important;
        min-height: auto !important;
        max-width: 100vw !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center !important;
    }
}

@keyframes morphing {
    0% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
    50% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
    }
    100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
}

@keyframes floating3D {
    0%,
    100% {
        transform: translateY(0px) rotateX(0deg) rotateY(0deg);
    }
    25% {
        transform: translateY(-20px) rotateX(5deg) rotateY(5deg);
    }
    50% {
        transform: translateY(-10px) rotateX(0deg) rotateY(10deg);
    }
    75% {
        transform: translateY(-15px) rotateX(-5deg) rotateY(5deg);
    }
}

@keyframes neonGlow {
    0%,
    100% {
        text-shadow: 0 0 5px rgba(255, 217, 61, 0.5), 0 0 10px rgba(255, 217, 61, 0.3), 0 0 15px rgba(255, 217, 61, 0.1);
    }
    50% {
        text-shadow: 0 0 10px rgba(255, 217, 61, 0.8), 0 0 20px rgba(255, 217, 61, 0.5), 0 0 30px rgba(255, 217, 61, 0.3);
    }
}

.fade-in-up {
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.slide-in-left {
    animation: slideInLeft 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.slide-in-right {
    animation: slideInRight 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.bounce-in {
    animation: bounceIn 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.slide-in-up {
    animation: slideInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scale-in {
    animation: scaleIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.glow-pulse {
    animation: glowPulse 2s ease-in-out infinite;
}

.morphing {
    animation: morphing 8s ease-in-out infinite;
}

.floating-3d {
    animation: floating3D 6s ease-in-out infinite;
}

.neon-glow {
    animation: neonGlow 2s ease-in-out infinite;
}

/* 카지노 섹션 스타일 - 전체 너비 */

.casino-section {
    position: relative;
    min-height: auto;
    /* 배너 높이에 맞춰 섹션 높이 자동 */
    display: flex;
    align-items: center;
    overflow: visible;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 50%, #e9ecef 100%);
    width: 100vw;
    /* 전체 가로 꽉 채움 */
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    /* 부모가 중앙 정렬일 때 좌우 빈칸 제거 */
    backdrop-filter: blur(10px);
    padding: 2rem 0 0;
    /* 상단/하단 여백 축소로 빈칸 제거 */
    margin-top: 0;
    clear: both;
}

.casino-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.casino-video-bg video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: none;
    /* 성능 최적화 */
    will-change: auto;
    transform-style: flat;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    /* 비디오 최적화 */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    /* 메모리 최적화 */
    contain: layout style paint;
}

.casino-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 2;
}

.casino-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: #000000;
    width: 100%;
    max-width: 100%;
    margin: 0;
    /* padding: 2rem 0 4rem 0; */
    background: transparent;
    backdrop-filter: none;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

.casino-header {
    margin-bottom: 1rem;
    /* 제목과 배너 사이 간격 축소 */
    animation: slideInUp 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: none;
    outline: none;
    background: transparent;
}

.casino-title {
    font-size: 4.5rem;
    font-weight: 900;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    color: #000000;
    letter-spacing: -0.02em;
    text-align: center;
    word-break: keep-all;
    white-space: nowrap;
    border: none;
    outline: none;
    text-decoration: none;
}

.casino-highlight {
    +color: #000000;
    font-weight: 900;
    display: inline-block;
    border: none;
    outline: none;
    text-decoration: none;
}

.casino-highlight::after {
    display: none;
}

.casino-highlight::before {
    display: none;
}

.casino-subtitle {
    font-size: 1.3rem;
    margin-bottom: 2rem;
    opacity: 0.9;
    line-height: 1.7;
    font-weight: 400;
    text-shadow: 1px 1px 4px rgba(255, 255, 255, 0.5);
    color: #333333;
}

.casino-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.casino-feature {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.02) 100%);
    backdrop-filter: blur(25px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 25px;
    padding: 3rem 2rem;
    text-align: center;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}

.casino-feature:nth-child(1) {
    animation-delay: 0.2s;
}

.casino-feature:nth-child(2) {
    animation-delay: 0.4s;
}

.casino-feature:nth-child(3) {
    animation-delay: 0.6s;
}

.casino-feature:hover {
    transform: translateY(-15px) scale(1.03);
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.05) 100%);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.2);
    border-color: rgba(0, 0, 0, 0.3);
}

.casino-icon {
    width: 90px;
    height: 90px;
    background: linear-gradient(135deg, #000000 0%, #333333 50%, #666666 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    color: #ffffff;
    font-size: 2.2rem;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}

.casino-feature:hover .casino-icon {
    transform: scale(1.1) rotate(10deg);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
}

.casino-feature h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #000000;
}

.casino-feature p {
    color: #333333;
    line-height: 1.6;
    font-size: 1rem;
}

.casino-cta {
    animation: slideInUp 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.8s both;
}

.btn-casino {
    background: #ffd700;
    color: #000;
    font-weight: 900;
    font-size: 1.3rem;
    padding: 1.8rem 4rem;
    border-radius: 60px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    border: 3px solid #ffd700;
    letter-spacing: 0.5px;
}

.btn-casino::before {
    display: none;
}

.btn-casino:hover::before {
    display: none;
}

.btn-casino:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
    background: #ffed4e;
}

.btn-casino:active {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 15px 30px rgba(255, 215, 0, 0.4), 0 5px 15px rgba(255, 215, 0, 0.2);
}

/* 카지노 파티클 애니메이션 */

.casino-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.particle {
    position: absolute;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.8) 0%, transparent 70%);
    border-radius: 50%;
    animation: particleFloat 8s ease-in-out infinite;
}

.particle-1 {
    width: 20px;
    height: 20px;
    top: 20%;
    left: 10%;
    animation-delay: 0s;
}

.particle-2 {
    width: 15px;
    height: 15px;
    top: 60%;
    right: 15%;
    animation-delay: 2s;
}

.particle-3 {
    width: 25px;
    height: 25px;
    bottom: 30%;
    left: 20%;
    animation-delay: 4s;
}

.particle-4 {
    width: 12px;
    height: 12px;
    top: 40%;
    right: 30%;
    animation-delay: 6s;
}

.particle-5 {
    width: 18px;
    height: 18px;
    bottom: 20%;
    right: 10%;
    animation-delay: 1s;
}

@keyframes particleFloat {
    0%,
    100% {
        transform: translateY(0px) translateX(0px) scale(1);
        opacity: 0.3;
    }
    25% {
        transform: translateY(-30px) translateX(20px) scale(1.2);
        opacity: 0.8;
    }
    50% {
        transform: translateY(-15px) translateX(-15px) scale(0.8);
        opacity: 0.5;
    }
    75% {
        transform: translateY(-25px) translateX(10px) scale(1.1);
        opacity: 0.7;
    }
}

/* 카지노 섹션 반응형 */

@media (max-width: 768px) {
    .casino-section {
        margin: 0 -20px;
        width: calc(100% + 40px);
    }
    .casino-content {
        padding: 3rem 0;
    }
    .casino-title {
        font-size: 2.5rem;
        white-space: normal;
        word-break: keep-all;
        line-height: 1.3;
    }
    .casino-subtitle {
        font-size: 1.1rem;
    }
    .casino-features {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .casino-feature {
        padding: 2rem;
    }
    .btn-casino {
        padding: 1rem 2rem;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .casino-section {
        margin: 0 -20px;
        width: calc(100% + 40px);
    }
    .casino-content {
        padding: 2rem 20px;
    }
    .casino-title {
        font-size: 2rem;
        white-space: normal;
        word-break: keep-all;
        line-height: 1.4;
    }
    .casino-feature {
        padding: 1.5rem;
    }
    .casino-icon {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
}

/* 스크롤바 스타일 */

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #ff6b6b;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #ff8e8e;
}

/* 역대급 수위 텍스트 밑줄 효과 완전 제거 */

.highlight::after,
.highlight::before,
[class*="highlight"]::after,
[class*="highlight"]::before {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
    height: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
}

/* 사이트 배너 섹션 반응형 - 트렌디 디자인 */

@media (max-width: 768px) {
    .site-banner {
        padding: 8rem 0;
    }
    .banner-title {
        font-size: 3.5rem;
        margin-bottom: 2.5rem;
    }
    .banner-subtitle {
        font-size: 1.3rem;
        max-width: 100%;
    }
    .banner-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        margin-bottom: 5rem;
    }
    .banner-stat {
        padding: 2.5rem 2rem;
        border-radius: 24px;
    }
    .banner-stat-number {
        font-size: 3rem;
        margin-bottom: 1rem;
    }
    .banner-stat-label {
        font-size: 1.1rem;
        padding: 0.6rem 1.2rem;
        border-radius: 20px;
    }
    .banner-cta .btn {
        margin: 0.5rem;
        font-size: 1.1rem;
        padding: 1.2rem 2.5rem;
    }
}

@media (max-width: 480px) {
    .site-banner {
        padding: 6rem 0;
    }
    .banner-title {
        font-size: 3rem;
        margin-bottom: 2rem;
    }
    .banner-subtitle {
        font-size: 1.2rem;
    }
    .banner-stats {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 4rem;
    }
    .banner-stat {
        padding: 2.5rem 2rem;
    }
    .banner-stat-number {
        font-size: 3rem;
    }
    .banner-stat-label {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .site-banner {
        padding: 6rem 0;
    }
    .banner-title {
        font-size: 3rem;
        margin-bottom: 2rem;
    }
    .banner-subtitle {
        font-size: 1.2rem;
    }
    .banner-stats {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-bottom: 4rem;
    }
    .banner-stat {
        padding: 2.5rem 2rem;
    }
    .banner-stat-number {
        font-size: 3rem;
    }
    .banner-stat-label {
        font-size: 1rem;
        padding: 0.5rem 1rem;
        border-radius: 18px;
    }
    .banner-cta {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .banner-cta .btn {
        margin: 0;
        width: 100%;
        justify-content: center;
    }
}

/* 매니저별 혜택 섹션 - 화이트 배경 블랙 내용 스타일 */

.manager-benefits {
    padding: 0 0 2rem 0;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 25%, #e9ecef 50%, #f8f9fa 75%, #ffffff 100%);
    position: relative;
    overflow: hidden;
    scroll-margin-top: 80px;
    /* 헤더 높이만큼 여백 추가 */
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    clear: both;
}

.manager-benefits::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(0, 0, 0, 0.05) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(0, 0, 0, 0.03) 0%, transparent 50%);
    pointer-events: none;
    opacity: 0.4;
}

.manager-benefits .section-header {
    text-align: center;
    margin-bottom: 5rem;
    position: relative;
    z-index: 2;
}

.manager-benefits .section-title {
    font-size: 4.2rem;
    font-weight: 900;
    margin-bottom: 1.5rem;
    color: #3375fb;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.5);
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.03em;
    word-break: keep-all;
    line-height: 1.1;
    position: relative;
}

/* .manager-benefits .section-title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 140px;
    height: 6px;
    background: linear-gradient(90deg, #000000, #333333, #000000);
    border-radius: 3px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
} */

/* 섹션 하이라이트 애니메이션 */

@keyframes sectionHighlight {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(255, 20, 147, 0);
    }
    50% {
        transform: scale(1.02);
        box-shadow: 0 0 50px rgba(255, 20, 147, 0.3);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(255, 20, 147, 0);
    }
}

.manager-benefits .section-subtitle {
    font-size: 1.3rem;
    color: #3375fb;
    max-width: 700px;
    margin: 0 auto 2rem;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.6;
    font-weight: 600;
}

.manager-select-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #000000;
    margin-bottom: 3rem;
    text-align: center;
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.5);
}

/* 카테고리 토글 스타일 */

.category-toggle {
    cursor: pointer;
    user-select: none;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1.2rem 1.5rem;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(100, 100, 100, 0.08) 50%, rgba(0, 0, 0, 0.1) 100%);
    border: 2px solid rgba(0, 0, 0, 0.2);
    margin-bottom: 0.8rem;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.category-toggle::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.category-toggle:hover::before {
    left: 100%;
}

.category-toggle:hover {
    color: #000000;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
    /* background: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(50, 50, 50, 0.7) 50%, rgba(0, 0, 0, 0.8) 100%); */
    border-color: rgba(0, 0, 0, 0.6);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3);
}

.toggle-icon {
    transition: transform 0.3s ease;
    font-size: 0.9rem;
    color: #000000;
}

.category-toggle.active .toggle-icon {
    transform: rotate(180deg);
}

.category-toggle.active {
    color: #000000;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.9);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(200, 200, 200, 0.18) 50%, rgba(255, 255, 255, 0.2) 100%);
    border-color: rgba(255, 255, 255, 0.6);
    box-shadow: 0 12px 35px rgba(255, 255, 255, 0.3), 0 6px 20px rgba(0, 0, 0, 0.4);
    transform: translateY(-2px);
    animation: activePulse 2s ease-in-out infinite;
}

.benefit-content {
    max-height: 0;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0;
    transform: translateY(-15px) scale(0.98);
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(200, 200, 200, 0.05) 50%, rgba(255, 255, 255, 0.1) 100%);
    margin-bottom: 1.5rem;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    /* margin-left: 2rem;
    margin-right: 2rem; */
}

.benefit-content.expanded {
    max-height: 1000px;
    opacity: 1;
    transform: translateY(0) scale(1);
    padding: 1.5rem;
    border: 2px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), 0 5px 15px rgba(255, 255, 255, 0.1);
    animation: contentExpand 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* 개별 카테고리 애니메이션 */

.benefit-category {
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}

.benefit-category:hover {
    transform: translateX(5px);
}

/* 카테고리 제목 스타일 개선 */

.category-title {
    background: linear-gradient(135deg, #ff1493 0%, #da70d6 100%);
    border-radius: 15px;
    padding: 1.5rem 2rem;
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(255, 20, 147, 0.3);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.5px;
}

/* 카테고리 토글 애니메이션 */

@keyframes activePulse {
    0%,
    100% {
        box-shadow: 0 12px 35px rgba(255, 255, 255, 0.3), 0 6px 20px rgba(0, 0, 0, 0.4);
    }
    50% {
        box-shadow: 0 15px 40px rgba(255, 255, 255, 0.4), 0 8px 25px rgba(0, 0, 0, 0.5);
    }
}

@keyframes contentExpand {
    0% {
        opacity: 0;
        transform: translateY(-15px) scale(0.98);
    }
    50% {
        opacity: 0.7;
        transform: translateY(-5px) scale(0.99);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes contentCollapse {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-15px) scale(0.98);
    }
}

.benefit-content.expanding {
    animation: categoryExpand 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.benefit-content.collapsing {
    animation: categoryCollapse 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* 호버 효과 개선 */

.benefit-item {
    /* transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-radius: 12px;
    padding: 1.2rem 1.5rem;
    margin-bottom: 1rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    position: relative;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    gap: 1.5rem; */
    text-align: center;
}

.benefit-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 20, 147, 0.1), transparent);
    transition: left 0.6s;
}

.benefit-item:hover::before {
    left: 100%;
}

.benefit-item:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: rgba(255, 20, 147, 0.3);
}

.benefit-item.premium {
    background: linear-gradient(135deg, rgba(255, 20, 147, 0.12) 0%, rgba(138, 43, 226, 0.12) 100%);
    border: 2px solid rgba(255, 20, 147, 0.25);
    box-shadow: 0 4px 15px rgba(255, 20, 147, 0.1);
}

.benefit-item.premium:hover {
    background: linear-gradient(135deg, rgba(255, 20, 147, 0.18) 0%, rgba(138, 43, 226, 0.18) 100%);
    border-color: rgba(255, 20, 147, 0.4);
    transform: translateX(8px) translateY(-3px) scale(1.03);
    box-shadow: 0 12px 25px rgba(255, 20, 147, 0.25);
}

.manager-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 3rem;
    position: relative;
    z-index: 2;
    /* 통일된 크기 */
    align-items: stretch;
}

.manager-benefit-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 240, 240, 0.95) 100%);
    border-radius: 25px;
    padding: 3rem 2rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    /* 통일된 크기 */
    /* min-height: 1200px; */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* HOT 배지 스타일 */

.hot-badge {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #ff69b4 0%, #9370db 100%);
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 900;
    padding: 0.3rem 1.5rem;
    border-radius: 15px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 3px 10px rgba(255, 105, 180, 0.3);
    z-index: 10;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    min-width: 60px;
    text-align: center;
}

.manager-benefit-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* .manager-benefit-card::after {
    content: '★';
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 1.8rem;
    color: rgba(0, 0, 0, 0.6);
    font-weight: bold;
} */

.manager-benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.manager-benefit-card:hover::before {
    opacity: 1;
}

.manager-benefit-card:hover::after {
    color: rgba(0, 0, 0, 1);
}

/* 안나 매니저 카드 특별 스타일 */

.anna-manager-card {
    position: relative;
    overflow: hidden;
}

.anna-manager-card .manager-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(145deg, rgba(0, 0, 0, 0.1) 0%, rgba(100, 100, 100, 0.08) 50%, rgba(0, 0, 0, 0.12) 100%);
    background-size: cover;
    background-position: center;
    opacity: 0.3;
    z-index: 0;
}

.anna-manager-card .background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(100, 100, 100, 0.05) 25%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.06) 75%, rgba(100, 100, 100, 0.04) 100%);
    z-index: 1;
}

.anna-manager-card .manager-profile-section,
.anna-manager-card .benefits-content {
    position: relative;
    z-index: 2;
}

.anna-manager-card:hover .manager-background {
    opacity: 0.5;
}

.manager-profile-section {
    text-align: center;
    margin-bottom: 1rem;
    position: relative;
    flex-shrink: 0;
}

.manager-avatar {
    width: 200px;
    height: 250px;
    margin: 0 auto 2rem;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
}

.avatar-placeholder {
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
}

.avatar-placeholder i {
    font-size: 4rem;
    color: #cccccc;
}

.manager-avatar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 20, 147, 0.3), rgba(138, 43, 226, 0.2));
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.manager-benefit-card:hover .manager-avatar {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
    border-color: rgba(255, 20, 147, 0.8);
}

.manager-benefit-card:hover .manager-avatar::before {
    opacity: 1;
}

.manager-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.manager-name {
    font-size: 2.8rem;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 2rem;
    text-align: center;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.02em;
    word-break: keep-all;
    line-height: 1.2;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.manager-name::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #ff69b4, #da70d6);
    border-radius: 2px;
}

.manager-name::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #ffffff, #cccccc, #ffffff);
    border-radius: 2px;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.manager-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}

.btn-entry-inquiry {
    background: #8677ee;
    color: #ffffff;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 1.2rem 2.5rem;
    border-radius: 50px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    margin: 0 auto;
    text-align: center;
}

.btn-entry-inquiry:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6);
    background: #8677ee;
}

.btn-vip-benefit {
    background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);
    color: #000000;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.btn-vip-benefit:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.3);
}

.manager-entry-btn {
    background: linear-gradient(135deg, #000000 0%, #333333 25%, #666666 50%, #333333 75%, #000000 100%);
    background-size: 200% 200%;
    color: #ffffff;
    font-weight: 800;
    font-size: 1.2rem;
    padding: 1.3rem 2.8rem;
    border-radius: 35px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    border: none;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    position: relative;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.manager-entry-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.6s ease;
}

.manager-entry-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
    background: linear-gradient(135deg, #333333 0%, #000000 25%, #666666 50%, #000000 75%, #333333 100%);
    background-size: 200% 200%;
}

.manager-entry-btn:hover::before {
    left: 100%;
}

.manager-entry-btn:active {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
}

@keyframes gradientShift {
    0%,
    100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.benefits-content {
    margin-top: 2.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.benefit-category {
    margin-bottom: 2.5rem;
}

.category-title {
    font-size: 1.5rem;
    font-weight: 900;
    color: #000000;
    margin-bottom: 1.5rem;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.3;
    position: relative;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(200, 200, 200, 0.25) 50%, rgba(255, 255, 255, 0.3) 100%);
    padding: 1rem 1.5rem;
    border-radius: 15px;
    border: 2px solid rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.category-title::before {
    content: '';
    width: 25px;
    height: 4px;
    background: linear-gradient(90deg, #000000, #333333);
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.benefit-list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

/* .benefit-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2rem 1.5rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(200, 200, 200, 0.2) 50%, rgba(255, 255, 255, 0.25) 100%);
    border-radius: 18px;
    border: 2px solid rgba(0, 0, 0, 0.2);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
} */

.benefit-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1), transparent);
    transition: left 0.6s ease;
}

.benefit-item:hover {
    transform: translateX(8px) scale(1.03);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(200, 200, 200, 0.3) 50%, rgba(255, 255, 255, 0.35) 100%);
    border-color: rgba(0, 0, 0, 0.4);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.benefit-item:hover .benefit {
    color: #000000;
    font-weight: 900;
    text-shadow: 0 3px 6px rgba(255, 255, 255, 0.9);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(200, 200, 200, 0.9) 50%, rgba(255, 255, 255, 0.95) 100%);
    border: 3px solid rgba(0, 0, 0, 0.6);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.benefit-item:hover::before {
    left: 100%;
}

.benefit-item.premium {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(100, 100, 100, 0.25) 50%, rgba(0, 0, 0, 0.3) 100%);
    border-color: rgba(0, 0, 0, 0.6);
    position: relative;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    transform: scale(1.02);
}

.benefit-item.premium::before {
    content: '⭐';
    position: absolute;
    top: -10px;
    right: -10px;
    font-size: 1.6rem;
    animation: starPulse 1.5s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

@keyframes starPulse {
    0%,
    100% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(1.2) rotate(5deg);
    }
}

/* 프리미엄 혜택 아이템 내 텍스트 강조 */

.benefit-item.premium .benefit {
    color: #000000;
    font-weight: 900;
    font-size: 1.15rem;
    text-shadow: 0 3px 6px rgba(255, 255, 255, 0.9);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(200, 200, 200, 0.9) 50%, rgba(255, 255, 255, 0.95) 100%);
    border: 3px solid rgba(0, 0, 0, 0.5);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.benefit-item.premium .amount {
    background: linear-gradient(135deg, #000000 0%, #333333 100%);
    color: #000000;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.5);
    border: 3px solid rgba(0, 0, 0, 0.6);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    font-weight: 900;
}

.amount {
    font-weight: 900;
    color: #000000;
    font-size: 1rem;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.8);
    min-width: 130px;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.3;
    background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);
    padding: 0.6rem 1.2rem;
    border-radius: 20px;
    border: 2px solid rgba(0, 0, 0, 0.3);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}

.benefit {
    color: #000000;
    font-size: 1.1rem;
    text-align: left;
    flex: 1;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.5;
    font-weight: 800;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.8);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(200, 200, 200, 0.8) 50%, rgba(255, 255, 255, 0.9) 100%);
    padding: 0.8rem 1.2rem;
    border-radius: 15px;
    border: 2px solid rgba(0, 0, 0, 0.4);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.benefits-note {
    text-align: center;
    margin-top: 4rem;
    padding: 2.5rem;
    /* background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(200, 200, 200, 0.1) 100%);
    border-radius: 25px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); */
    position: relative;
    overflow: hidden;
}

.benefits-note::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background: linear-gradient(135deg, rgba(0, 0, 0, 0.05) 0%, transparent 50%); */
    pointer-events: none;
}

.benefits-note p {
    color: #000000;
    font-size: 1.2rem;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}

/* 새로운 키프레임 애니메이션 */

@keyframes gradientShift {
    0%,
    100% {
        background-image: radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 107, 107, 0.1) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(255, 217, 61, 0.1) 0%, transparent 50%);
    }
    50% {
        background-image: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 20% 80%, rgba(255, 107, 107, 0.1) 0%, transparent 50%), radial-gradient(circle at 60% 60%, rgba(255, 217, 61, 0.1) 0%, transparent 50%);
    }
}

@keyframes cardFloat {
    0%,
    100% {
        transform: translateY(0px) rotateX(0deg);
    }
    50% {
        transform: translateY(-10px) rotateX(2deg);
    }
}

@keyframes shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* 반응형 디자인 */

@media (max-width: 768px) {
    /* 햄버거 메뉴 모바일 스타일 */
    .nav-toggle {
        display: flex !important;
        position: relative;
        z-index: 1003;
        cursor: pointer;
    }
    .nav-container {
        position: relative;
        z-index: 1002;
    }
    .navbar {
        position: relative;
        z-index: 1001;
    }
    /* 모바일에서 기본 메뉴 숨김 */
    .nav-menu {
        display: none;
    }
    .nav-menu {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: white;
        /* background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(20, 20, 20, 0.98) 100%); */
        backdrop-filter: blur(20px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        transition: left 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        z-index: 1000;
        display: flex;
    }
    .nav-menu.active {
        left: 0;
        display: flex !important;
    }
    .nav-link {
        font-size: 1.5rem;
        font-weight: 600;
        padding: 1rem 2rem;
        border-radius: 10px;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        color: #ffffff;
        text-decoration: none;
        display: block;
    }
    .nav-link::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 107, 107, 0.2), transparent);
        transition: left 0.5s ease;
    }
    .nav-link:hover::before {
        left: 100%;
    }
    .nav-link:hover {
        background: rgba(255, 107, 107, 0.1);
        transform: translateX(10px);
        box-shadow: 0 5px 15px rgba(255, 107, 107, 0.3);
        color: #000000;
    }
    .nav-link:active {
        background: rgba(255, 107, 107, 0.2);
        transform: translateX(5px);
    }
    /* 매니저 혜택 섹션 모바일 */
    .manager-benefits-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .manager-benefit-card {
        padding: 2rem;
    }
    .manager-avatar {
        width: 150px;
        height: 200px;
    }
    .manager-name {
        font-size: 1.5rem;
    }
    .benefit-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    .amount {
        min-width: auto;
    }
    .benefit {
        text-align: left;
        margin-left: 0;
    }
    /* 태블릿 레이아웃 */
    @media (min-width: 769px) and (max-width: 1024px) {
        .manager-benefits-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 2.5rem;
        }
        .manager-benefit-card {
            padding: 2.5rem;
        }
        .manager-avatar {
            width: 180px;
            height: 220px;
        }
        .manager-name {
            font-size: 2rem;
        }
    }
    /* 데스크톱 레이아웃 */
    @media (min-width: 1025px) and (max-width: 1439px) {
        .manager-benefits-grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 3rem;
        }
        .manager-benefit-card {
            padding: 3rem;
        }
        .manager-avatar {
            width: 200px;
            height: 250px;
        }
        .manager-name {
            font-size: 2.4rem;
        }
    }
    /* 대형 화면 레이아웃 */
    @media (min-width: 1440px) {
        .manager-benefits-grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 4rem;
        }
        .manager-benefit-card {
            padding: 3.5rem;
        }
        .manager-avatar {
            width: 220px;
            height: 280px;
        }
        .manager-name {
            font-size: 2.8rem;
        }
    }
}

@media (max-width: 480px) {
    /* 햄버거 메뉴 작은 화면 */
    .nav-container {
        padding: 0 1rem;
    }
    .nav-logo {
        font-size: 1.2rem;
    }
    .nav-logo i {
        font-size: 1.5rem;
    }
    .nav-link {
        font-size: 1.3rem;
        padding: 0.8rem 1.5rem;
    }
    /* 매니저 혜택 섹션 작은 화면 */
    .manager-benefits .section-title {
        font-size: 2rem;
    }
    .manager-benefits .section-subtitle {
        font-size: 1rem;
    }
    .manager-benefit-card {
        padding: 1.5rem;
    }
    .category-title {
        font-size: 1.1rem;
    }
    .benefit-item {
        padding: 0.8rem;
    }
    .amount,
    .benefit {
        font-size: 0.8rem;
    }
}

/* 아바타 슬라이더 스타일 */

.avatar-slider {
    position: relative;
    width: 200px;
    height: 250px;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.avatar-slider img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

.avatar-slider img.active {
    opacity: 1;
}

/* 혜택 텍스트 색상 변경 */

.benefit {
    color: #000000 !important;
    font-size: 1rem;
    text-align: right;
    flex: 1;
    margin-left: 1.5rem;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.4;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.amount {
    font-weight: 800;
    color: #e74c3c !important;
    font-size: 1rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
    min-width: 130px;
    font-family: 'Noto Sans KR', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0.02em;
    word-break: keep-all;
    line-height: 1.3;
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.2), rgba(192, 57, 43, 0.15));
    padding: 0.3rem 0.8rem;
    border-radius: 12px;
    border: 1px solid rgba(231, 76, 60, 0.4);
    box-shadow: 0 2px 8px rgba(231, 76, 60, 0.2);
}

/* 매니저 문의시간 스타일 */

.manager-contact-hours {
    margin-top: 4rem;
    padding: 3rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-radius: 25px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.hours-title {
    font-size: 2rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 2rem;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.hours-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

.hours-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 2rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    width: 100%;
}

.hours-item:hover {
    transform: translateX(10px);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 100%);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.manager-profile {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.manager-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.hours-item:hover .manager-avatar {
    transform: scale(1.1);
    border-color: rgba(255, 215, 0, 0.5);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.manager-label {
    font-weight: 700;
    color: #2c3e50;
    font-size: 1.3rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.hours-time {
    font-weight: 600;
    color: #e74c3c;
    font-size: 1.2rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
    flex: 0;
    /* 확장 제거 */
    text-align: center;
    /* 중앙 정렬 */
}

.telegram-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #0088cc, #229ED9);
    border-radius: 50%;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 136, 204, 0.4);
}

.telegram-link:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 136, 204, 0.6);
}

.telegram-link i {
    font-size: 1.4rem;
}

/* 반응형 매니저 문의시간 */

@media (max-width: 768px) {
    .manager-contact-hours {
        margin-top: 2rem;
        padding: 1.5rem;
    }
    .hours-title {
        font-size: 1.3rem;
    }
    .hours-item {
        padding: 0.8rem 1rem;
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
    .manager-profile {
        flex-direction: column;
        gap: 0.5rem;
    }
    .manager-avatar {
        width: 40px;
        height: 40px;
    }
    .manager-label,
    .hours-time {
        font-size: 1rem;
    }
    .telegram-link {
        width: 35px;
        height: 35px;
    }
    .telegram-link i {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .manager-contact-hours {
        padding: 1rem;
    }
    .hours-title {
        font-size: 1.2rem;
    }
    .hours-item {
        padding: 0.6rem 0.8rem;
    }
    .manager-avatar {
        width: 35px;
        height: 35px;
    }
    .manager-label,
    .hours-time {
        font-size: 0.9rem;
    }
}

/* 매니저 미리보기 섹션 스타일 */

.manager-preview-section {
    margin-bottom: 4rem;
}

.preview-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #ffffff;
    text-align: center;
    margin-bottom: 3rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.manager-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.manager-preview-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: pointer;
}

.manager-preview-card:hover {
    transform: translateY(-10px) scale(1.02);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 100%);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 215, 0, 0.5);
}

.preview-avatar {
    margin-bottom: 1.5rem;
}

.preview-avatar .avatar-slider {
    width: 150px;
    height: 200px;
    margin: 0 auto;
}

.preview-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1.5rem;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.preview-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.preview-entry-btn {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 25%, #2c3e50 50%, #34495e 75%, #2c3e50 100%);
    background-size: 200% 200%;
    color: #ffffff;
    font-weight: 700;
    font-size: 1rem;
    padding: 1rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 8px 20px rgba(44, 62, 80, 0.4);
    border: none;
    animation: gradientShift 3s ease-in-out infinite;
}

.preview-entry-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 15px 30px rgba(44, 62, 80, 0.6);
}

.preview-benefit-btn {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 25%, #ffb347 50%, #ffed4e 75%, #ffd700 100%);
    background-size: 200% 200%;
    color: #000000;
    font-weight: 700;
    font-size: 1rem;
    padding: 1rem 1.5rem;
    border-radius: 25px;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 8px 20px rgba(255, 215, 0, 0.4);
    cursor: pointer;
    animation: gradientShift 3s ease-in-out infinite;
}

.preview-benefit-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 15px 30px rgba(255, 215, 0, 0.6);
}

.preview-benefit-btn.active {
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 25%, #e74c3c 50%, #c0392b 75%, #e74c3c 100%);
    color: #ffffff;
}

.toggle-icon {
    transition: transform 0.3s ease;
}

.preview-benefit-btn.active .toggle-icon {
    transform: rotate(180deg);
}

/* 매니저 상세 혜택 섹션 */

.manager-detail-section {
    margin-top: 2rem;
}

.manager-benefits-grid {
    animation: slideDown 0.5s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 모바일 전용 반응형 매니저 미리보기 */

@media (max-width: 768px) {
    .manager-preview-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .preview-title {
        font-size: 2rem;
    }
    .manager-preview-card {
        padding: 1.5rem;
    }
    .preview-avatar .avatar-slider {
        width: 120px;
        height: 160px;
    }
    .preview-name {
        font-size: 1.3rem;
    }
    .preview-buttons {
        gap: 0.8rem;
    }
    .preview-entry-btn,
    .preview-benefit-btn {
        font-size: 0.9rem;
        padding: 0.8rem 1.2rem;
    }
    /* 모바일에서 비디오 최적화 */
    .background-video {
        object-fit: cover;
        object-position: center;
        width: 100vw;
        height: 100vh;
        opacity: 1;
    }
    .video-overlay {
        background: linear-gradient(135deg, rgba(102, 126, 234, 0.8) 0%, rgba(118, 75, 162, 0.8) 50%, rgba(255, 107, 107, 0.7) 100%);
    }
}

@media (max-width: 480px) {
    .preview-title {
        font-size: 1.8rem;
    }
    .manager-preview-card {
        padding: 1rem;
    }
    .preview-avatar .avatar-slider {
        width: 100px;
        height: 130px;
    }
    /* 작은 모바일에서 비디오 최적화 */
    .background-video {
        object-fit: cover;
        object-position: center;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, -50%) scale(1.1);
    }
    .video-overlay {
        background: linear-gradient(135deg, rgba(102, 126, 234, 0.85) 0%, rgba(118, 75, 162, 0.85) 50%, rgba(255, 107, 107, 0.75) 100%);
    }
    .preview-name {
        font-size: 1.2rem;
    }
    .preview-entry-btn,
    .preview-benefit-btn {
        font-size: 0.8rem;
        padding: 0.7rem 1rem;
    }
}

/* 매우 작은 화면에서의 최적화 */

@media (max-width: 360px) {
    .background-video {
        object-fit: cover;
        object-position: center;
        /* 매우 작은 화면에서 비디오 크기 최적화 */
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, -50%) scale(1.2);
    }
    .video-overlay {
        background: linear-gradient(135deg, rgba(102, 126, 234, 0.9) 0%, rgba(118, 75, 162, 0.9) 50%, rgba(255, 107, 107, 0.8) 100%);
    }
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-subtitle {
        font-size: 1.1rem;
    }
}

/* 큰 화면에서의 최적화 */

@media (min-width: 1920px) {
    .background-video {
        object-fit: cover;
        object-position: center;
        /* 4K 및 큰 화면에서 비디오 크기 최적화 */
        width: 100vw;
        height: 100vh;
    }
    .video-overlay {
        background: linear-gradient(135deg, rgba(102, 126, 234, 0.6) 0%, rgba(118, 75, 162, 0.6) 50%, rgba(255, 107, 107, 0.5) 100%);
    }
}

/* 세로 화면(모바일 세로 모드) 최적화 */

@media (max-width: 768px) and (orientation: portrait) {
    .background-video {
        object-fit: cover;
        object-position: center;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, -50%) scale(1.15);
    }
    .video-overlay {
        background: linear-gradient(135deg, rgba(102, 126, 234, 0.8) 0%, rgba(118, 75, 162, 0.8) 50%, rgba(255, 107, 107, 0.7) 100%);
    }
}

/* 가로 화면(태블릿 가로 모드) 최적화 */

@media (min-width: 769px) and (orientation: landscape) {
    .background-video {
        object-fit: cover;
        object-position: center;
        width: 100vw;
        height: 100vh;
    }
    .video-overlay {
        background: linear-gradient(135deg, rgba(102, 126, 234, 0.7) 0%, rgba(118, 75, 162, 0.7) 50%, rgba(255, 107, 107, 0.6) 100%);
    }
}

/* 매니저 이미지 갤러리 스타일 */

.manager-gallery-section {
    margin: 2rem 0;
    padding: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    /* 통일된 크기 설정 */
    width: 100%;
    min-height: 700px;
    max-height: 700px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.gallery-title {
    color: #000000;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(255, 255, 255, 0.5);
    /* 고정 높이 */
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

/* 이미지 슬라이더 스타일 */

.image-slider {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    /* 통일된 높이 */
    height: 320px;
    flex: 1;
}

.slider-container {
    width: 100%;
    overflow: hidden;
    pointer-events: auto;
}

.slider-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 400%;
    /* 4개 이미지 */
}

.slide {
    width: 25%;
    /* 100% / 4개 이미지 */
    flex-shrink: 0;
}

.gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.3s ease;
    border-radius: 15px;
    pointer-events: auto;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.gallery-image:hover {
    transform: scale(1.05);
}

/* 슬라이더 버튼 */

.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.9);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #ffffff;
    transition: all 0.3s ease;
    z-index: 10;
}

.slider-btn:hover {
    background: rgba(0, 0, 0, 1);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}

/* 슬라이더 점 */

.slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 0.5rem;
    /* 고정 높이 */
    height: 20px;
    align-items: center;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active {
    background: #000000;
    transform: scale(1.2);
}

/* 이미지 확대 모달 */

.image-modal {
    display: none;
    position: fixed;
    z-index: 999999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(10px);
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: auto;
}

.image-modal.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
}

/* 강제 모달 표시 (디버깅용) */

.image-modal[style*="display: block"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
}

/* 모달 강제 표시 (인라인 스타일) */

.image-modal[style*="display: block !important"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(0, 0, 0, 0.9) !important;
    backdrop-filter: blur(10px) !important;
}

/* 모달 내용 강제 표시 */

.image-modal[style*="display: block !important"] .modal-content {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1000000 !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 모달 이미지 강제 표시 */

.image-modal[style*="display: block !important"] .modal-image {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1000001 !important;
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
}

/* 카지노 팝업 배너 */

.casino-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 100000;
    backdrop-filter: blur(5px);
}

.popup-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
    color: #ffffff;
}

.popup-close {
    position: absolute;
    top: 15px;
    right: 20px;
    color: #ffffff;
    font-size: 2rem;
    cursor: pointer;
    z-index: 100001;
    transition: all 0.3s ease;
}

.popup-close:hover {
    color: #ff6b9d;
    transform: scale(1.1);
}

/* 팝업 헤더 스타일 */

.popup-header {
    text-align: center;
    margin-bottom: 25px;
}

.popup-header h3 {
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.popup-header p {
    color: #ffffff;
    font-size: 1.1rem;
    line-height: 1.5;
    opacity: 0.9;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.popup-banners {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.popup-banner {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.popup-banner:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(255, 107, 157, 0.3);
}

.popup-image {
    width: 100%;
    height: auto;
    display: block;
    transition: all 0.3s ease;
    object-fit: cover;
    border-radius: 10px;
}

.popup-banner:hover .popup-image {
    transform: scale(1.05);
}

.popup-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    color: #ffffff;
    padding: 20px;
    transform: translateY(100%);
    transition: all 0.3s ease;
}

.popup-banner:hover .popup-overlay {
    transform: translateY(0);
}

.popup-overlay h3 {
    margin: 0 0 5px 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #ff6b9d;
}

.popup-overlay p {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.9;
}

/* PC용 팝업 배너 크기 */

@media (min-width: 769px) {
    .popup-content {
        width: 600px;
        max-width: 600px;
    }
    .popup-banners {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    .popup-image {
        width: 100%;
        height: 450px;
        object-fit: cover;
        border-radius: 15px;
    }
}

/* 모바일용 팝업 배너 크기 */

@media (max-width: 768px) {
    .popup-content {
        width: 95%;
        padding: 20px;
    }
    .popup-banners {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .popup-image {
        width: 100px;
        height: 150px;
        object-fit: cover;
    }
    .popup-overlay {
        padding: 10px;
    }
    .popup-overlay h3 {
        font-size: 0.9rem;
    }
    .popup-overlay p {
        font-size: 0.7rem;
    }
}

/* 카지노 팝업 버튼 */

.casino-popup-btn {
    background: linear-gradient(135deg, #ff6b9d 0%, #c44569 100%);
    color: #ffffff;
    border: none;
    padding: 15px 30px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(255, 107, 157, 0.3);
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.casino-popup-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(255, 107, 157, 0.4);
    background: linear-gradient(135deg, #ff8fab 0%, #d63384 100%);
}

.casino-popup-btn:active {
    transform: translateY(-1px);
}

.casino-popup-btn i {
    font-size: 1.2rem;
}

/* 모바일용 카지노 팝업 버튼 */

@media (max-width: 768px) {
    .casino-popup-btn {
        padding: 12px 25px;
        font-size: 1rem;
        margin-top: 15px;
    }
    .casino-popup-btn i {
        font-size: 1.1rem;
    }
}

/* 팝업 버튼 스타일 */

.popup-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.popup-buttons .btn {
    padding: 12px 25px;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.popup-buttons .btn-primary {
    background: linear-gradient(135deg, #ff6b9d 0%, #c44569 100%);
    color: #ffffff;
    box-shadow: 0 8px 25px rgba(255, 107, 157, 0.3);
}

.popup-buttons .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(255, 107, 157, 0.4);
    background: linear-gradient(135deg, #ff8fab 0%, #d63384 100%);
    color: #000000;
}

.popup-buttons .btn-secondary {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
    color: #ffffff;
    box-shadow: 0 8px 25px rgba(108, 117, 125, 0.3);
}

.popup-buttons .btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(108, 117, 125, 0.4);
    background: linear-gradient(135deg, #868e96 0%, #6c757d 100%);
    color: #000000;
}

/* 모바일용 팝업 버튼 */

@media (max-width: 768px) {
    .popup-buttons {
        flex-direction: column;
        gap: 10px;
    }
    .popup-buttons .btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    .popup-header h3 {
        font-size: 1.5rem;
    }
    .popup-header p {
        font-size: 1rem;
    }
}

.modal-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    z-index: 100000;
    opacity: 1;
    visibility: visible;
}

.modal-image {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: scale(1);
    transition: transform 0.3s ease;
    pointer-events: auto;
    z-index: 100001;
    opacity: 1;
    visibility: visible;
    display: block;
}

.modal-image.loaded {
    transform: scale(1);
}

.close-modal {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 3rem;
    font-weight: bold;
    cursor: pointer;
    z-index: 100000;
    transition: all 0.3s ease;
    user-select: none;
}

.close-modal:hover {
    color: #ff6b9d;
    transform: scale(1.1);
}

/* 모달 네비게이션 */

.modal-navigation {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    pointer-events: none;
}

.modal-nav-btn {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
    transition: all 0.3s ease;
    pointer-events: auto;
    backdrop-filter: blur(10px);
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.modal-nav-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.modal-dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

.modal-dots .dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.modal-dots .dot.active {
    background: #ff6b9d;
    transform: scale(1.2);
}

/* 반응형 모달 */

@media (max-width: 768px) {
    .modal-image {
        max-width: 95%;
        max-height: 80%;
    }
    .close-modal {
        top: 10px;
        right: 20px;
        font-size: 2.5rem;
    }
    .modal-nav-btn {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    .modal-dots {
        bottom: 20px;
    }
    .modal-dots .dot {
        width: 12px;
        height: 12px;
    }
}

/* 자동 슬라이드 애니메이션 */

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.slide {
    animation: slideIn 0.5s ease-out;
}

/* 로딩 애니메이션 */

.gallery-image {
    position: relative;
}

.gallery-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transform: translateX(-100%);
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

.gallery-image.loaded::before {
    display: none;
}

/* 카지노 배너 섹션 스타일 */

.casino-banners {
    margin-top: 3rem;
    padding: 0;
    width: 100%;
    max-width: 100%;
}

.banner-title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* 카지노 배너 그리드 - 2행 3열 */

.banner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 반응형 - 태블릿 */

@media (max-width: 1024px) {
    .banner-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }
    .banner-image-container {
        width: 300px;
        height: 300px;
    }
}

/* 반응형 - 모바일 300x300 사이즈 */

@media (max-width: 768px) {
    .jewang-top-banner {
        max-width: 300px;
        margin: 0 auto 1rem;
    }
    .jewang-top-banner .banner-image-container {
        width: 300px;
        height: 300px;
        overflow: hidden;
        border-radius: 0;
    }
    .jewang-top-banner .banner-image {
        width: 300px;
        height: 300px;
        object-fit: cover;
        object-position: center;
    }
    /* 모바일에서 데스크톱 이미지 숨김 */
    .jewang-top-banner .desktop-image {
        display: none !important;
    }
    .jewang-top-banner .mobile-image {
        display: block !important;
    }
    .banner-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 15px;
        padding: 0 15px;
        margin-bottom: 2rem;
    }
    .banner-image-container {
        width: 100%;
        height: 200px;
        margin: 0 auto;
    }
    /* 모바일에서 전체 배너 테두리 두께 조정 */
    .casino-banner-wide {
        border-width: 2px;
    }
    /* 모바일에서 카지노 섹션 여백 조정 */
    .casino-section {
        padding-bottom: 3rem;
        overflow: visible;
    }
    .casino-banners {
        margin-bottom: 2rem;
    }
}

/* 배너 이미지 최적화 */

.banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

/* 카지노 배너 섹션 */

.casino-banners {
    width: 100%;
    margin-top: 2rem;
}

/* 1200x160 카지노 배너 그리드 섹션 */

.casino-banners-wide {
    width: 100%;
    margin-top: 3rem;
    margin-bottom: 2rem;
    /* padding-bottom: 2rem;*/
}

.banner-grid-wide {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.casino-banner-wide {
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    margin-bottom: 1rem;
}

.banner-image-container-wide {
    width: 100%;
    height: 160px;
    overflow: hidden;
    border-radius: 15px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-image-wide {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

.banner-link-wide {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* 호버 효과 */

.casino-banner-wide:hover {
    transform: translateY(-5px);
}

.casino-banner-wide:hover .banner-image-wide {
    transform: scale(1.05);
}

/* PC에서 모바일 이미지 숨김 */

@media (min-width: 769px) {
    .casino-banner-wide .mobile-image {
        display: none !important;
    }
    .casino-banner-wide .desktop-image {
        display: block !important;
    }
    /* PC에서 가왕카지노 배너 표시 - 1200x160 크기 */
    .gawang-casino-banner {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: auto !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        border: 3px solid transparent !important;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: 160px !important;
        max-width: 1200px !important;
        margin: 0 auto;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
    /* PC에서 제왕카지노 배너 표시 - 1200x160 크기 */
    .jewang-casino-banner {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: auto !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        border: 3px solid #000000 !important;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important;
        border-radius: 15px !important;
        background: linear-gradient(45deg, rgba(0, 0, 0, 0.05), rgba(100, 100, 100, 0.05)) !important;
        position: relative !important;
    }
    /* 제왕카지노 배너 그리드 패턴 추가 */
    .jewang-casino-banner::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: linear-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.1) 1px, transparent 1px);
        background-size: 20px 20px;
        border-radius: 15px;
        pointer-events: none;
        z-index: 1;
    }
    .jewang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: 160px !important;
        max-width: 1200px !important;
        margin: 0 auto;
        border-radius: 15px !important;
        position: relative !important;
        z-index: 2 !important;
    }
    .jewang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
}

/* 모바일에서 해상도별 자동 조절 배너 반응형 처리 */

@media (max-width: 768px) {
    .casino-banners-wide {
        margin-top: 2rem;
        margin-bottom: 3rem;
        padding-bottom: 2rem;
        width: 100%;
        max-width: 100%;
    }
    .banner-grid-wide {
        gap: 1.5rem;
        padding: 0 15px;
        width: 100%;
        max-width: 100%;
    }
    /* 모든 배너를 화면 너비에 맞게 자동 조절 */
    .casino-banner-wide {
        width: calc(100vw - 30px) !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 1rem !important;
        border: 2px solid transparent !important;
        border-radius: 15px !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    /* 모바일에서 제왕카지노 배너 강조 표시 */
    .jewang-casino-banner {
        border: 3px solid #000000 !important;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important;
        background: linear-gradient(45deg, rgba(0, 0, 0, 0.05), rgba(100, 100, 100, 0.05)) !important;
        position: relative !important;
    }
    /* 모바일 제왕카지노 배너 그리드 패턴 추가 */
    .jewang-casino-banner::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: linear-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.1) 1px, transparent 1px);
        background-size: 15px 15px;
        border-radius: 15px;
        pointer-events: none;
        z-index: 1;
    }
    .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: hidden;
        position: relative !important;
        z-index: 2 !important;
    }
    .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    /* 모바일에서 데스크톱 이미지 완전히 숨김 */
    .casino-banner-wide .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        position: absolute !important;
        left: -9999px !important;
    }
    /* 모바일에서 모바일 이미지 강제 표시 */
    .casino-banner-wide .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: 100% !important;
        position: static !important;
        left: auto !important;
    }
    /* 모바일에서 가왕카지노 배너 표시 - 자동 크기 조절 */
    .gawang-casino-banner {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: calc(100vw - 30px) !important;
        max-width: 400px !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 1rem !important;
        border: 2px solid #FFD700 !important;
        box-shadow: 0 0 15px rgba(255, 215, 0, 0.3) !important;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
}

/* 작은 모바일에서 해상도별 자동 조절 배너 반응형 처리 */

@media (max-width: 480px) {
    .casino-banners-wide {
        margin-top: 1.5rem;
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
        width: 100%;
        max-width: 100%;
    }
    .banner-grid-wide {
        gap: 1rem;
        padding: 0 10px;
        width: 100%;
        max-width: 100%;
    }
    /* 작은 모바일에서 배너 크기 자동 조절 */
    .casino-banner-wide {
        width: calc(100vw - 20px) !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 1rem !important;
        border: 2px solid transparent !important;
        border-radius: 15px !important;
    }
    .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
        overflow: hidden;
    }
    .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
    /* 작은 모바일에서 데스크톱 이미지 완전히 숨김 */
    .casino-banner-wide .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        position: absolute !important;
        left: -9999px !important;
    }
    /* 작은 모바일에서 모바일 이미지 강제 표시 */
    .casino-banner-wide .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: 100% !important;
        position: static !important;
        left: auto !important;
    }
    /* 작은 모바일에서 가왕카지노 배너 자동 조절 */
    .gawang-casino-banner {
        width: calc(100vw - 20px) !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 1rem !important;
        border: 2px solid transparent !important;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
}

/* 배너 기본 스타일 */

.casino-banner {
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
}

.banner-image-container {
    width: 300px;
    height: 300px;
    overflow: hidden;
    border-radius: 15px;
    margin: 0 auto;
}

.banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

/* 전체 배너에 투명 테두리 추가 */

.casino-banner-wide {
    border: 3px solid transparent;
}

/* 배너 순서 지정 */

.ain-casino-banner {
    order: 1;
}

.daewang-casino-banner {
    order: 2;
}

.private-casino-banner {
    order: 3;
}

.gawang-casino-banner {
    order: 4;
}

.seonwang-casino-banner {
    order: 5;
}

.mawang-casino-banner {
    order: 6;
}

/* 호버 효과 */

.casino-banner:hover {
    transform: translateY(-5px);
}

.casino-banner:hover .banner-image {
    transform: scale(1.05);
}

.banner-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.banner-image-container {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    border-radius: 12px;
}

.feature-item span {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 500;
}

.banner-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.go-button {
    background: linear-gradient(45deg, #ff0000, #ff4444);
    color: #fff;
    text-decoration: none;
    padding: 0.8rem 2rem;
    border-radius: 25px;
    font-weight: 700;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
    border: 2px solid #fff;
}

.go-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s;
}

.go-button:hover::before {
    left: 100%;
}

.go-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 0, 0, 0.4);
}

/* 매우 작은 모바일에서 해상도별 자동 조절 배너 반응형 처리 */

@media (max-width: 360px) {
    .manager-gallery-section
    {
        margin: 0px;
        padding: 0px;
        min-height: 450px;
        max-height: 450px;
    }
    .casino-banners-wide {
        margin-top: 1rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
        width: 100%;
        max-width: 100%;
    }
    .banner-grid-wide {
        gap: 0.8rem;
        padding: 0 8px;
        width: 100%;
        max-width: 100%;
    }
    /* 매우 작은 모바일에서 배너 크기 자동 조절 */
    .casino-banner-wide {
        width: calc(100vw - 16px) !important;
        /* max-width: 320px !important; */
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 0.8rem !important;
        border: 2px solid #FFD700 !important;
        box-shadow: 0 0 15px rgba(255, 215, 0, 0.3) !important;
        border-radius: 15px !important;
    }
    .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
        overflow: hidden;
    }
    .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
    /* 매우 작은 모바일에서 가왕카지노 배너 자동 조절 */
    .gawang-casino-banner {
        width: calc(100vw - 16px) !important;
        max-width: 320px !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 0.8rem !important;
        border: 2px solid #FFD700 !important;
        box-shadow: 0 0 15px rgba(255, 215, 0, 0.3) !important;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
}

/* 작은 모바일 반응형 - 자동 크기 조절 */

@media (max-width: 480px) {
    /* 제왕카지노 배너 - 자동 크기 조절 */
    .jewang-casino-banner {
        width: calc(100vw - 20px) !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto !important;
        border: 3px solid #FFD700 !important;
        box-shadow: 0 0 20px rgba(255, 215, 0, 0.5) !important;
        border-radius: 15px !important;
        background: linear-gradient(45deg, rgba(255, 215, 0, 0.1), rgba(255, 255, 0, 0.1)) !important;
    }
    .jewang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        overflow: hidden;
        border-radius: 15px !important;
        margin: 0 auto;
    }
    .jewang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
    .banner-grid {
        gap: 10px;
        padding: 0 10px;
        margin-bottom: 1.5rem;
    }
    /* 작은 모바일에서 가왕카지노 배너 자동 크기 조절 */
    .gawang-casino-banner {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: calc(100vw - 20px) !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto !important;
        border: 2px solid transparent !important;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
    .banner-image-container {
        width: 100%;
        height: 150px;
    }
    /* 작은 모바일에서 카지노 섹션 여백 조정 */
    .casino-section {
        padding-bottom: 2rem;
        overflow: visible;
    }
    .casino-banners {
        margin-bottom: 1.5rem;
    }
}

.banner-grid {
    gap: 0;
    padding: 0;
    width: 100vw;
    max-width: 100vw;
}

/* 초대형 화면 반응형 - 완전히 빈공간없이 */

@media (min-width: 1400px) {
    .banner-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        padding: 0;
        width: 100vw;
        max-width: 100vw;
    }
    .banner-image-container {
        height: 280px;
        border-radius: 0;
    }
}

/* 가로 모드 모바일 최적화 - 완전히 빈공간없이 */

@media (max-width: 768px) and (orientation: landscape) {
    .banner-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
        padding: 0;
        width: 100vw;
        max-width: 100vw;
    }
    .banner-image-container {
        height: 250px;
        border-radius: 0;
    }
}

/* 데스크톱 이미지 표시, 모바일 이미지 숨김 */

.desktop-image {
    display: block;
}

.mobile-image {
    display: none;
}

/* PC 화면에서 모바일 배너 완전히 숨김 */

@media (min-width: 769px) {
    .mobile-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        width: 0 !important;
        height: 0 !important;
    }
    .desktop-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        width: 100% !important;
        height: 100% !important;
    }
}

.casino-banner {
    width: 100%;
    height: auto;
    min-height: 200px;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    border: 2px solid transparent;
    border-radius: 15px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.casino-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 215, 0, 0.1) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}

.casino-banner:hover::before {
    transform: translateX(100%);
}

.casino-banner:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.banner-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.casino-logo {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.logo-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.logo-text {
    display: flex;
    flex-direction: column;
}

.casino-name {
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.banner-offer {
    background: linear-gradient(135deg, #ff6b6b, #ee5a24);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    text-align: center;
}

.offer-text {
    font-size: 0.9rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.banner-features {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.8rem;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: #e0e0e0;
}

.feature-item i {
    color: #4CAF50;
    font-size: 1rem;
    min-width: 16px;
}

.feature-item span {
    line-height: 1.3;
}

.banner-footer {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

.go-button {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #1a1a2e;
    padding: 0.8rem 2rem;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    transition: all 0.3s ease;
    display: inline-block;
}

.go-button:hover {
    background: linear-gradient(135deg, #ffed4e, #ffd700);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 215, 0, 0.4);
    color: #1a1a2e;
    text-decoration: none;
}

.go-button span {
    font-weight: bold;
}

/* 반응형 디자인 */

@media (max-width: 768px) {
    .banner-grid {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
        width: 100%;
        max-width: 100%;
    }
    .casino-banner {
        width: 100%;
        height: 300px;
        margin: 0;
    }
    /* 태블릿에서 모바일 이미지 표시 */
    .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        width: 0 !important;
        height: 0 !important;
    }
    .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        width: 100% !important;
        height: 100% !important;
    }
    .casino-banner {
        width: 300px;
        height: 300px;
        margin: 0 auto 1.5rem auto;
    }
    .casino-banner {
        width: 280px;
        height: 280px;
        padding: 1.2rem;
    }
    .banner-title {
        font-size: 2rem;
        margin-bottom: 1.5rem;
    }
    .logo-icon {
        width: 45px;
        height: 45px;
        font-size: 1.8rem;
    }
    .casino-name {
        font-size: 1.1rem;
    }
    .offer-text {
        font-size: 0.8rem;
    }
    .feature-item {
        font-size: 0.8rem;
        gap: 0.5rem;
    }
    .go-button {
        padding: 0.7rem 1.8rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .banner-grid {
        display: flex;
        flex-direction: column;
        gap: 0;
        max-width: 100%;
        width: 100%;
        padding: 0;
    }
    .casino-banner {
        width: 100%;
        height: 300px;
        margin: 0;
    }
    .banner-title {
        font-size: 1.8rem;
    }
    .logo-icon {
        width: 40px;
        height: 40px;
        font-size: 1.5rem;
    }
    .casino-name {
        font-size: 1rem;
    }
    .feature-item {
        font-size: 0.75rem;
    }
    .go-button {
        padding: 0.6rem 1.5rem;
        font-size: 0.85rem;
    }
}

/* 아인카지노 배너 이미지 스타일 */

.ain-casino-banner {
    padding: 0;
    overflow: hidden;
    border: none;
    background: none;
}

.ain-casino-banner::before {
    display: none;
}

.ain-casino-banner:hover {
    transform: none;
    box-shadow: none;
    border-color: transparent;
}

.banner-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.banner-image-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 제왕카지노 상단 배너 - PC 1200x160 사이즈 */

.jewang-top-banner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 2rem;
    display: block;
}

.jewang-top-banner .banner-image-container {
    width: 100%;
    height: 160px;
    overflow: hidden;
    border-radius: 0;
    display: block;
}

.jewang-top-banner .banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

.jewang-top-banner:hover .banner-image {
    transform: none;
}

/* 제왕카지노와 가왕카지노 배너 - 동일한 섹션에서 동일한 스타일 적용 */

.jewang-casino-banner,
.gawang-casino-banner {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* 제왕카지노에만 노란색 그리드 표시 */

.jewang-casino-banner {
    /* border: 3px solid #FFD700 !important; */
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.3) !important;
    border-radius: 30px !important;
}

.jewang-casino-banner .banner-image-container-wide {
    width: 100% !important;
    height: 160px !important;
    max-width: 1200px !important;
    overflow: hidden;
    border-radius: 0;
    margin: 0 auto;
}

.jewang-casino-banner .banner-image-wide {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

/* PC에서 모바일 이미지 숨김 */

@media (min-width: 769px) {
    .jewang-top-banner .mobile-image {
        display: none !important;
    }
    .jewang-top-banner .desktop-image {
        display: block !important;
    }
}

/* 모바일에서 제왕카지노 배너 300x300 사이즈 강제 적용 */

@media (max-width: 768px) {
    .gallery-title {font-size: 15px;}
    .star-icon::before {font-size: 15px !important;}
    .btn-entry-inquiry {font-size: 15px !important;}
    .jewang-top-banner {
        width: 300px !important;
        max-width: 300px !important;
        margin: 0 auto 1rem;
    }
    .jewang-top-banner .banner-image-container {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        overflow: hidden;
        border-radius: 0;
    }
    .jewang-top-banner .banner-image {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        object-fit: cover;
        object-position: center;
    }
    /* 모바일에서 데스크톱 이미지 완전히 숨김 */
    .jewang-top-banner .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
    }
    /* 모바일에서 모바일 이미지 강제 표시 */
    .jewang-top-banner .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 300px !important;
        height: 300px !important;
    }
    /* 모바일에서 제왕카지노 배너 - 다른 배너들과 동일한 크기 비율 적용 */
    .jewang-casino-banner {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        margin: 0 auto !important;
        border: 2px solid #FFD700 !important;
        box-shadow: 0 0 15px rgba(255, 215, 0, 0.3) !important;
        border-radius: 15px !important;
    }
    .jewang-casino-banner .banner-image-container-wide {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        overflow: hidden;
        border-radius: 15px !important;
        margin: 0 auto;
    }
    .jewang-casino-banner .banner-image-wide {
        width: 300px !important;
        height: 300px !important;
        max-width: 300px !important;
        max-height: 300px !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
}

.jewang-top-banner .banner-image-container {
    width: 100%;
    height: 160px;
    overflow: hidden;
    border-radius: 0;
    display: block;
}

.jewang-top-banner .banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

.jewang-top-banner:hover .banner-image {
    transform: none;
}

/* 카지노 배너 호버 효과 통합 */

.casino-banner:hover .banner-image {
    transform: scale(1.05);
}

/* 프라이빗카지노 배너 이미지 스타일 */

.private-casino-banner {
    padding: 0;
    overflow: hidden;
    border: none;
    background: none;
}

.private-casino-banner::before {
    display: none;
}

.private-casino-banner:hover {
    transform: none;
    box-shadow: none;
    border-color: transparent;
}

.private-casino-banner:hover .banner-image {
    transform: scale(1.05);
}

/* 문의 섹션 스타일 */

.contact-section {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    padding: 4rem 0;
    position: relative;
}

.contact-header {
    text-align: center;
    margin-bottom: 3rem;
}

.contact-title {
    font-size: 3rem;
    font-weight: 900;
    color: #3375fb;
    margin-bottom: 1rem;
}

.contact-subtitle {
    font-size: 1.2rem;
    color: #3375fb;
    margin-bottom: 0;
}

.contact-content {
    position: relative;
}

.contact-managers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.contact-manager-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    margin: 0px 40px;
    justify-content: space-evenly;
}

.contact-manager-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.manager-contact-image {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 1rem;
    border: 3px solid #f0f0f0;
}

.contact-manager-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.manager-contact-info {
    /* flex: 1; */
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.manager-contact-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333333;
    margin-bottom: 0.5rem;
}

.contact-hours {
    margin-bottom: 1rem;
}

.hours-text {
    color: #666666;
    font-weight: 600;
    font-size: 0.9rem;
}

.contact-button-container {
    width: 100%;
    display: flex;
    /* justify-content: center; */
}

.btn-telegram-inquiry {
    /* background: linear-gradient(135deg, #000000, #333333); */
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    padding: 0rem;
    border-radius: 25px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    cursor: pointer;
}

.btn-telegram-inquiry:hover {
    transform: translateY(-2px);
    color: #ffffff;
    text-decoration: none;
}

.btn-telegram-inquiry i {
    font-size: 1.1rem;
}

.btn-kakao-inquiry {
    background: linear-gradient(135deg, #FEE500, #FFEB3B);
    color: #3c1e1e;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    cursor: pointer;
    margin-top: 0.5rem;
}

.btn-kakao-inquiry:hover {
    transform: translateY(-2px);
    color: #3c1e1e;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(254, 229, 0, 0.3);
}

.btn-kakao-inquiry i {
    font-size: 1.1rem;
}

.contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.contact-item {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
}

.contact-item:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 20, 147, 0.5);
    box-shadow: 0 10px 30px rgba(255, 20, 147, 0.2);
}

.contact-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #ff69b4, #9370db);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2rem;
    color: #ffffff;
    box-shadow: 0 5px 15px rgba(255, 105, 180, 0.3);
}

.contact-details h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffff00;
    margin-bottom: 0.5rem;
}

.contact-details p {
    color: #ffff00;
    margin-bottom: 1rem;
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, #ff69b4, #9370db);
    color: #ffffff;
    padding: 0.8rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.contact-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 105, 180, 0.4);
    color: #ffffff;
    text-decoration: none;
}

.contact-time,
.contact-security {
    display: inline-block;
    background: rgba(255, 105, 180, 0.2);
    color: #ff69b4;
    padding: 0.5rem 1rem;
    border-radius: 15px;
    font-weight: 600;
    font-size: 0.9rem;
}

.contact-cta {
    text-align: center;
}

.btn-contact {
    background: linear-gradient(135deg, #ff69b4, #9370db);
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 1.2rem 3rem;
    border-radius: 50px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 10px 25px rgba(255, 105, 180, 0.4);
    transition: all 0.3s ease;
}

/* 문의 섹션 - 갤러리 레이아웃 (원본 크기 이미지) */

.contact-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    align-items: start;
    justify-content: center;
    margin-bottom: 2rem;
}

.schedule-section {
    padding: 6rem 0 2rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
}

.schedule-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}

.schedule-card {
    background: #f5f5f5;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.schedule-card:hover {
    transform: translateY(-5px);
    background: #ffffff;
    border-color: #d0d0d0;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.schedule-avatar img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 12px;
}

.schedule-info {
    display: flex;
    flex-direction: column;
    /* 세로 배치로 전환 */
    justify-content: flex-start;
    align-items: center;
    /* 중앙 정렬 */
    gap: 0.4rem;
    /* 요소 간격 */
    width: 100%;
    text-align: center;
}

.schedule-info .manager-name {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

/* 이름은 좌측 정렬 유지 */

.schedule-info .manager-name {
    width: 100%;
    text-align: left;
}

.work-hours .label {
    display: inline-block;
    padding: 0.3rem 0.6rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.3);
    color: #ffffff;
    font-weight: 700;
    margin-right: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.work-hours .time {
    color: #ffffff;
    font-weight: 800;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

/* 시간 블록을 이미지 아래 중앙에 고정 배치 */

.work-hours {
    width: 100%;
    text-align: center;
    display: block;
    margin: 0.5rem auto 0;
}

.schedule-contact {
    align-self: center;
    /* 중앙 정렬 */
    background: linear-gradient(135deg, #ff69b4, #9370db);
    color: #fff;
    padding: 0.8rem 1.2rem;
    border-radius: 10px;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    /* 내부 콘텐츠 중앙 */
    gap: 0.5rem;
    align-items: center;
    margin: 0 auto;
    /* 가로 중앙 배치 */
    width: fit-content;
    /* 내용 크기만큼 */
    box-shadow: 0 8px 20px rgba(255, 105, 180, 0.25);
}

/* 텔레그램 버튼을 이미지 바로 아래로 이동 */

.schedule-contact {
    order: 3;
    margin-top: 0.5rem;
}

.schedule-info {
    order: 2;
}

.schedule-contact:hover {
    transform: translateY(-2px);
}

.contact-gallery-item {
    display: block;
}

.contact-photo {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}

.btn-contact:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(255, 105, 180, 0.5);
    color: #000000;
    text-decoration: none;
}

/* 문의하기 섹션 텍스트 컬러 통일(가독성 개선) */

.contact-section .contact-title,
.contact-section .contact-subtitle,
.contact-section .contact-details h3,
.contact-section .contact-details p,
.contact-section .contact-time,
.contact-section .contact-security,
.contact-section .schedule-info .manager-name,
.contact-section .work-hours .time,
.contact-section .work-hours .label {
    color: #3375fb !important;
}

/* 문의 섹션 반응형 디자인 */

@media (max-width: 768px) {
    .contact-managers {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 0 1rem;
    }
    .contact-manager-card {
        padding: 1rem;
    }
    .manager-contact-image {
        width: 100px;
        height: 100px;
    }
    .manager-contact-name {
        font-size: 1.3rem;
    }
    .hours-text {
        font-size: 0.8rem;
    }
    .btn-telegram-inquiry {
        font-size: 0.9rem;
        padding: 0.7rem 1.2rem;
    }
    .btn-kakao-inquiry {
        font-size: 0.9rem;
        padding: 0.7rem 1.2rem;
    }
    .contact-title {
        font-size: 2.5rem;
    }
    .contact-subtitle {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .contact-managers {
        gap: 1rem;
        padding: 0 0.5rem;
    }
    .contact-manager-card {
        margin: 0px;
        padding: 0.8rem;
        flex-direction: column;
    }
    .manager-contact-image {
        width: 80px;
        height: 80px;
    }
    .manager-contact-name {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
    }
    .manager-contact-info {
        align-items: center;
    }
    .hours-text {
        font-size: 0.7rem;
    }
    .btn-telegram-inquiry {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
    }
    .btn-kakao-inquiry {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
    }
    .contact-title {
        font-size: 2rem;
    }
    .contact-subtitle {
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    .contact-title {
        font-size: 2.5rem;
    }
    .contact-info {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .contact-item {
        padding: 1.5rem;
    }
    .contact-icon {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    .btn-contact {
        font-size: 1rem;
        padding: 1rem 2rem;
    }
}

/* 제왕카지노 배너 특별 스타일 */

.jewang-casino-banner {
    /* border: 4px solid #FFD600; */
    /* 노란색 테두리 */
    box-sizing: border-box;
    border-radius: 12px;
    /* 선택사항: 둥근 테두리 */
}

/* 카지노 배너 섹션 스타일 - PC용과 모바일용 분리 */

/* PC용 1200x160 카지노 배너 섹션 - 이미지 배너 */

.casino-banners-desktop {
    width: 100%;
    margin-top: 0;
    /* 위 여백 제거 */
    margin-bottom: 0;
    /* 아래 여백 제거 */
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
}

.banner-grid-desktop {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    /* 카드 간격 축소 */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    /* 좌우 패딩 제거로 빈칸 제거 */
}

.casino-banner-desktop {
    width: 100%;
    height: 160px;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
}

.banner-link-desktop {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.banner-image-container-desktop {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-image-desktop {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
    border-radius: 8px;
}

/* 호버 효과 */

.casino-banner-desktop:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.casino-banner-desktop:hover .banner-image-desktop {
    transform: scale(1.02);
}

/* 제왕카지노 배너 특별 스타일 */

.jewang-casino-banner {
    border: none !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

/* 모바일용 300x300 카지노 배너 섹션 */

.casino-banners-mobile {
    width: 100%;
    margin-top: 3rem;
    margin-bottom: 4rem;
    padding-bottom: 2rem;
    display: none;
}

.banner-grid-mobile {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.casino-banner-mobile {
    width: calc(100vw - 30px);
    max-width: 300px;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    margin: 0 auto 1rem;
    border: 2px solid transparent;
}

.banner-image-container-mobile {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 15px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
}

.banner-image-mobile {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
    border-radius: 15px;
    aspect-ratio: 1/1;
}

.banner-link-mobile {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* 호버 효과 */

.casino-banner-mobile:hover {
    transform: translateY(-5px);
}

.casino-banner-mobile:hover .banner-image-mobile {
    transform: scale(1.05);
}

/* 반응형 디자인 - PC와 모바일 전환 */

@media (min-width: 769px) {
    /* PC에서는 1200x160 배너만 노출 */
    .casino-banners-desktop {
        display: block !important;
    }
    /* PC에서는 300x300 모바일 배너 완전 숨김 */
    .casino-banners-mobile {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    .casino-banners-mobile * {
        display: none !important;
        visibility: hidden !important;
    }
}

@media (max-width: 768px) {
    /* 모바일에서 섹션 전체 빈칸 제거 및 내부 여백 최소화 */
    .casino-section {
        padding: 1rem 0 1rem;
    }
    .casino-header {
        margin-bottom: 0.5rem;
        padding: 0 12px;
    }
    .casino-banners-desktop {
        display: none;
    }
    .casino-banners-mobile {
        display: block;
        margin-top: 0;
        margin-bottom: 1rem;
        padding-bottom: 0;
        width: 100vw;
        max-width: 100vw;
    }
    .banner-grid-mobile {
        gap: 12px;
        padding: 0 12px;
        /* 좌우 여백 축소로 빈칸 최소화 */
    }
    .casino-banner-mobile {
        width: calc(100vw - 30px);
        max-width: 300px;
        height: auto;
        aspect-ratio: 1/1;
        margin: 0 auto 1rem;
    }
}

/* 작은 모바일 화면 */

@media (max-width: 480px) {
    .casino-banners-mobile {
        margin-top: 2rem;
        margin-bottom: 3rem;
    }
    .banner-grid-mobile {
        gap: 1rem;
        padding: 0 10px;
    }
    .casino-banner-mobile {
        width: calc(100vw - 20px);
        max-width: 300px;
        height: auto;
        aspect-ratio: 1/1;
        margin: 0 auto 1rem;
    }
}

/* 매우 작은 모바일 화면 */

@media (max-width: 360px) {
    .casino-banners-mobile {
        margin-top: 1rem;
        margin-bottom: 2rem;
    }
    .banner-grid-mobile {
        gap: 0.8rem;
        padding: 0 8px;
    }
    .casino-banner-mobile {
        width: calc(100vw - 16px);
        max-width: 300px;
        height: auto;
        aspect-ratio: 1/1;
        margin: 0 auto 0.8rem;
    }
}

/* 모바일 자동 반응형 영상 배너(카지노 섹션) - 반응형 크기 */

@media (max-width: 480px) {
    .casino-section {
        width: 100vw !important;
        height: auto !important;
        min-width: 100vw !important;
        min-height: auto !important;
        max-width: 100vw !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    .casino-video-bg {
        width: 100vw !important;
        height: auto !important;
        min-width: 100vw !important;
        min-height: auto !important;
        max-width: 100vw !important;
        max-height: none !important;
    }
    .casino-video-bg video {
        width: 100vw !important;
        height: auto !important;
        min-width: 100vw !important;
        min-height: auto !important;
        max-width: 100vw !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center !important;
    }
    .casino-content {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 15px !important;
    }
}

/* 가왕카지노 모바일 배너 - 화면에 맞게 자동 크기 조절 */

@media (max-width: 768px) {
    .gawang-casino-banner {
        width: calc(100vw - 30px) !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        margin: 0 auto 1rem !important;
        border: 2px solid transparent !important;
        border-radius: 15px !important;
    }
    .gawang-casino-banner .banner-image-container-wide {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        overflow: hidden;
        border-radius: 15px !important;
        margin: 0 auto !important;
    }
    .gawang-casino-banner .banner-image-wide {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        border-radius: 15px !important;
    }
    /* 모바일에서 데스크톱 이미지 숨김, 모바일 이미지 표시 */
    .gawang-casino-banner .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        width: 0 !important;
        height: 0 !important;
    }
    .gawang-casino-banner .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        width: 100% !important;
        height: 100% !important;
    }


}

.star-icon::before {
    content: '★';
    font-size: 1.8rem;
    color: rgb(255 214 0);
    font-weight: bold;
    padding-right: 10px;
}