@charset "utf-8";

/****************************************************************************************************************************************
W09(=type10.startapi.net) main.css — 원본 css/main.css 이식.

원본 메인(main/main.php) 구성: main-hero(배너 3장 + 캡션 + 움직이는 장식) / main-game(게임 카드 3장)
  / latest-news(최신 게임 출시 탭) / main-slot(인기 슬롯 게임 캐러셀) / main-border(공지·실시간 입금·실시간 출금).

🔴 뺀 것:
   · before-intro(main/index.php — 동영상 6.7MB 위 "Welcome to DEMO-I" + GO TO HOME). 로그인 전 첫 화면은
     공용 로그인 팝업이 맡는다(같은 동영상의 정지 화면 + 로고, shared-bridge.css 로그인 블록).
   · latest-news — "Money Train 4 / release 2023-12-20" 같은 **지어낸 출시 소식** 5건(이미지 1.1MB). 대응 데이터가 없다.
🔴 바꾼 것:
   · 슬라이더 slick → Swiper(공용 lib, 이미 로드). 원본 slick 화살표·점 규칙은 같은 모양으로 .w09-nav/.swiper-pagination 에.
   · main-slot 카드 = 원본은 게임 10개(이름·게임사 하드코딩, m-slot-9.png 1.6MB 등) → 관리자에서 켠 **실제 슬롯 게임사**
     (MainVendorCatalog/W09). 카드 구도(.main-item · .item-con · .item-txt)는 원본 그대로.
   · 실시간 칸 — 원본 b 태그(보라 금액) 대신 금액 칸 전체를 보라로(공용 live-ticker.js 가 금액을 한 칸으로 만든다).
*****************************************************************************************************************************************/

/****************************************************************************************************************************************
메인페이지 시작
*****************************************************************************************************************************************/
/* Main hero */
.main-hero,
.main-hero .slide {position: relative; height: 505px;}
.main-hero {overflow: hidden;}
.main-hero .slide_img {position: relative; top: 50%; left: 0; right:0; height:100%; transform: translateY(-50%);}
.main-hero .slide_img > div {position: relative; width: 100%; height: 100%; background-position: center; background-size: cover; background-repeat: no-repeat;}

/* 업체 배너(slides.json) — 업체가 준 그림 비율 그대로(높이 고정 없음). 히어로는 LCP 라 lazy 를 걸지 않는다. */
.main-hero.is-brand,
.main-hero.is-brand .slide {height: auto;}
.main-hero.is-brand .slide img {display: block; width: 100%; height: auto;}

.caption {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; margin:0; padding:0 15px; width:1200px;}
.caption_inner > h4 {margin:0 auto 5px auto; font-size:70px; font-weight:700; color:#fff; text-shadow: 1px 1px 3px #000;}
.caption_inner > p {margin:0; font-size: 24px; font-weight:400; color:rgba(255,255,255,0.9); text-shadow: 1px 1px 3px #000;}
.caption_inner > .btn-play {margin:20px 0 0 0; padding:10px 20px; display:flex; justify-content: center; align-items: center; font-size:16px; font-weight: 500; color:#ae61fb; background:#030303; border: 1px #515151 solid; border-radius: 5px;}
.caption_inner > .btn-play > img {margin-right:5px; width: 24px; filter: invert(57%) sepia(96%) saturate(4907%) hue-rotate(248deg) brightness(92%) contrast(101%);}

.ani-img {position: absolute; z-index:1; animation: ani-img 1s ease infinite alternate;}
@keyframes ani-img {
    0% {transform: translateY(-3%);}
    100% {transform: translateY(3%);}
}

.csino-ani {top: 10px; left: 11%; }
.csino-ani > img {width: 200px;}

.slot-ani {right: 0; bottom: -26px;}
.slot-ani > img {width: 500px;}

.sport-ani {right: 20px; bottom: 0;}
.sport-ani > img {width: 300px;}

@media (hover: hover) and (pointer: fine) {
    .caption_inner > .btn-play:hover {color:#fff;}
    .caption_inner > .btn-play:hover > img {filter: brightness(0) invert(1);}
}

/* 히어로 화살표 — 원본 slick 화살표 자리(왼쪽 10px · 오른쪽 80px, 30px remixicon) */
.w09-hero-prev,
.w09-hero-next {position: absolute; top: 50%; z-index: 99; transform: translateY(-50%); padding: 0; font-size: 30px; line-height: 1; color: #fff; background: transparent; opacity: .75; cursor: pointer;}
.w09-hero-prev {left: 10px;}
.w09-hero-next {right: 80px;}
.w09-hero-prev:hover,
.w09-hero-next:hover {opacity: 1;}
.w09-hero-prev.swiper-button-disabled,
.w09-hero-next.swiper-button-disabled {opacity: .25; cursor: default;}

/* 점(모바일) — 원본 slick-dots 모양: 회색 점 · 현재는 흰 막대 */
.main-hero .swiper-pagination {display: none; bottom: 20px;}
.main-hero .swiper-pagination-bullet {margin: 0 4px; width: 6px; height: 6px; background: #ccc; opacity: 1; border-radius: 50%;}
.main-hero .swiper-pagination-bullet-active {width: 18px; background: #fff; border-radius: 25px;}

/****************************************************************************************************************************************
main-game 시작
*****************************************************************************************************************************************/
.main-game {position: relative; margin: 0 auto; padding:50px 0; width: 100%;}
ul.game-link {position: relative; margin:0 auto; padding:0; width: 100%; display: flex; gap:80px; justify-content: center; align-items: center;}
ul.game-link > li {position: relative; width: calc(100% / 3); transition: all 0.2s; cursor: pointer;}
ul.game-link > li > img {transition: all 0.25s ease-in-out 0.045s;}
ul.game-link > li > .game-tit {position: absolute; bottom: 0; z-index: 8; padding: 30px 0 15px 0; width: 100%; display: flex; align-items: center; justify-content: center; background:url('../img/main/tab-link-game-tit.webp') center center no-repeat; background-size: 100% 100%; transition: all 0.2s;}
ul.game-link > li > .game-tit > span {color: #7a4500;font-size: 24px; font-weight:600;}

/* 카지노전용(스포츠 OFF) 테넌트는 카드가 2장 — 원본 1장 폭(1/3)을 넘겨 커지지 않게 상한 */
ul.game-link > li {max-width: 430px;}

@media (hover: hover) and (pointer: fine) {
    ul.game-link > li:hover > img {transform: scale(1.145); filter: brightness(109%) drop-shadow(5px 5px 6px rgba(0,0,0,0.25)); animation: link-img 1s ease-in 0s infinite alternate;}
    ul.game-link > li:hover > .game-tit {transform: skew(14deg, -14deg); bottom: 20px; filter: brightness(115%) drop-shadow(5px 5px 6px rgba(0, 0, 0, 0.5));}
}


@keyframes link-img {
    0% { transform: translateY(0%);}
    100% { transform: translateY(5%);}
}

/****************************************************************************************************************************************
메인게임리스트 시작 — 실제 슬롯 게임사(MainVendorCatalog/W09)
*****************************************************************************************************************************************/
.main-slot {position:relative; margin:0 auto; padding:0 0 50px 0; width: 100%;}

.main-slot-hd {position: relative; display: flex; justify-content: space-between; align-items: center;}
.main-tit {padding:0; line-height: 40px; text-align:left; font-size:22px; font-weight: 700; color:#868686;}

/* 원본 slick 화살표(네모 테두리 · 오른쪽 위) */
.w09-list-nav {display: flex; gap: 10px;}
.w09-list-nav > button {width: 37px; height: 37px; display: flex; justify-content: center; align-items: center; font-size: 25px; color: #fff; background: transparent; border: 1px #fff solid; cursor: pointer;}
.w09-list-nav > button.swiper-button-disabled {opacity: .3; cursor: default;}

/* main-gameList */
.main-gameList {position: relative; width:100%; overflow: hidden;}
.main-item {position: relative; margin:30px 0; height: 250px; background: radial-gradient(circle at 60% 35%, #3a1d63 0%, #140a24 60%, #000 100%); border-radius: 10px; overflow: hidden; cursor: pointer;}
.main-item > img {display: block; margin: 0 auto; height: 100%; width: auto; max-width: none; object-fit: contain; transition:transform 0.7s ease-out; border-radius: 10px; overflow: hidden;}

.item-con {position: absolute; top: 0; left: 0; padding:0 20px; width: 100%; height: 145%; text-align: left; background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 40%, transparent 60%); transform: translateY(-10%); transition: transform .85s cubic-bezier(0.23,1,0.32,1);}
.item-txt {position:relative; transform: translateY(210px);}
.item-txt > p {margin-bottom:5px; opacity: 1; transform: translate(0px, 0px); font-size: 13px; color:#fff; visibility:hidden;}
.item-txt > h3 {opacity: 1; transform: translate(0px, 0px); font-size: 22px; color:#fff; visibility:hidden; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.item-txt > button {opacity: 0; transform: translate(0px, 0px); margin:20px 0 0 0; padding:10px 20px; visibility:hidden; display:flex; justify-content: center; align-items: center; font-size:16px; font-weight: 500; color:#ae61fb; background:#000; border: 1px #ae61fb solid; border-radius: 5px;}
.item-txt > button > img {margin-right:5px; width: 24px; filter: invert(57%) sepia(96%) saturate(4907%) hue-rotate(248deg) brightness(92%) contrast(101%);}

.item-txt > p {animation:fadeInUp 1s both 0.3s; visibility:visible;}
.item-txt > h3 {animation:fadeInUp 1s both 0.5s; visibility:visible;}
.item-txt > button {opacity: 0; animation:fadeInUp 1s both 0.5s; visibility:visible;}

/* 게임사 로고 — 원본 카드는 게임 그림 자체였다. 공용 아트에는 게임사 표시가 없어 로고를 위쪽에 얹는다. */
.main-item > .item-logo {position: absolute; top: 14px; left: 16px; z-index: 1; max-width: 45%; max-height: 34px; width: auto; height: auto; filter: drop-shadow(1px 1px 2px #000);}

.main-gameList .swiper-pagination {display: none; position: relative; bottom: auto; margin-top: -10px;}
.main-gameList .swiper-pagination-bullet {margin: 0 4px; width: 6px; height: 6px; background: #ccc; opacity: 1; border-radius: 50%;}
.main-gameList .swiper-pagination-bullet-active {width: 18px; background: #fff; border-radius: 25px;}


@media (hover: hover) and (pointer: fine) {
    .main-item:hover {box-shadow: 0 10px 35px rgba(0, 0, 0, 0.25);}
    .main-item:hover > img:not(.item-logo) {transform:scale(1.1)}
    .main-item:hover > .item-con {transform: translateY(-30%);}

    .main-item:hover > p  {transform: translateY(0, 210px);}
    .main-item:hover > h3 {transform: translateY(0, 210px);}
    .main-item:hover > button {opacity: 1; transform: translateY(0, 210px);}

    .item-txt > button:hover {color:#fff; background: #868686; border-color:#868686;}
    .item-txt > button:hover > img {filter: brightness(0) invert(1);}
}


/****************************************************************************************************************************************
main-border section
*****************************************************************************************************************************************/
.main-border {position: relative; margin:0 auto; padding:0 0 60px; width: 100%;}
.mainBo-inner {position: relative; margin:0 auto; padding:0 15px; width: 1430px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px;}
.board-group {position: relative;}
.board-hd {margin:0 auto; padding: 0 20px; width: 100%; display: flex; justify-content: space-between; align-items: center; line-height: 50px; text-align: left; font-size: 16px; font-weight: 500; background: #222;}
.board-more {font-size: 13px; color: #adadad; cursor: pointer;}
.board-more:hover {color: #d6a5ff;}

.mainBo-con {margin:0 auto; padding:20px 30px; width:100%; height:320px; background: rgba(0,0,0,0.5); overflow: hidden;}
.mainBo-con > table {margin:0 auto 20px auto; padding:0; width: 100%;}
.mainBo-con > table th,
.mainBo-con > table td {padding:0 5px; height: 44px; font-weight:500;}
.mainBo-con > table th {width:74%; text-align: left; font-size: 16px; cursor: pointer;}
.mainBo-con > table th > span {display: block; width:220px;text-align: left; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; overflow: hidden;}
.mainBo-con > table td {text-align: right; width: 26%; font-size: 13px; color: #8d8d8d;}
.mainBo-con > table th.empty {cursor: default; color: #8d8d8d;}
.mainBo-con > table th > span > .cate {margin-right: 4px; font-style: normal; color: #d6a5ff;}
.mainBo-con > table th > span > i {margin-right: 4px; color: #8601f6;}

ul.real-list {position: relative; margin:0 auto; padding:0; width: 100%; text-align: center;}
ul.real-list > li {position: relative; margin:0; padding:0; width:100%; height: 44px; display: flex; align-items:center; justify-content: space-between;}
ul.real-list > li > span {flex: 1; text-align: left; font-size: 16px; color:#fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
ul.real-list > li > span.amount {flex: 0 0 40%; text-align: right; color: #8601f6;}
/* 원본 줄 순서 = 날짜 · 아이디 · 금액. 공용 live-ticker.js 는 [배지][아이디][금액][시각] 순으로 만들어서 순서를 CSS 로 맞춘다. */
ul.real-list > li > span.date {order: -1; flex: 0 0 auto; margin-right: 12px; min-width: 76px; font-size: 13px; color: #8d8d8d;}
ul.real-list > li > .w09-tk-tag {display: none;}
ul.real-list > li.empty > span {color: #8d8d8d;}


/****************************************************************************************************************************************
미디어쿼리문
*****************************************************************************************************************************************/
@media (max-width:1900px) {
    .csino-ani {left:3%;}
    .csino-ani > img {width: 150px;}
}/* 미디어쿼리문 끝 */


@media (max-width:1480px) {
    .caption {padding: 0 0 0 150px; width: 100%;}

    /* 메인게임리스트 */
    .item-txt > h3 {letter-spacing: -0.5px;}
    .item-txt > button {padding:8px 15px; font-size: 14px;}
    .item-txt > button > img {width: 20px;}

    /* 메인공지 */
    .mainBo-inner {width: 100%; gap: 20px;}
}/* 미디어쿼리문 끝 */

@media (max-width: 992px) {
    /* 메인페이지 */
    .main-hero {margin-top: 50px;}

    .caption {padding:0 20px; top:40%;}
    .caption_inner {margin:0 auto; padding:20px 20px; text-align: center; background: rgba(0,0,0,0.6);}
    .caption_inner > h4 {margin:0 auto 10px auto; font-size: 34px; text-align: center;}
    .caption_inner > p {font-size: 16px; text-align: center;}
    .caption_inner > .btn-play {margin:20px auto 0 auto; font-size: 14px;}
    .caption_inner > .btn-play > img {width: 18px;}

    .csino-ani,
    .slot-ani,
    .sport-ani {display: none;}

    /* 원본 slick responsive(1024 이하): 화살표 대신 점 */
    .w09-hero-prev,
    .w09-hero-next {display: none;}
    .main-hero .swiper-pagination {display: block;}

    ul.game-link {gap:20px;}
    ul.game-link > li > .game-tit > span {font-size: 20px;}

    .main-item:hover {box-shadow:unset;}
    .main-item:hover > img:not(.item-logo) {transform:unset;}
    .item-con,
    .main-item:hover > .item-con {transform: translateY(0); height: 100%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0, transparent 100%);}
    .item-txt {transform: translateY(130px);}
    .item-txt > h3 {font-size: 18px;}
    .item-txt > button {margin: 10px 0 0 0;}

    /* 메인공지 */
    .main-border {margin:20px auto; padding-bottom: 80px;}
    .mainBo-inner {grid-template-columns: repeat(1, 1fr);}
    .board-group {width: 100%;}
    .board-hd {height: 46px; line-height: 46px; font-size: 16px;}
    .mainBo-con {padding: 10px 10px; height: 200px;}

}/* 미디어쿼리문 끝 */

@media (max-width:830px) {
    /* 원본 slick responsive(830 이하): 게임 목록도 화살표 대신 점 */
    .w09-list-nav {display: none;}
    .main-gameList .swiper-pagination {display: block;}
}/* 미디어쿼리문 끝 */

@media (max-width:800px) {
    .caption_inner > .btn-play {font-size: 13px;}
    .caption_inner > .btn-play > img {width: 14px;}

    ul.game-link {flex-direction: column; gap: 0;}
    ul.game-link > li {margin:20px auto; width: 100%;}
}/* 미디어쿼리문 끝 */

@media (max-width:640px) {
    .caption {padding:0 10px;}
    .caption_inner > p {font-size: 14px; letter-spacing: -1px;}

    /* 메인게임리스트 */
    .main-slot {padding:30px 0 50px 0}

    .main-tit {padding:10px 0 0 0; font-size: 20px;}
}/* 미디어쿼리문 끝 */
