@charset "utf-8";

/* #contentWrap 베이스·반응형은 common.css로 이관(공통). */
/* 일상발견 콘텐츠 좌우 거터 — 메인 섹션(65px)과 통일(데스크톱 ≥1024). 검색은 search.css에서 40px로 되돌림. 태블릿/모바일은 common.css 값 유지. */
@media (min-width: 1024px) {
    #contentWrap {
        padding: 0 65px;
    }
}

/* 배너박스 */
#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: var(--fs-20);
    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: var(--fs-16);
    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: var(--fs-16);
    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: 21px;
}

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

#dailyDscv .postList {
    flex: 1; /* 나머지 차지(인덱스 dailyList와 동일) — thumbList 폭만 실제 작동 */
    min-width: 0; /* 부모 flex 컨테이너에서 줄어들 수 있도록 설정 */
    width: auto;
}

#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: 18px 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;
    width: 143px !important;
    height: 48px;
    font-size: var(--fs-28);
    margin-right: 12px;
}

#dailyDscv .postList .postBox p {
    min-width: 0;
    font-size: var(--fs-28);
    color: #5e5e5e;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

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

/* 텍스트 라인 태그칩·화살표 — 기본 검정(.gray 변형이라 글자/화살표는 이미 흰색). hover는 아래에서 다크그레이(#5e5e5e) */
#dailyDscv .postList .postBox .tag {
    color: #fff;
    background-color: #000;
}
#dailyDscv .postList .postBox .link {
    background-color: #000;
}

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

/* JS 쌍방향 호버(is-hovered) — 데스크탑 마우스 연동 + 모바일 자동순환. hover 시 칩·화살표·제목 모두 다크그레이 */
#dailyDscv .postList .postBox.is-hovered p {
    color: #5e5e5e;
    font-weight: 600;
}
#dailyDscv .postList .postBox.is-hovered .tag,
#dailyDscv .postList .postBox.is-hovered .link {
    background-color: #5e5e5e;
}

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

#dailyDscv .thumbList {
    flex: 0 0 600px; /* ≥1601 고정폭(인덱스 일상발견과 동일 규칙). <1601은 아래 쿼리서 40% */
    width: 600px;
    max-width: 600px;
    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);
}
@media all and (min-width: 1280px) and (max-width: 1600px) {
    #dailyDscv .thumbList {
        flex: 0 0 520px;
        width: 520px;
        max-width: 520px;
    }
    #dailyDscv .postList .postBox p {
        font-size: var(--fs-24);
    }
    #dailyDscv .postList .postBox .tag {
        width: 110px !important;
        height: 42px;
        font-size: var(--fs-20);
    }
}
@media all and (min-width: 1200px) and (max-width: 1279px) {
    #dailyDscv .thumbList {
        flex: 0 0 440px;
        width: 440px;
        max-width: 440px;
    }
    #dailyDscv .postList .postBox p {
        font-size: var(--fs-20);
    }
    #dailyDscv .dpostList .postBox .tag {
        width: 90px !important;
        height: 36px;
        font-size: var(--fs-18);
    }
}
@media all and (min-width: 1024px) and (max-width: 1199px) {
    #dailyDscv .thumbList {
        flex: 0 0 380px;
        width: 380px;
        max-width: 380px;
    }
    #dailyDscv .postList .postBox p {
        font-size: var(--fs-20);
    }
    #dailyDscv .dpostList .postBox .tag {
        width: 90px !important;
        height: 36px;
        font-size: var(--fs-16);
    }
}
/*
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 {
        gap: 20px;
    }

    #dailyDscv .thumbList {
        flex: 0 0 320px;
        width: 320px;
        max-width: 320px;
    }

    #dailyDscv .postList .postBox .tag {
        width: 70px !important;
        height: 30px;
        font-size: var(--fs-16);
        margin-right: 0px;
    }

    #dailyDscv .postList .postBox {
        padding: 15px 0;
    }
    #dailyDscv .postList .postBox p {
        font-size: var(--fs-20);
    }
}

/*
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;
        padding-bottom: 10px;
    }

    #dailyDscv .postList {
        width: 100%;
    }
    #dailyDscv .postList .postBox {
        padding: 10px 0;
    }
    #dailyDscv .postList .postBox p {
        font-size: var(--fs-18);
    }
    #dailyDscv .thumbList {
        flex: initial;
        width: 100%;
        max-width: 100%;
        height: auto !important; /* 250 고정 해제 → 썸네일 비율로 높이 결정 */
        flex-direction: column; /* 여러 청크(thumbBox) 세로 스택 */
        gap: 10px;
    }
    /* 모바일 썸네일 비율 고정 — 윗줄 2칸 3:2, 아랫줄 3칸 1:1 (메인·어드민 크롭과 일치) */
    #dailyDscv .thumbList .thumbBox li {
        flex: none;
    }
    #dailyDscv .thumbList .thumbBox li:first-child .postThumb {
        aspect-ratio: 3 / 2;
    }
    #dailyDscv .thumbList .thumbBox li:last-child .postThumb {
        aspect-ratio: 1 / 1;
    }
    #dailyDscv .postList .postBox .tag {
        width: 80px !important;
        height: 36px;
        font-size: var(--fs-14);
        margin-right: 0px;
    }
}

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