@charset "UTF-8";
.contents-all-wrap {height: 100%;}
.pc-left-wrap {display: none;}
@media (min-width: 768px) {
    body {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        overflow: hidden;
        background-color: #000 !important;
    }
}
@media (min-width: 768px) {
    .main-all-wrap{
        position: relative;
        z-index: 999;
        overflow: auto;
        overflow: overlay;
        overflow-x: hidden;
        width: 690px;
        height: 100vh;
        height: 100dvh;
        background-color: #F3F5F8;
    }
}
@media (min-width: 768px) {
    .fixed-top {
        position: sticky !important;
    }
}
@media (min-width: 768px) {
    .pc-left-wrap {
        display: none;
    }
}
@media (min-width: 1280px) {
    .pc-all-wrap {
        width: 1216px;
    }
}
@media (min-width: 1280px) {
    .pc-all-wrap {
        position: relative;
        display: flex;
        justify-content: space-between;
    }
}
@media (min-width: 1280px) {
    .pc-left-wrap {
        position: relative;
        /* z-index: 10; */
        width: 420px;
        min-height: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        color: #fff;
		justify-content: center;
    }
}
.reward-card-inner.claimed{opacity:.55;filter:grayscale(.2)}
.main-wrap {padding-bottom: 40px; background-color: #F3F5F8;}
section.main-contents-box {padding: 10px 15px; margin: 0 15px; background: #fff; border-radius: 20px;}
section.main-contents-box.no-style {margin: 0; padding: 0; background: #F3F5F8;}
section.main-contents-box.no-style2 {margin: 0 15px; padding: 0; background: #F3F5F8;}
section.main-contents-box.icon-style {padding: 10px 5px;}
section.main-contents-box.overflow-hidden {overflow: hidden;}
section.main-contents-box.add-btn{padding: 10px 0;}
section.main-contents-box.add-btn .common-layout-top {padding: 15px 15px 10px;}
section.main-contents-box.add-btn .common-layout-box {padding: 0 15px 20px;}
section.main-contents-box.add-btn.overflow-hidden .common-layout-box {padding: 0 0 15px 20px;}
section.main-contents-box:not(:first-child) {margin-top: 15px;}
.common-layout-top {padding: 15px 5px 10px;}
.common-layout-top a {display: flex; align-items: center; justify-content: space-between; padding-bottom: 15px;}
.common-layout-top a .common-title {margin: 0;}
.common-layout-top .common-title {font-size: 16px; font-weight: 700; line-height: 1;}
.common-layout-top strong {font-size: 18px; font-weight: 800; color: #F87E77; line-height: 1; display: inline-flex; align-items: center;}
.common-layout-top strong span {font-size: 14px; font-weight: 400; color: #60697B;padding-right: 5px;}
.main-contents-box.add-btn .common-layout-top {display: flex; justify-content: space-between; align-items: center;}
.btn-more {display: inline-block; text-align: center; font-size: 14px; color: #60697B; font-weight: 400;}
.ico-arrow {display: inline-block; font-size: 14px; width: 18px; height: auto; line-height: 1; margin-top: -2px;}
.sub-info {font-size: 14px; background-color: #3f8bf0; color: #fff; margin-left: 10px; font-weight: 600; line-height: 20px; padding: 5px 8px; border-radius: 20px;}
.main-banner-slide {
  /* overflow: visible; */
}

.main-banner-slide .swiper-slide {
  transition: transform 0.4s, opacity 0.4s;
  opacity: 0.5;
  transform: scale(0.9);
  border-radius: 15px;
  overflow: hidden;
}

/* 가운데 슬라이드 강조 */
.main-banner-slide .swiper-slide-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

/* 메인 탑 슬라이드 내부 카드 예시 */
.main-banner-slide .swiper-slide .banner-card {
  background-color: #a4a077; /* 카드 배경 */
  border-radius: 15px;
  height: 160px;
  padding: 18px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
}
.main-banner-slide .swiper-slide .banner-card p{margin: 0;}
.banner-card.with-bg {
  position: relative;
  background-image: url('/assets/images/icon/img_ham_01.png');
  background-repeat: no-repeat;
  background-position: right 5% bottom;
  background-size: 150px auto; /* 크기 조절 */
}
.banner-card.with-bg.type-2 {
  background-image: url('/assets/images/icon/img_ham_02.png');
  background-size: 150px auto;
  background-position: right bottom 3%;
}
.banner-card.with-bg.type-3 {
  background-image: url('/assets/images/icon/img_ham_03.png');
  background-size: 140px auto;
  background-position: right 5% bottom;
}
.banner-card.with-bg.type-4 {
  background-image: url('/assets/images/icon/img_ham_04.png');
  background-position: right bottom 5%;
}
.main-banner-slide .swiper-slide .banner-card h3 {color: #fff !important;}
.main-banner-slide .swiper-pagination-bullet-active {background: #fff;}


/* ====== 아이콘 그리드 ====== */

/* 옆 슬라이드가 잘려 보이지 않게 */
.icon-grid { overflow: visible;}

/* 아이콘 카드 모양(예시) */
.icon-grid .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;  
  /* padding: 10px; */
  border-radius: 18px;
}

/* 진행 바 스타일(원하는 대로 조정) */
.icon-grid .swiper-scrollbar {
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  margin: 8px 24px 0;
}
.icon-grid .swiper-scrollbar-drag {
  border-radius: 999px;
  background: #DDE2E9;         /* 밝은 바 */
}
.icon-grid .swiper-scrollbar {
  height: 5px;
  border-radius: 999px;
  background: #fff;
  margin: 8px auto 0;      /* auto로 가운데 정렬 */
  max-width: 90px;        /* 최대 길이 제한 */
  left: 50%;
  transform: translateX(-50%);
  bottom: 5px;
}

.icon-grid .swiper-scrollbar-drag {
  border-radius: 999px;
  background: #DDE2E9;
}

.btn-main-util {display: flex; justify-content: center; align-items: center; flex-direction: column;}
.btn-main-util span {font-size: 11px;}
.btn-main-util i {display: block; width: 50px; height: 50px; border: 0.5px solid rgba(0,0,0,0.05); background-repeat: no-repeat; background-size: 30px; border-radius: 16px; background-position: center center; box-shadow: 0 0.3rem 2rem 0.3rem rgba(0, 0, 0, 0.03); margin-bottom: 5px;}
.btn-main-util i.icon_cal {background-image: url('/assets/images/icon/main_quick_icon_cal.png');}
.btn-main-util i.icon_view {background-image: url('/assets/images/icon/main_quick_icon_view.png'); background-color: #fbe9de;}
.btn-main-util i.icon_community {background-image: url('/assets/images/icon/main_quick_icon_community.png'); background-color: #d6eaff;}
.btn-main-util i.icon_money {background-image: url('/assets/images/icon/main_quick_icon_money.png'); background-color: #fbf1d4;}
.btn-main-util i.icon_youtube {background-image: url('/assets/images/icon/main_quick_icon_youtube.png'); background-color: #feeaea;}
.btn-main-util i.icon_instagram {background-image: url('/assets/images/icon/main_quick_icon_instagram.png'); background-color: #fee6f0;}
.btn-main-util i.icon_point {background-image: url('/assets/images/icon/main_quick_icon_point.png'); background-color: #eaf8ef;}
.btn-main-util i.icon_location {background-image: url('/assets/images/icon/main_quick_icon_location.png'); background-color: #edf7f1;}
.btn-main-util i.icon_walk {background-image: url('/assets/images/icon/main_quick_icon_walk.png'); background-color: #d5e3df;}
.btn-main-util i.type_ai {background-image: url('/assets/images/icon/main_quick_icon_ai.png'); background-color: #d5e3df;;}
.btn-main-util i.icon_saju {
    background: linear-gradient(135deg, #6C5CE7 0%, #a29bfe 50%, #fd79a8 100%) !important;
    box-shadow: 0 4px 12px rgba(108, 92, 231, 0.4) !important;
    border: none !important;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.btn-main-util i.icon_saju::before {
    content: '四柱';
    font-family: 'Noto Serif KR', serif, 'SimSun', 'PMingLiU' !important;
    font-style: normal !important;
    font-weight: 900 !important;
    color: white !important;
    font-size: 16px !important;
    letter-spacing: 2px;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
    background: none !important;
    animation: gemini-pulse 2s infinite ease-in-out;
}


/* ====== 포인트 받기 ====== */

.reward-swiper { overflow: visible; padding: 0 0 24px; }
.reward-swiper .swiper-slide { height: auto; }
.reward-card .reward-card-inner{display:flex; flex-direction:column; justify-content:space-between; gap:18px; background:#22252A; color:#fff; border-radius: 12px; padding:24px 12px 18px;}
.reward-title{margin:0; font-size: 16px; line-height:1.2; font-weight: 800; color:#fff; text-align: center;}
.reward-coin {display:flex; justify-content:center;}
.reward-coin img{width: 50px; height:32px; object-fit:contain; display: block; filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); }
.reward-cta{background:#343942; color:#fff; text-align:center;border-radius:12px; padding:14px 4px; font-weight:800; font-size:14px;}

.reward-swiper .swiper-slide { transition: transform .35s ease, opacity .35s ease; }
.reward-swiper .swiper-slide-active { transform: scale(1.0); opacity: 1; }
.reward-swiper .swiper-slide-next,
.reward-swiper .swiper-slide-prev { transform: scale(.97); opacity:.95; }
.reward-swiper .swiper-pagination-bullet-active {background: #5D67CF;}



.main-grid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 한 줄에 3개 */
  gap: 5px 12px;                         /* 행/열 간격 */
  padding:8px 4px 0;
}
.main-grid .grid-item {min-width: 0; text-align: left;}
.main-grid .grid-item .title {font-size: 15px; color: #222; font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2;}
.main-grid .grid-item .badge {display: inline-block; font-size: 12px; font-weight: 400; color: #c9c9c9; background-color:rgba(0,0,0,0.55) !important; padding: 6px 8px; border-radius: 3px; margin-right: 8px;  margin-top: 8px;}
.main-grid .grid-item .img-box{ aspect-ratio: 4 / 3; overflow:hidden; border-radius:0px; margin-bottom: 10px;}
.main-grid .grid-item .img-box img{
  width:100%; height:100%;
  object-fit: cover;
  object-position: 50% 30%;  /* 가운데 위쪽을 보이게 */
}

.main-grid2 {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 한 줄에 3개 */
  gap: 10px 12px;                         /* 행/열 간격 */
  padding:8px 8px 0;
}
.main-grid2 .grid-item {min-width: 0; text-align: left;}
.main-grid2 .grid-item .title {font-size: 15px; color: #222; font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2;}
.main-grid2 .grid-item .badge {display: inline-block; font-size: 12px; font-weight: 400; color: #c9c9c9; background-color:rgba(0,0,0,0.55) !important; padding: 6px 8px; border-radius: 3px; margin-right: 8px;  margin-top: 8px;}
.main-grid2 .grid-item .img-box{ aspect-ratio: 4 / 3; overflow:hidden; border-radius:0px; margin-bottom: 10px;}
.main-grid2 .grid-item .img-box img{
  width:100%; height:100%;
  object-fit: cover;
  object-position: 50% 30%;  /* 가운데 위쪽을 보이게 */
}

.main-grid1 {
  display:flex;
  flex-direction: column;
  gap: 10px;                         /* 행/열 간격 */
  padding: 0;
}
.main-grid1 .grid-item {min-width: 0; text-align: left;}
.main-grid1 .grid-item .position-relative{padding-right: 50px;}
.main-grid1 .grid-item .title {font-size: 15px; color: #222; font-weight: 500; display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.main-grid1 .grid-item .sub-txt.badge {display: inline-block; font-size: 12px; font-weight: 400; color: #5D67CF; background-color: #F0F3F9; padding: 2px 4px; border-radius: 3px; margin-right: 0;  margin-top: 0;}
.main-grid1 .grid-item .sub-txt-box {display: flex; align-items: center; gap: 0 5px;}
.main-grid1 .grid-item .sub-txt-box i {
    display: inline-block;
    vertical-align: top;
    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.main-grid1 .grid-item .sub-txt {font-size: 12px; color: #8C8C8C; position: relative;}
.main-grid1 .grid-item .sub-txt .ico-view-count {
    background-image: url(/assets/images/icon/ico_view_eyes2.svg);
    margin-top: 1px;
}
.main-grid1 .grid-item .sub-txt.count{padding-left: 7px;}
.main-grid1 .grid-item .sub-txt.count::before {
    content: '';
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background-color: #8C8C8C;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1px;
}
.main-grid1 .grid-item .img-box{ aspect-ratio: 4 / 3; overflow:hidden; border-radius:0px; margin-bottom: 10px; width: 40px;  height: 40px; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
.main-grid1 .grid-item .img-box img{
  width:100%; height:100%;
  object-fit: cover;
  object-position: 50% 30%;  /* 가운데 위쪽을 보이게 */
}


/* ---------------------------------------- */
/* 베스트 6 */
/* ---------------------------------------- */
.post-swiper .title {min-height: 35px; margin: 0; font-size: 14px; color: #222; font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2;}
.post-swiper .badge {display: inline-block; font-size: 12px; font-weight: 400; color: #c9c9c9; background-color:rgba(0,0,0,0.55) !important; padding: 6px 8px; border-radius: 3px; margin-right: 8px;  margin-top: 8px;}
.post-swiper .img-box{ aspect-ratio: 16 / 11; overflow:hidden; border-radius:6px; margin-bottom: 10px;}
.post-swiper .img-box img{
  width:100%; height:100%;
  object-fit: cover;
  object-position: 50% 30%;  /* 가운데 위쪽을 보이게 */
}
/* 이미지 내부 반투명 오버레이 아이콘 */
.img-box {
  position: relative; /* 오버레이 절대위치 기준 */
}
.img-box .overlay-coin {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50px !important;
  height: 50px !important;
  transform: translate(-50%, -50%);
  object-fit: contain;
  opacity: 0.85;
  z-index: 6;
  pointer-events: none;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.35));
}
/* 모바일에서 크기 조정이 필요하면 아래에 추가 */
@media (max-width: 576px) {
  .img-box .overlay-coin {
    width: 40px !important;
    height: 40px !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

/* ---------------------------------------- */
/* 🔹 grid-col-1 (한 줄짜리 카드 리스트형) */
/* ---------------------------------------- */

.vertical-swiper{
  --item-h: 76px;
  --gap: 8px;
  height: calc((var(--item-h) + var(--gap)) * 3 - var(--gap));
  overflow: hidden;
}

/* 슬라이드 자체 높이를 딱 고정 */
.vertical-swiper .swiper-slide{
  height: var(--item-h) !important;
  margin: 0 0 var(--gap) !important;
}

/* 혹시 어디선가 상속된 100% 높이가 있더라도 무력화 */
.vertical-swiper .swiper-slide,
.vertical-swiper .swiper-slide *{
  height: auto;        /* reset */
  box-sizing: border-box;
}


.main-grid.grid-col-1 {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

.main-grid.grid-col-1 .list-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 10px;
  text-decoration: none;
}

/* 썸네일 */
.main-grid.grid-col-1 .thumb {
  flex: 0 0 54px;
  width: 54px; height: 54px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 12px;
}
.main-grid.grid-col-1 .thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
}

/* 텍스트 영역 */
.main-grid.grid-col-1 .info {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 10px;
  background-color: #F0F3F9;
  box-shadow: 0 2px 2px rgba(0,0,0,0.06);
  text-align: left;
  border-radius: 0 16px 16px 16px;
  overflow: hidden;
}

.main-grid.grid-col-1 .title {
  font-size: 15px;
  color: #222;
  font-weight: 700;
  margin: 0 0 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.main-grid.grid-col-1 .price {
  font-size: 13px;
  font-weight: 400;
  color: #222;
  margin: 0;
}
.main-grid.grid-col-1 .price .time {
  font-size: 13px;
  color: #888;
  font-weight: 400;
}

/* 아이콘 */
.main-grid.grid-col-1 .icon-chevron {
  font-style: normal;
  color: #bbb;
  font-size: 20px;
  margin-left: 8px;
}

/* 공통 리셋은 상황에 맞게 */
.promo-banner{
  --banner-bg:#F7E0CB;
  --pill-bg:#E7F0FF;
  --pill-text:#2B6ACF;
  --circle-bg:#FFF;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
height: 99px;
  width:100%;
  padding:18px 20px;
  border-radius:20px;
  background:var(--banner-bg);
  text-decoration:none;
  color:#111;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}

.banner-left{
  min-width:0; /* 말줄임 안정화 */
}

.pill{
  display:inline-block;
  padding: 4px 8px;
  font-size:13px;
  font-weight:700;
  border-radius:999px;
  background:var(--pill-bg);
  color:var(--pill-text);
}

.subtitle{
  margin: 5px 0 3px;
  font-size:14px;
  color:#4a4f57;
}

.headline{
  margin:0;
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.01em;
  color:#111;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.logo-circle{
  flex:0 0 auto;
  width:84px;
  aspect-ratio:1/1;
  border-radius:50%;
  background:var(--circle-bg);
  display:flex; align-items:center; justify-content:center;
}
.logo-circle img{
  width: 80%; height: 80%; object-fit:contain; display:block;
}

.ranking-info .text-body.ranking-title{font-size: 14px; color: #222 !important; font-weight: 600;}

/* @media (min-width: 1024px){
  .main-wrap {max-width: 1024px; width: 100%; margin: 0 auto;}
} */

.infeed {margin: 20px 15px;}

@media (min-width: 350px) {
.infeed {
	height: 99px;
}
}
@media (min-width: 500px) {
.infeed {
	height: 99px;
}
}
@media (min-width: 800px) {
.infeed {
	height: 99px;
}
}

/* 친구 초대 */
.recommend-wrap {padding: 0 15px;}
.recommend-wrap h3.title {font-size: 20px !important; font-weight: 600; text-align: center; line-height: 1.8;}
.recommend-wrap h3.title strong {display: inline-block; line-height: 1; padding: 3px 6px; border-radius: 16px; color: #fff; font-weight: 700; background-color: #5D67CF;}
.recommend-img{margin:8px auto 18px; text-align:center;}
.recommend-img img{width:100%; max-width:360px; height:auto; display:inline-block;}
.recommend-form {position: relative;}
.recommend-form .form-control {width: 100%; background-color: #fff; border-color: #fff; font-size: 16px; font-weight: 600; padding-right: 110px;}
.recommend-form .h_btn_st2 {position: absolute; right: 15px; top: 50%; transform: translateY(-50%); display: inline-block; padding-right: 25px; color: #5D67CF; font-weight: 600; background-image: url('/assets/images/icon/ico_copy.svg'); background-repeat: no-repeat; background-size: 20px; background-position: right center;}
.recommend-notice {background-color: #fff; border-radius: 16px; margin-top: 20px; padding: 15px 15px 7px;}
.recommend-notice p {margin: 0; font-size: 16px; color: #222; font-weight: 700;}
.recommend-notice ul {list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0; margin-top: 10px;}
.recommend-notice ul li {font-size: 14px; color: #8C8C8C; line-height: 1;}
.recommend-notice ul li span {color: #5D67CF;}
.recommend-notice ul li::before {content: '·'; width: 10px; display: inline-block; font-size: 16px; color: #8C8C8C; vertical-align: middle;}

.mobile_menu ul li.menu_home a p {color: #222 !important;}
.mobile_menu ul li.menu_home a i.home {
    background-image: url('/assets/images/icon/ico_menu_home_on.svg') !important;
}

/* Premium AI Entry Styles (Gemini Redesign) */
.ai-premium-btn i {
    background: linear-gradient(135deg, #10a37f 0%, #6C5CE7 100%) !important; /* Gemini-like gradient */
    box-shadow: 0 4px 15px rgba(108, 92, 231, 0.4) !important;
    position: relative;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: none !important;
}

/* Create Gemini Star using CSS pseudo-element */
.ai-premium-btn i::before {
    content: '\f897' !important; /* FontAwesome sparkles/star */
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 900 !important;
    color: white !important;
    font-size: 24px !important;
    background: none !important;
    animation: gemini-pulse 2s infinite ease-in-out;
}

@keyframes gemini-pulse {
    0%, 100% { transform: scale(1); opacity: 0.8; filter: drop-shadow(0 0 2px white); }
    50% { transform: scale(1.2); opacity: 1; filter: drop-shadow(0 0 8px white); }
}

.ai-premium-btn i::after {
    display: none; /* Remove old shine */
}

.ai-high-tech-banner {
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    overflow: hidden;
    position: relative;
    background-size: cover !important;
    background-position: center !important;
}

.ai-high-tech-banner:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 30px rgba(108, 92, 231, 0.3) !important;
}

.ai-high-tech-banner::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at top right, rgba(255,255,255,0.1), transparent);
    pointer-events: none;
}