/* ============================================================
   배때지 V2 메인 · 신상품 '프리미엄 CTA 배너'  — .v2na- 스코프
   (기존 Coverflow 슬라이드 전면 제거 → '신상품 보러가기' 배너로 교체)
   · 섹션은 실시간 랭킹·Top Brand 와 동일한 v2c 시스템(.v2c-sec)을 사용해
     시작선(좌우 padding)·세로 간격을 자동 통일한다.
   · Apple / COS / SSENSE 톤: 화이트 기반 + 매우 연한 그레이 그라데이션, 절제.
   ============================================================ */

/* 배너: 섹션 콘텐츠 시작선(=랭킹 제목/카드 시작 X)에 맞춰 좌우 인셋 = 랭킹 헤더 padding-inline 과 동일 */
.v2na-cta {
    position: relative;
    margin-inline: var(--v2c-sec-pad, 16px);
    min-height: 220px;
    display: flex;
    flex-direction: column;      /* 모바일: 세로(텍스트 → 버튼 → 이미지) */
    gap: 20px;
    padding: 24px;
    border-radius: 28px;
    /* 페이지 웜그레이(#f6f6f4)와 같은 계열의 은은한 패널.
       화이트/한색 그라데이션·보라 틴트 제거 → '신상품만 하얗던' 이질감 해소. */
    background: #f0efec;
    border: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.v2na-cta * { box-sizing: border-box; }

/* ---- 오늘 등록 개수(우측 상단, 실제 집계값) ---- */
.v2na-cta__today {
    position: absolute; top: 16px; right: 18px; z-index: 2;
    font-size: 12px; font-weight: 600; color: #5f6368; letter-spacing: -.1px; white-space: nowrap;   /* #9a9a9f(2.43:1) → 5.26:1 on #f0efec */
}
.v2na-cta__today b { font-size: 13px; font-weight: 800; color: #16161a; }

/* ---- 좌측 텍스트 ---- */
.v2na-cta__text { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.v2na-cta__badge {
    display: inline-flex; align-items: center;
    padding: 4px 10px; border-radius: 999px;
    background: #16161a; color: #fff;
    font-size: 10.5px; font-weight: 800; letter-spacing: .08em;
}
/* 제목: 실시간 랭킹 헤더(.v2c-sec__head h2)와 동일한 크기·굵기·자간(18/20/22·800). */
.v2na-cta__title {
    margin: 13px 0 0;
    font-size: 18px; font-weight: 800; letter-spacing: -.4px; color: #16161a; line-height: 1.32;
}
.v2na-cta__desc {
    margin: 9px 0 0;
    font-size: 13px; font-weight: 400; color: #6b6b74; line-height: 1.6;
}
/* 검정 CTA 버튼 — 모바일 100% */
.v2na-cta__btn {
    margin-top: 18px;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; height: 50px; padding: 0 22px;
    border-radius: 14px; background: #16161a; color: #fff;
    font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
    transition: transform .2s ease, box-shadow .2s ease;
}
.v2na-cta__arrow { font-size: 16px; line-height: 1; transition: transform .2s ease; }
@media (hover: hover) and (pointer: fine) {
    .v2na-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 9px 24px rgba(0, 0, 0, .2); }
    .v2na-cta__btn:hover .v2na-cta__arrow { transform: translateX(3px); }
}
.v2na-cta__btn:focus-visible { outline: 2px solid #16161a; outline-offset: 3px; }

/* ---- 우측 이미지 콜라주(실제 최신 상품 3장) ---- */
.v2na-cta__collage {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    width: 100%;
    height: 140px;               /* 모바일: 콜라주 높이 고정(배너 과다 세로증가 방지) */
}
.v2na-cta__ph {
    position: relative; overflow: hidden;
    border-radius: 24px;          /* 라운드 24 */
    background: #e9eaed;
}
.v2na-cta__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2na-cta__ph--1 { grid-row: 1 / 3; }          /* 큰 이미지(좌, 2행 span) */
.v2na-cta__ph--2 { grid-column: 2; grid-row: 1; }
.v2na-cta__ph--3 { grid-column: 2; grid-row: 2; }
/* 이미지가 1~2장뿐이면 큰 칸이 전체를 채우도록(빈칸 방지) */
.v2na-cta__collage:has(.v2na-cta__ph--1:last-child) { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.v2na-cta__collage:has(.v2na-cta__ph--2:last-child) { grid-template-rows: 1fr; }
.v2na-cta__collage:has(.v2na-cta__ph--2:last-child) .v2na-cta__ph--1 { grid-row: 1; }

/* ============================================================
   태블릿(≥768) : 좌우 배치 6:4
   ============================================================ */
@media (min-width: 768px) {
    .v2na-cta {
        flex-direction: row; align-items: center; gap: 28px;
        min-height: 240px; padding: 30px 32px;
    }
    .v2na-cta__text { flex: 1 1 58%; }
    .v2na-cta__title { font-size: 20px; }         /* = 랭킹 태블릿 h2 */
    .v2na-cta__btn { width: auto; min-width: 190px; }
    .v2na-cta__collage {
        flex: 1 1 42%;
        height: auto;
        aspect-ratio: 4 / 3;                       /* 배너 높이에 맞는 세로형 콜라주 */
        max-height: 184px;
    }
}

/* ============================================================
   PC(≥1200) : 좌우 배치, 텍스트 ← / 이미지 →
   ============================================================ */
@media (min-width: 1200px) {
    .v2na-cta { min-height: 240px; gap: 40px; padding: 32px 40px; }
    .v2na-cta__text { flex: 1 1 60%; }
    .v2na-cta__title { font-size: 22px; }         /* = 랭킹 PC h2 */
    .v2na-cta__desc { font-size: 14px; }
    .v2na-cta__collage { flex: 1 1 40%; max-height: 196px; }

    /* ---- PC 전용 : '오늘 업데이트 N개' 배지 (2026-07-30) ----
       문제: 배지가 카드 우측 상단에 절대배치돼 있었지만 콜라주 이미지 top 과 16px 만
             떨어져 사진 위에 얹힌 것처럼 답답했다.
       처방: ① 배지를 카드 상단/우측에서 20px 로 띄운 흰색 반투명 pill 로 만들고
             ② 카드 위쪽에 배지 줄만큼 여백을 확보해 이미지와 20px 이상 간격을 준다.
       ★ 이미지 크기·비율(flex 40% · max-height 196 · aspect-ratio)은 건드리지 않는다.
       ★ 모바일·태블릿 규칙은 이 미디어쿼리 밖이라 영향 없음. */
    .v2na-cta { padding-top: 70px; }              /* 32 → 70 : 배지 줄(=48) + 여백 22 */

    .v2na-cta__today {
        top: 20px; right: 20px;
        padding: 6px 12px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .88);
        -webkit-backdrop-filter: saturate(140%) blur(6px);
        backdrop-filter: saturate(140%) blur(6px);
        box-shadow: 0 2px 8px rgba(22, 22, 26, .08);
    }
}

/* ---- 모션 최소화 ---- */
@media (prefers-reduced-motion: reduce) {
    .v2na-cta__btn, .v2na-cta__arrow { transition: none !important; }
}

/* ============================================================================
 * 2026-08-19 — HOME 콘텐츠 섹션의 좌우 끝선을 «회원님을 위한 추천» 에 통일한다.
 *              기준 SSOT = 추천 섹션(.v2reco-section). 추천 CSS/JS 는 무수정.
 *
 *  실측 문제: 섹션 «박스» 는 원래부터 전부 동일했다(1440px: L=108 R=1332).
 *            어긋난 건 «내부 여백» 이었다 —
 *              .v2-home-section 계열(추천/기획전/신상품/최근본/가이드…) : 내부 여백 0
 *              .v2c-sec 계열(랭킹·TopBrand·셀러브리티·스타일태그·매거진) : 24px(모바일 16px)
 *                → --v2c-sec-pad(헤더/그리드/탭) · --v2c-edge(레일) · .v2na-cta margin-inline
 *
 *  해결: HOME 안의 .v2c-sec 에서만 두 변수를 0 으로 만들어 박스선에 붙인다.
 *        레일 여백이 0 이면 카드 폭 공식의 edge 항도 0 이므로, per/gap 을 추천의
 *        --rc/--rgap 과 «같은 값» 으로 두면 카드 폭까지 정확히 일치한다.
 *        브랜드 원형(data-carousel-mode=brand)은 자체 레이아웃이라 제외한다.
 *        .v2-home 스코프라 매거진·브랜드·LIVE 등 다른 페이지의 .v2c-sec 은 영향 없다.
 * ========================================================================== */
.v2-home .v2c-sec{ --v2c-sec-pad: 0px; --v2c-edge: 0px; }

/* ⚠ --v2c-edge 는 .v2c «자기 자신» 에도 선언돼 있어(16/20/24px) 섹션에서 준 값이
   상속으로는 덮이지 않는다. .v2c 요소를 직접 겨냥해야 0 이 먹는다(특이도 0,0,3,0).
   ※ 카드 «장수»(--v2c-per)·gap 은 건드리지 않는다 — v2-carousel.css 의 원래 값
     (2.3 / 3.5 / 4.5) 을 그대로 쓴다. 여기서는 좌우 «끝선»만 맞춘다. */
.v2-home .v2c-sec .v2c:not([data-carousel-mode=brand]){ --v2c-edge: 0px; }
