/* ===== yn-camp-wrap (그리드 + 컨테이너) ===== */
        .yn-camp-wrap {
            container-type: inline-size;
            width: 100%;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }

        /* ===== yn-camp-card ===== */
        .yn-camp-card {
            container-type: inline-size;
            container-name: camp-card;
            border: 1px solid #dedede;
            overflow: hidden;
            background: #fff;
        }

        /* 테마별 헤더 색상 */
        .yn-camp-card--talent   .top { background: #2594AF; }
        .yn-camp-card--tongnamu .top { background: #e3672a; }
        .yn-camp-card--children .top { background: #33c189; }

        .yn-camp-card .top .title {
            text-align: center;
            color: #fff;
            font-size: 20px;
            line-height: clamp(3rem, 12cqi, 5rem);
            font-weight: 200;
        }
        @media (max-width: 1024px) {
            .yn-camp-card .top .title {
                font-size: 14px;
            }
            .yn-camp-wrap {
                gap: 10px;
            }
        }
        .yn-camp-card .top .title strong {
            font-weight: 700;
        }
        .yn-camp-card > a,
        .yn-camp-card .box .banner a {
            display: block;
            text-decoration: none !important;
            color: inherit;
        }
        .yn-camp-card > a:hover,
        .yn-camp-card > a:visited,
        .yn-camp-card > a *,
        .yn-camp-card > a:hover * {
            text-decoration: none !important;
            color: inherit;
        }
        .yn-camp-card .box {
            padding: clamp(8px, 3.5cqi, 14px) clamp(8px, 3.5cqi, 14px) 0;
        }
        .yn-camp-card .box .card-image {
            width: 100%;
            aspect-ratio: 16 / 9;
            overflow: hidden;
        }
        .yn-camp-card .box .card-image img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top;
        }
        .yn-camp-card .box ul {
            list-style: none;
            margin-top: clamp(8px, 3.5cqi, 14px);
        }
        .yn-camp-card .box ul li {
            padding: clamp(0.6rem, 2.5cqi, 1rem) clamp(0.2rem, 1cqi, 0.4rem);
        }
        .yn-camp-card .box ul li + li {
            border-top: 1px solid #dedede;
        }
        .yn-camp-card .box ul li .headline {
            font-size: 20px;
            line-height: 28px;
            min-height: 44px;
            font-weight: 500;
            color: #000;
            overflow: hidden;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            display: -webkit-box;
        }
        .yn-camp-card .box ul li .headline a {
            color: inherit;
            text-decoration: none;
        }
        .yn-camp-card .box ul li .headline a:hover {
            text-decoration: none;
            color: #888;
        }
        .yn-camp-card .box ul li .badge {
            display: inline-block;
            font-size: clamp(0.8rem, 2.5cqi, 0.95rem);
            background: #33c189;
            color: #fff;
            padding: 2px 6px;
            margin-bottom: 4px;
        }
        .yn-camp-card .box .banner {
            margin-top: 4px;
            padding: clamp(8px, 3.5cqi, 14px) 0;
        }
        .yn-camp-card .box .banner img {
            display: block;
            width: 100%;
            height: auto;
        }

        /* ===== 미디어 쿼리 — 태블릿 기준 ===== */
        @media (max-width: 1024px) {
            .yn-camp-card .top .title {
                font-size: 16px;
            }
            .yn-camp-wrap {
                grid-template-columns: 1fr;
                gap: 0px;
            }
            .yn-camp-card .box .card-image {
                display: none;
            }
            .yn-camp-card {
                margin: 0 10px 10px;
            }
            .yn-camp-card .box ul li + li {
                display: none;
            }
            .yn-camp-card .box {
                padding: 6px 10px 0;
            }
            .yn-camp-card .box ul {
                margin-top: 4px;
            }
            .yn-camp-card .box ul li {
                padding: 6px 2px;
            }
            .yn-camp-card .box .banner {
                margin-top: 2px;
                padding: 6px 0;
            }
            .yn-camp-card .box ul li .headline {
                font-size: 15px;
            }
        }