@charset "utf-8";

/* #contentWrap 베이스·반응형은 common.css로 이관(공통). */

/* 배너박스 */
#promoBox {
    position: relative;
}

#promoBox .promoList {
    margin-top: 30px;
}

#promoBox .promoList:has(.slick-dots) {
    padding-bottom: 40px !important;
}

#promoBox .promoList .slick-list {
    margin: 0 -20px;
}

/* 슬라이드 높이 균일화 설정 */
#promoBox .promoList .slick-track {
    display: flex !important;
    align-items: stretch;
}

#promoBox .promoList .slick-slide {
    height: auto !important;
}

#promoBox .promoList .slick-slide>div {
    height: 100%;
}

#promoBox .promoList .cardWrap {
    height: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    outline: none;
}

#promoBox .promoList .card {
    position: relative;
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
}

#promoBox .promoList h2 {
    width: 100%;
    height: 2.5em;
    font-size: 20px;
    color: #000;
    font-weight: 600;
    word-break: keep-all;
    text-align: center;
    line-height: 1.25;
    display: flex;
    align-items: center;
    justify-content: center;
}

#promoBox .promoList .brandBox {
    position: relative;
    width: 100%;
    aspect-ratio: 1.6 / 1;
}

#promoBox .promoList .brandBox .tag {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
}

#promoBox .promoList .brandImg {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}
#promoBox .promoList .brandImg:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-img);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    transition: transform 0.6s ease-in-out;
}
#promoBox .promoList .card:hover .brandImg:before {
    transform: scale(1.1);
}

#promoBox .promoList .quizBox {
    position: relative;
    width: 100%;
    aspect-ratio: 1.6 / 1;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
}
#promoBox .promoList .quizBox > .label {
    z-index: 2;
    pointer-events: none;
    text-transform: uppercase;
}

#promoBox .promoList .quizImg {
    margin: 0;
    border-radius: 20px;
    flex: 1;
    position: relative;
    overflow: hidden;
}
#promoBox .promoList .quizImg:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-img);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    transition: transform 0.6s ease-in-out;
}
#promoBox .promoList .card:hover .quizImg:before {
    transform: scale(1.1);
}

#promoBox .promoList .btnTake {
    font-size: 16px;
    color: #fff;
    font-weight: 600;
    padding: 6px 15px 6px 15px;
    background-color: var(--pointColor);
    border: 0;
    border-radius: 100vh;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
#promoBox .promoList .btnTake .takePoint {
    position: relative;
    font-size: 16px;
    color: #fff;
    font-weight: 900;
    border: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

#promoBox .promoList .btnTake .takePoint:before {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("../images/icon_point.svg");
    background-size: cover;
    background-position: 0 50%;
    background-repeat: no-repeat;
}

/* 카테고리 탭(.tagCate)·#tagList 라인 베이스는 common.css에서 처리.
   일상발견은 라이트모드 기본값 + 카테고리 1개라 카테고리 탭 미노출 → 특이사항 없음.
   (반응형 #tagList 음수마진 보정만 하단 미디어쿼리에 유지) */

/* 일상발견 */
#dailyDscv {
    margin-top: 30px;
}

#dailyDscv .dailyPostWrap {
    width: 100%;
    display: flex;
    gap: 40px;
}

#dailyDscv .postList {
    width: 100%;
    min-width: 0; /* 부모 flex 컨테이너에서 줄어들 수 있도록 설정 */
}

#dailyDscv .postList .dailyPost {
    width: 100%;
    border-top: 1px solid #5E5E5E;
    display: flex;
    flex-direction: column;
}
#dailyDscv .dailyPostWrap:not(:first-of-type) .dailyPost { border: 0; }

#dailyDscv .postList .postBox {
    position: relative;
    width: 100%;
    min-width: 0; /* 내부 p 태그가 줄어들 수 있도록 영역 확보 */
    padding: 20px 0;
    border-bottom: 1px solid #5E5E5E;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

/* 카드 전체 클릭(글 상세) — 태그 버튼 아래 레이어 */
#dailyDscv .postList .postBox .cardLink {
    position: absolute;
    inset: 0;
    z-index: 1;
}
/* 태그 버튼은 위로 — 클릭 시 필터 토글(글 상세로 안 샘) */
#dailyDscv .postList .postBox .tag {
    position: relative;
    z-index: 2;
    border: 0;
    font-family: inherit;
    cursor: pointer;
}

#dailyDscv .postList .postBox p {
    min-width: 0;
    font-size: 24px;
    color: #5E5E5E;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

#dailyDscv .postList .postBox .link {
    margin-left: auto;
}

#dailyDscv .postList .postBox p,
#dailyDscv .postList .postBox .tag,
#dailyDscv .postList .postBox .link {
    transition: all 0.3s ease-in-out;
}

/* JS 쌍방향 호버(is-hovered) — 데스크탑 마우스 연동 + 모바일 자동순환 */
#dailyDscv .postList .postBox.is-hovered p {
    color: var(--darkColor);
}
#dailyDscv .postList .postBox.is-hovered .tag,
#dailyDscv .postList .postBox.is-hovered .link {
    background-color: var(--darkColor);
}

/* 마우스 hover — 데스크탑에만(모바일 터치 시 색 잔상 방지) */
@media (hover: hover) {
    #dailyDscv .postList .postBox:hover p {
        color: var(--darkColor);
    }
    #dailyDscv .postList .postBox:hover .tag,
    #dailyDscv .postList .postBox:hover .link {
        background-color: var(--darkColor);
    }
}

#dailyDscv .thumbList {
    width: 100%;
    max-width: 33.333%;
    display: flex;
}

#dailyDscv .thumbList .thumbBox {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}

#dailyDscv .thumbList .thumbBox li {
    flex: 1;
    display: flex;
}

#dailyDscv .thumbList .thumbBox .postThumb {
    position: relative;
    display: block;
    flex: 1;
    overflow: hidden;
    border-radius: 20px;
}

#dailyDscv .thumbList .thumbBox .postThumb .thumbImg {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    transition: transform 0.6s ease-in-out;
}

/* 반응형 <img> (background-image 대체) — absolute로 채워 박스 높이(flex stretch)에 영향 안 줌. hover scale은 thumbImg에 그대로 */
#dailyDscv .thumbList .thumbBox .postThumb .thumbImg .coverImg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#dailyDscv .thumbList .thumbBox .postThumb:hover .thumbImg,
#dailyDscv .thumbList .thumbBox .postThumb.is-hovered .thumbImg {
    transform: scale(1.1);
}

#dailyDscv .thumbList .thumbBox .postThumb .link {
    position: absolute;
    bottom: 10px;
    right: 10px;
    transition: all 0.3s ease-in-out;
    transform: scale(0.8);
    transform-origin: right bottom;
}

#dailyDscv .thumbList .thumbBox .postThumb:hover .link,
#dailyDscv .thumbList .thumbBox .postThumb.is-hovered .link {
    background-color: var(--darkColor);
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23FFF' d='M14.7997 0C15.4649 0 16 0.534916 16 1.19981V13.1979C16 13.8628 15.4649 14.3978 14.7997 14.3978C14.1345 14.3978 13.5993 13.8628 13.5993 13.1979V4.09436L2.04619 15.6476C1.57606 16.1175 0.81585 16.1175 0.350723 15.6476C-0.114404 15.1776 -0.119405 14.4177 0.350723 13.9528L11.9039 2.40462H2.79639C2.13121 2.40462 1.59606 1.86971 1.59606 1.20481C1.59606 0.539916 2.13121 0.00499914 2.79639 0.00499914H14.7997V0Z'/%3E%3C/svg%3E%0A");
    transform: scale(1);
}

/*
Tablet Device Less than 1023px or greater than 768px
*/
@media all and (min-width:768px) and (max-width:1023px) {
    #tagList {
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px;
        padding: 5px 20px;
    }

    #promoBox .promoList .card {
        padding: 15px;
    }

    #dailyDscv .thumbList { max-width: 350px; }
    #dailyDscv .postList .postBox { padding: 15px 0; }
    #dailyDscv .postList .postBox p { font-size: 20px; }
}

/*
Mobile Device Less than 768px
*/
@media all and (max-width:767px) {
    #tagList {
        width: calc(100% + 30px);
        margin-top: 15px;
        margin-left: -15px;
        margin-right: -15px;
        padding: 5px 15px;
    }

    #promoBox .promoList .card {
        padding: 15px 10px;
    }

    #dailyDscv .dailyPostWrap {
        flex-direction: column;
        gap: 0;
    }

    #dailyDscv .postList { width: 100%; }
    #dailyDscv .postList .postBox { padding: 10px 0; }
    #dailyDscv .postList .postBox p { font-size: 18px; }
    #dailyDscv .thumbList {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 10 / 8;
    }
}

/* blade @push('styles')에서 이관 (CSS 정리) — 썸네일 그룹이 1개로 떨어질 때 채우는 빈 박스 */
#dailyDscv .thumbList .thumbBox .postThumb--placeholder {
    background-color: var(--pointColor);
    cursor: default;
    pointer-events: none;
}
