/* BASIC css start */
html, body {
overscroll-behavior: none; 
  }

/* 롤링배너, 타이틀 */
.main {position:relative; width:100%;}
.main .main_tit {width:100%; text-align: center; padding:40px 0 25px 0;}

#review { font-size:16px; font-weight:600;}

a {
    text-decoration: none; /* 기본 밑줄 제거 */
    -webkit-tap-highlight-color: transparent; /* 하이라이트 제거 */
}

a:focus, a:active {
    outline: none; /* 포커스 아웃라인 제거 */
    /* 필요 시 다른 스타일 추가 */
}

/* Slick 화살표 및 점 스타일 */
.slick-prev::before,.slick-next::before {
    color: transparent;
    display:block;
    width:100px;
    height:100%;
    pointer-events: none;
}

.slick-prev,.slick-next {
    z-index: 1000;
    background: transparent;
    border: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    outline: none;
    width:100px;
    height:100%;
    display:none;
}

.slick-prev {
    /* 필요하다면 위치 조정 */
}
.slick-next {
    /* 필요하다면 위치 조정 */
}

.slick-dots li button:before {
    content: '';
    width: 30px;
    height: 2px;
    background-color: #eee;
    display: block;
    transition: background-color 0.3s ease;
    border-radius: 0;
}
 .slick-dots li.slick-active button:before {
    background-color: #fff;
    opacity: 1;
}

.slick-dots {
    bottom: -8px;
}

.slick-dots li {
    margin: 0 5px;
}

.slick-dots li button {
    padding: 0;
    width: 30px;
    height: 4px;
    cursor: pointer;
    border: none;
    background: transparent;
}

/* main-banner-slider (기존 .mainBanner 대체) */
.main-banner-slider {
    position: relative;
    visibility: hidden;
    width:100%;
    height:auto;
    display:block;
}

.main-banner-slider img {
    width: 100%;
    height: auto;
    display: block;
}



/* 포토리뷰 슬라이더 스타일 */
.photoReview {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
    margin-bottom:-30px;
}
.photoReview-slider > div {
    width: 100%;
}

/* 이미지 스타일 적용 */
.photoReview-slider img {
    width: 100%;
    height: auto;
    display: block;
    padding-top:10px;
}

/* 기존 카테고리, 스크롤바, 아이콘, 탭, 메인 타이틀 CSS 모두 유지 */
.main {position:relative; width:100%;}
.main .main_tit {width:100%; text-align: center; padding:40px 0 25px 0;}

#review { font-size:16px; font-weight:600;}

/* 탭메뉴 스타일 (기존 유지) */
ul.tab {
    list-style-type: none; 
    margin: 0 auto 20px; 
    padding: 0; 
    overflow: hidden; 
    border-left: 1px solid #ccc; 
    background-color: #fff; 
    width:93px;
}

ul.tab li {
    float: left; 
    border-top: 1px solid #ccc; 
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

ul.tab li span { 
    display:inline-block; 
    width:30px; 
    height:30px; 
    text-indent:-9999em; 
}

ul.tab li span.tab1 { 
    background:url(/design/flaseek/mobile/m_review_btn01.jpg) 0 0 no-repeat; 
    background-size:30px auto;
}
ul.tab li span.tab1.active { 
    background:url(/design/flaseek/mobile/m_review_btn01_on.jpg) 0 0 no-repeat; 
    background-size:30px auto; 
}

ul.tab li span.tab2 { 
    background:url(/design/flaseek/mobile/m_review_btn02.jpg) 0 0 no-repeat; 
    background-size:30px auto; 
}
ul.tab li span.tab2.active { 
    background:url(/design/flaseek/mobile/m_review_btn02_on.jpg) 0 0 no-repeat; 
    background-size:30px auto; 
}

ul.tab li span.tab3 { 
    background:url(/design/flaseek/mobile/m_review_btn03.jpg) 0 0 no-repeat; 
    background-size:30px auto; 
}
ul.tab li span.tab3.active { 
    background:url(/design/flaseek/mobile/m_review_btn03_on.jpg) 0 0 no-repeat; 
    background-size:30px auto; 
}

.tabcontent { 
    padding: 6px 0px; 
    border-top: none;
}

/* 메인 타이틀 */
.main-h3-tit {
    -webkit-background-size:6px 6px;
    background-size:6px 6px;
}
.main-h3-tit .fla-main {
    overflow:hidden;
    display:block;
    margin:0 auto;
    padding:0 0.625rem 0 0.625rem;
    height:13px;
    background:#fff;
}
.fla-main:before {
    content: "";
    display: inline-block;
    width:100%;
    height:100%;
    vertical-align:top;
    background-repeat: no-repeat;
    background-image: url("/design/flaseek/mobile/main_tit_img.png");
    -webkit-background-size:228px 75px;
    background-size:228px 75px;
}

.main .mani-flaseek-category {width:170px;}
.main .mani-flaseek-category:before { width:100%; height:100%; background-position:-28px 0; }

.main .mani-best-product {width:110px;}
.main .mani-best-product:before { width:100%; height:100%; background-position:-59px -15px; }

.main .mani-best-photo {width:180px;}
.main .mani-best-photo:before { width:100%; height:100%; background-position:-23px -30px; }

.main .mani-flaseek-tv {width:110px;}
.main .mani-flaseek-tv:before { width:100%; height:100%; background-position:-58px -45px; }

/* 플레시크 티비 */
.tv_s_tit { font-weight: bold; font-size:0.95em; color: #6d6d6d; text-align: center; padding-top:12px;}
.tv_page { width: 100%; height: auto; overflow: hidden; }
.tv_page img { max-width: 100%; }
.tv_page_inner { width: 90%; padding: 5% 5%; height: auto; overflow: hidden; background: #ffedef; }

.tv_frame { width: 90%; padding: 5% 5%; height: auto; overflow: hidden; background: #fff; border-radius: 10px; border:1px #ddd solid; margin-bottom: 3.5%; }

/* 기본 스타일 */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overscroll-behavior: none auto;
}


/* 카테고리 래퍼 스타일 (기존 유지) */
.category-wrapper {
    overflow-x: auto;
    position: relative;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior: none auto;
    clear: both;
    visibility: hidden;  
    opacity:0;
    position: relative;
    top: -3px;
}

.category-wrapper.visible {
    visibility:visible;
    opacity: 1;
}

.category-wrapper::-webkit-scrollbar {
    display: none;
}

.category-container {
    display: flex;
    gap: 6%;
    transform-origin: left;
}

/* 기존 :active 제거 */
.category-item {
    flex: 0 0 auto;
    width: 42%;
    aspect-ratio: 1 / 1;
    text-align: center;
    box-sizing: border-box;
    background-color: #fc6e9a;
    color: #ffffff;
    padding: 15px;
    border-radius: 999px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: scale(1);
    /* 크기 변환에 대한 애니메이션 시간 */
    transition: transform 0.2s ease;
    -webkit-touch-callout: none; /* iOS에서 링크 꾹 누를 때 팝업 일부 억제 */
    -webkit-user-select: none;   /* 텍스트 선택도 불가능해짐 */
}
/* pointerdown 시 순간적으로 트랜지션을 끄기 위해 사용하는 클래스 */
.category-item.no-transition {
  transition: none !important;
}

/* :active 대신 .is-pressed 클래스로 축소 효과 제어 */
.category-item.is-pressed {
    transform: scale(0.9);
}

/* 포커스/클릭 시 outline 제거 등은 유지 */
.category-item a:focus,
.category-item a:active,
.category-item a:focus-visible {
    outline: none;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
}

.category-item .category_txt {
    margin-top: 10px;
    opacity: 1;
}

/* .category-item.active .category_txt {
    opacity: 0;
} */

.category-item img {
    width: 95%;
   -webkit-touch-callout: none;  /* 롱프레스 콜아웃 억제 */
   -webkit-user-drag: none;      /* 드래그 비활성화 */
   -webkit-user-select: none;    /* 텍스트처럼 드래그 선택 불가 */
   user-select: none;            /* 표준 속성 (크롬/안드로이드 등에서도 텍스트 선택 비활성화) */
}

.category-item span {
    font-size: 1.9em;
    white-space: nowrap;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    transition: font-size 0.3s ease;
}

.category-wrapper::-webkit-scrollbar {
    height: 8px;
}

@media (max-width: 1200px) {
    .category-container {
        transform: scale(0.6);
    }
}

@media (max-width: 992px) {
    .category-container {
        transform: scale(0.6);
    }
}

@media (max-width: 768px) {
    .category-container {
        transform: scale(0.6);
    }
}

@media (max-width: 576px) {
    .category-container {
        transform: scale(0.6);
    }
}

.scrollbar-container {
    margin-top: 13px;
    width: 15%;
    height: 3px;
    background-color: #eee;
    border-radius: 50px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box; /* 필요하다면 추가 */
}

.scrollbar-gauge {
    /* 가로 위치(예: left)는 JS에서 조정하므로, 여기서는 0으로 시작해도 되고 안 써도 됨 */
    position: absolute;
    left: 0;           /* 처음에는 맨 왼쪽 0% 위치에서 시작 */
    width: 25%;
    height: 3px;
    background: #f5648b;
    border-radius: 100px;
    box-sizing: border-box;

    /* 세로 중앙: top/bottom=0 + margin:auto  */
    top: 0;
    bottom: 0;
    margin: auto;

    /* transform: translateY(-50%) 제거 */
    transition: left 0.1s ease;
    cursor: pointer;
}

#category-tit {
    font-weight: 600;
    margin-top: 8px;
    margin-left: 15px;
    margin-bottom: -10px;
    padding-left: 5px;
    font-size: clamp(22px, calc(22px + 8*((100vw - 300px) / 700)), 30px);    
}

#category-subtit {
    font-size: 14px;
    font-weight: 400;
    padding-top: 10px;
    display: block;
}

.scrolldown {
    cursor: pointer;
    transform: rotate(-90deg);
    float: right;
    display: block;
    margin-right: 15px;
    margin-top:10px;
    opacity:0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.scrolldown.visible {
    opacity: 1;
    visibility: visible;
}

@keyframes scrolldown-anim {
  0% {
    opacity: 0;
    height: 6px;
  }
  40% {
    opacity: 1;
    height: 10px;
  }
  80% {
    transform: translate(0, 20px);
    height: 10px;
    opacity: 0;
  }
  100% {
    height: 3px;
    opacity: 0;
  }
}

.chevrons {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.chevrondown {
    margin-top: -6px;
    position: relative;
    border: solid #f5648b;
    border-width: 0 1.5px 1.5px 0;
    display: inline-block;
    width: 4px;
    height: 4px;
    transform: rotate(45deg);
    padding: 2px;
}

.chevrondown:nth-child(odd) {
  animation: pulse54012 500ms ease infinite alternate;
}

.chevrondown:nth-child(even) {
  animation: pulse54012 500ms ease infinite alternate 250ms;
}

@keyframes pulse54012 {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.5;
  }
}

.category-item1 {
    background: #ffe4ec;
}
.category-item2 {
    background: #f8e8ff;
}
.category-item3 {
    background: #ffead8;   
}
.category-item4 {
    background: #fff9e1;     
}
.category-item5 {
    background: #e8dafb;  
}
.category-item6 {
    background: #e2e7ff;   
}

.category-container .category-item:last-child {
    margin-left: -47px;
    width: 55px;
    height: 39px;
    opacity: 0;
}

span#category_tit_deck img {
    width: 100%;
    height: auto;
}
span#category_tit_deck {
    width: 21px;
    display: inline-block;
    margin-right: 3px;
    position: relative;
    top: -2px;
}
.icon-container {
    display: flex;
    flex-wrap: wrap;
    width: 56px;
    align-content: flex-start;
    float: right;
    margin-top: -36px;
}

.square {
    position: relative; /* 가상 요소의 위치 기준 설정 */
    width: 18px;
    height: 18px;
    border-radius: 4.5px;
    box-sizing: border-box;
    margin: 2px;
    background: white; /* 내부 배경 색상 */
    overflow: hidden; /* 가상 요소가 넘치지 않도록 설정 */
    /*border:1px solid #696969;*/
    
}
.square:nth-child(1) {
    background: #fff;
    border: 2.2px solid #383535;
}
.square:nth-child(2) {
    background: #fff;
    border: 2.2px solid #383535;
}
.square:nth-child(3) {
    background: #fff;
    border: 2.2px solid #383535;
}

.square:nth-child(2) {
    margin-right: 0;
}

.magnifier {
    width: 14.2px;
    height: 14px;
    position: relative;
    border-radius: 50%;
    margin: 2px;
    border: 2.2px solid #f5648b;
    background: #fff;
}

.magnifier::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 2.2px;
    border-radius: 2px;
    top: 78%;
    left: 51%;
    transform: rotate(45deg);
    z-index: -1;
    background: #f5648b;
}

.category_tit_wrapper::before {
    height: 95% !important;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2.5px; /* 선의 두께 */
    height: 100%; /* 요소의 전체 높이 */
    background: #383535;
}

.category_tit_wrapper{
    position: relative;
    color:#383535;
    margin-left:15px;
}

.category-item.empty-item {
    padding: 0;
    margin: 0;
    width: 10%;
    background: #fff;
}

.main-tit {
    font-size: 22px;
    font-weight: 600;
    margin-top: 58px;
        margin-left: clamp(
      10px,
      calc(10px + (90px * ((100vw - 300px) / 700))),
      100px
    );
    margin-bottom: -10px;
    font-size: clamp(22px, calc(22px + 8*((100vw - 300px) / 700)), 30px);
    margin-left: clamp(2.5%, 2.75vw, 3%);
}

p#photo-review-tit {
    margin-bottom: -8px;
    height: 25px;
    position: relative;
    z-index: 99;
    font-size: clamp(22px, calc(22px + 8*((100vw - 300px) / 700)), 30px);
    padding-left: clamp(2.5%, 2.75vw, 3%);
    margin-left: 0px;
    width:20%;
    background:#fff;
}

/* .photoReview .slick-dots {
    bottom: -20px;
}

.photoReview .slick-dots li button:before {
    content: '';
    width: 8px;
    height: 8px;
    background-color: #f2f2f2;
    display: block;
    transition: background-color 0.3s ease;
    border-radius: 100px;
    opacity: 1;
}

.photoReview .slick-dots li.slick-active button:before {
    background-color: #383535;
    opacity: 1;
}

.photoReview .slick-dots li {
    width: 4px;
    height: 10px;
}
*/
.photoReview_option {
  height:15px;
  float: right;
  border-radius: 1000px;
  text-align: center;
  padding-top: 7px;
  margin-right: clamp(2.5%, 2.75vw, 3%);
  font-family: 'Noto Sans KR';
  letter-spacing: -0.05em;
  display: inline-flex;
  align-items: center;
  font-size: clamp(13.5px, calc(13.5px + 6.5 * ((100vw - 300px) / 700)),20px);
  margin-top: -22px;
}

span.option-tit {
    font-weight: 700;
    margin-right: 5px;
}

span.option-sub {
    font-weight: 500;
    color: #494949;
    margin-right:2px;
}
.arrow-circle {
    display: inline-block;
    border: 0.08em solid #c9c9c9;
    border-width: 0 0.08em 0.08em 0;
    transform: rotate(315deg);
    width: 0.5em;
    height: 0.5em;
    box-sizing: border-box;
    margin-left: 0.2em;
    margin-bottom: 1.5px;
}

ul.items {
    margin-top: clamp(10px, 2.75vw, 25px);
}

.photoReview .slick-dots {
    position: relative;
    top: 8px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.photoReview .slick-dots li.slick-active button:before {
    background-color: black;
    opacity: 1;
    z-index: 999;
    position: relative;
    top:1px;
}

.photoReview .slick-dots li button:before {
    content: '';
    width: 15px;
    height: 3px;
    background-color: #eee;
    opacity:1;
    display: block;
    transition: background-color 0s ease;
    border-radius: 0;
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border-radius:100px;
}


.photoReview .slick-dots li {
    width:3px;
}

.photoReview-scrollbar-container {
  margin: 13px auto 35px auto;
  width: 50%;
  height: 3px;
  background-color: #eee;
  border-radius: 50px;
  position: relative;
  box-sizing: border-box;
}

.photoReview-scrollbar-gauge {
  position: absolute;
  /* 수직 방향: top/bottom=0 & margin:auto로 가운데 정렬 */
  top: 0;
  bottom: 0;
  margin: auto;   /* 상하 여백이 자동으로 잡히며, 세로축 중앙에 배치 */
  
  /* 폭, 높이 지정 */
  width: 10%;     /* 게이지 폭 (예시) */
  height: 3px;
  background: #f5648b;
  border-radius: 50px;
  box-sizing: border-box;

  left: 0;        /* 처음 시작 위치 */
  transition: width 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}


/* 포토리뷰 전용 scrolldown */
.scrolldown-photoReview {
  cursor: pointer; 
  transform: rotate(-90deg);  
  float: right;         /* 필요하면 위치 조절 */
  display: block;
  margin-right: 15px;   /* 위치 조정 */
  margin-top: 10px;
  opacity: 0;           /* 처음엔 숨김 */
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease; 
}

/* 보여줄 때 사용할 .visible 토글 */
.scrolldown-photoReview.visible {
  opacity: 1;
  visibility: visible;
}

/* chevrons-photoReview, chevrondown-photoReview: 기존 chevrons, chevrondown과 동일 구조 */
.chevrons-photoReview {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.chevrondown-photoReview {
  margin-top: -6px;
  position: relative;
  border: solid var(--color, #f5648b);
  border-width: 0 1.5px 1.5px 0;
  display: inline-block;
  width: 4px;
  height: 4px;
  transform: rotate(45deg);
  padding: 2px;
}

/* 애니메이션 동일하게 적용 */
.chevrondown-photoReview:nth-child(odd) {
  animation: pulse54012 500ms ease infinite alternate;
}
.chevrondown-photoReview:nth-child(even) {
  animation: pulse54012 500ms ease infinite alternate 250ms;
}

@keyframes pulse54012 {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.5;
  }
}

/* BASIC css end */

