/* ═══════════════════════════════════════
   Landing Builder — 섹션 타입별 스타일
   site3 (garden-study.co.kr)
   ═══════════════════════════════════════ */

:root {
    --lp-primary: #2563eb;
    --lp-primary-light: #dbeafe;
    --lp-accent: #f59e0b;
    --lp-dark: #0f172a;
    --lp-gray: #64748b;
    --lp-radius: 16px;
    --lp-max-w: 1100px;
    --cc-radius: 14px;
    --cc-text: #1e293b;
    --cc-muted: #555;
    --cc-blue: #2563eb;
    --cc-bg: #f5f5f5;
    --cc-surface: #fff;
    --cc-shadow: 0 8px 24px rgba(0,0,0,.1);
}

/* ═══════════════════════════════════════
   BASE — cc-hero (히어로 섹션)
   ═══════════════════════════════════════ */
.cc-hero {
    position: relative;
    background-size: cover;
    background-position: center;
    background-color: #444;
    overflow: hidden;
}
.cc-hero__overlay {
    position: absolute;
    inset: 0;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: rgba(0,0,0,.15);
}
.cc-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 780px;
    margin: 0 auto;
    padding: 110px 24px 80px;
    width: 100%;
}
.cc-hero__head {
    text-align: center;
    margin-bottom: 48px;
}
.cc-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #111;
    color: #fff;
    padding: 16px 36px;
    border-radius: 40px;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -.01em;
}
.cc-hero__title {
    color: #fff;
    font-size: 2rem;
    font-weight: 900;
    text-align: center;
    margin-top: 1rem;
}
.cc-hero__title-sub {
    display: block;
    font-size: .5em;
    font-weight: 500;
    opacity: .85;
    margin-top: 8px;
}

/* ═══════════════════════════════════════
   BASE — cc-cards (카드 그리드)
   ═══════════════════════════════════════ */
.cc-cards { display: grid; gap: 24px; margin-bottom: 32px; }
.cc-cards--2col { grid-template-columns: repeat(2, 1fr); }
.cc-card {
    background: rgba(255,255,255,.93);
    border-radius: var(--cc-radius);
    padding: 36px 30px 30px;
    text-align: center;
    box-shadow: 0 2px 16px rgba(0,0,0,.06);
    transition: transform .2s, box-shadow .2s;
}
.cc-card:hover { transform: translateY(-3px); box-shadow: var(--cc-shadow); }
.cc-card__title {
    font-size: 21px; font-weight: 800; color: var(--cc-text);
    margin-bottom: 12px;
}
.cc-card__list {
    list-style: none; padding: 0; margin: 0; text-align: left;
}
.cc-card__list li {
    font-size: 15px; color: var(--cc-muted);
    padding: 6px 0 6px 20px;
    position: relative; line-height: 1.6;
}
.cc-card__list li::before {
    content: ''; position: absolute; left: 0; top: 14px;
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--cc-blue); opacity: .5;
}
.cc-card__sub {
    font-size: 14px; color: var(--cc-muted);
    line-height: 1.55; margin: 10px;
}

/* sw-cards 체크 변형 */
.sw-hero__badge { background: var(--lp-primary); }
.sw-cards--checks .cc-card__title { font-size: 26px; margin-bottom: 16px; }
.sw-cards--checks .cc-card__list { display: inline-block; text-align: left; }
.sw-cards--checks .cc-card__list li::before {
    content: '✔'; width: auto; height: auto; border-radius: 0;
    background: none; opacity: 1; font-size: 15px; color: var(--cc-text); top: 6px;
}

/* ═══════════════════════════════════════
   BASE — cc-faq (FAQ 아코디언)
   ═══════════════════════════════════════ */
.cc-faq { padding: 80px 24px; background: var(--cc-bg); }
.cc-faq__inner { max-width: 780px; margin: 0 auto; }
.cc-faq__title {
    font-size: 26px; font-weight: 800; color: var(--cc-text);
    text-align: center; margin: 0 0 40px;
}
.cc-faq__list { display: flex; flex-direction: column; gap: 12px; }
.cc-faq__item {
    background: var(--cc-surface); border-radius: var(--cc-radius);
    box-shadow: 0 2px 12px rgba(0,0,0,.05); overflow: hidden;
}
.cc-faq__q {
    font-size: 17px; font-weight: 700; color: var(--cc-text);
    padding: 22px 48px 22px 24px; cursor: pointer; list-style: none;
    position: relative; line-height: 1.5;
}
.cc-faq__q::-webkit-details-marker { display: none; }
.cc-faq__q::marker { display: none; content: ''; }
.cc-faq__q::after {
    content: ''; position: absolute; right: 20px; top: 50%;
    width: 10px; height: 10px;
    border-right: 2.5px solid var(--cc-muted);
    border-bottom: 2.5px solid var(--cc-muted);
    transform: translateY(-65%) rotate(45deg);
    transition: transform .25s ease;
}
details.cc-faq__item[open] .cc-faq__q::after { transform: translateY(-35%) rotate(-135deg); }
.cc-faq__a {
    font-size: 15px; line-height: 1.75; color: var(--cc-muted);
    padding: 0 24px 22px;
}

/* ═══════════════════════════════════════
   BASE — sw-recommend (체크리스트)
   ═══════════════════════════════════════ */
.sw-recommend__title {
    font-size: 22px; font-weight: 800; color: var(--cc-text); margin-bottom: 24px;
}
.sw-recommend__list {
    list-style: none; padding: 0; margin: 0;
    display: inline-flex; flex-direction: column; gap: 14px; text-align: left;
}
.sw-recommend__item {
    display: flex; align-items: center; gap: 12px;
    font-size: 17px; font-weight: 600; color: var(--cc-text); line-height: 1.5;
}
.sw-recommend__check { flex-shrink: 0; width: 22px; height: 22px; color: var(--cc-text); }
.sw-recommend__check svg { width: 100%; height: 100%; }

/* ═══════════════════════════════════════
   BASE — sw-sticky (하단 고정 상담바)
   ═══════════════════════════════════════ */
.sw-sticky {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 900;
    background: rgba(15,23,42,.92);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    padding: 14px 0;
}
.sw-sticky__form { width: min(1100px, calc(100% - 32px)); margin: 0 auto; }
.sw-sticky__inner { display: flex; align-items: center; justify-content: center; gap: 20px; }
.sw-sticky__label { color: #fff; font-size: 17px; font-weight: 800; white-space: nowrap; flex-shrink: 0; }
.sw-sticky__fields { display: flex; align-items: center; justify-content: center; gap: 12px; }
.sw-sticky__field { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.sw-sticky__field-label { color: rgba(255,255,255,.9); font-size: 14px; font-weight: 700; white-space: nowrap; flex-shrink: 0; }
.sw-sticky__input {
    width: 180px; padding: 11px 14px; border-radius: 8px;
    border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.95);
    color: #1e293b; font-size: 15px; outline: none; box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}
.sw-sticky__input:focus { border-color: #6b9fff; box-shadow: 0 0 0 3px rgba(107,159,255,.3); }
.sw-sticky__input::placeholder { color: #9ca3af; }
.sw-sticky__agree {
    display: flex; align-items: center; gap: 6px;
    color: rgba(255,255,255,.85); font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0;
}
.sw-sticky__agree input[type="checkbox"] { width: 17px; height: 17px; accent-color: #4a7ec7; cursor: pointer; flex-shrink: 0; }
.sw-sticky__submit {
    flex-shrink: 0; padding: 11px 32px; border: none; border-radius: 8px;
    background: var(--lp-primary); color: #fff; font-size: 16px; font-weight: 800;
    cursor: pointer; transition: background .15s, transform .1s; white-space: nowrap;
}
.sw-sticky__submit:hover { opacity: .9; }
.sw-sticky__submit:active { transform: scale(.97); }
.sw-sticky__submit:disabled { background: rgba(255,255,255,.15); color: rgba(255,255,255,.4); cursor: not-allowed; }

/* ═══════════════════════════════════════
   BASE — 반응형 (cc-/sw- 클래스)
   ═══════════════════════════════════════ */
@media (max-width: 768px) {
    .cc-hero__inner { padding: 90px 16px 60px; }
    .cc-hero__badge { font-size: 21px; padding: 14px 28px; }
    .cc-hero__head { margin-bottom: 36px; }
    .cc-cards { gap: 16px; margin-bottom: 24px; }
    .cc-cards--2col { grid-template-columns: 1fr; }
    .cc-card { padding: 30px 24px 26px; }
    .cc-card__title { font-size: 19px; }
    .cc-card__list li { font-size: 14px; }
    .sw-recommend__title { font-size: 20px; }
    .sw-recommend__item { font-size: 16px; }
    .sw-recommend__check { width: 20px; height: 20px; }
    body { padding-bottom: 130px; }
    .sw-sticky { padding: 12px 0; }
    .sw-sticky__inner { flex-direction: column; gap: 8px; }
    .sw-sticky__label { font-size: 15px; }
    .sw-sticky__fields { flex-wrap: wrap; gap: 8px; width: 100%; }
    .sw-sticky__field-label { display: none; }
    .sw-sticky__field { flex: 1 1 calc(50% - 4px); }
    .sw-sticky__input { width: 100%; }
    .sw-sticky__submit { flex: 1 1 auto; padding: 11px 24px; }
}

@media (max-width: 480px) {
    .cc-hero__badge { font-size: 19px; padding: 12px 24px; }
    .cc-card__title { font-size: 18px; }
    .cc-faq__q { font-size: 15px; padding: 18px 40px 18px 20px; }
    .cc-faq__a { font-size: 14px; padding: 0 20px 18px; }
    .sw-recommend__title { font-size: 18px; }
    .sw-recommend__item { font-size: 15px; gap: 10px; }
    .sw-recommend__check { width: 18px; height: 18px; }
    .sw-sticky__fields { gap: 6px; }
    .sw-sticky__field { flex: 1 1 calc(50% - 3px); }
    .sw-sticky__input { padding: 10px 12px; font-size: 14px; }
    .sw-sticky__agree { font-size: 12px; }
    .sw-sticky__submit { font-size: 14px; padding: 10px 20px; }
}

/* ═══════════════════════════════════════
   스크롤 애니메이션
   ═══════════════════════════════════════ */
[data-animate] {
    opacity: 0;
    transition: opacity .6s ease, transform .6s ease;
}
[data-animate="fade-up"] { transform: translateY(30px); }
[data-animate="slide-left"] { transform: translateX(-40px); }
[data-animate="slide-right"] { transform: translateX(40px); }
[data-animate="fade-in"] { transform: none; }

[data-animate].lp-animated {
    opacity: 1;
    transform: none;
}

/* ── 공통 섹션 배경 래퍼 ── */
.lp-sec-wrap {
    position: relative;
}
/* 래퍼에 배경색 지정 시, 자식 섹션의 기본 배경 제거 */
.lp-sec-wrap > .cc-faq,
.lp-sec-wrap > .lp-features,
.lp-sec-wrap > .lp-checklist,
.lp-sec-wrap > .lp-cta-text,
.lp-sec-wrap > .lp-duration,
.lp-sec-wrap > .lp-compare,
.lp-sec-wrap > .lp-gallery,
.lp-sec-wrap > .lp-contact-btn,
.lp-sec-wrap > .lp-review-slider,
.lp-sec-wrap > .lp-custom {
    background: transparent !important;
}

/* 모션 비선호 사용자 */
@media (prefers-reduced-motion: reduce) {
    [data-animate] { opacity: 1; transform: none; transition: none; }
}

/* ── 과정별 테마 컬러 ── */
.lp-theme--social    { --lp-primary: #1e3a5f; --lp-primary-light: #d1e3f6; --lp-accent: #2563eb; }
.lp-theme--engineer  { --lp-primary: #1e3a5f; --lp-primary-light: #d1e3f6; --lp-accent: #2563eb; }
.lp-theme--transfer  { --lp-primary: #1a1a1a; --lp-primary-light: #e2e8f0; --lp-accent: #fc5230; }
.lp-theme--beauty    { --lp-primary: #d63384; --lp-primary-light: #fce4f0; --lp-accent: #f7c948; }
.lp-theme--youth     { --lp-primary: #1a6b3c; --lp-primary-light: #d4edda; --lp-accent: #2563eb; }
.lp-theme--psychology { --lp-primary: #073b83; --lp-primary-light: #dbeafe; --lp-accent: #5d6dbe; }
.lp-theme--edu-planner { --lp-primary: #1e3a5f; --lp-primary-light: #d1e3f6; --lp-accent: #f59e0b; }
.lp-theme--korean    { --lp-primary: #2c3e7b; --lp-primary-light: #e0e7ff; --lp-accent: #7c3aed; }

/* hero 배지 테마 색상 */
.lp-theme .cc-hero__badge,
.lp-theme .sw-hero__badge { background: var(--lp-primary); }
.lp-theme .lp-highlight {
    background: linear-gradient(transparent 60%, rgba(37,99,235,.18) 60%);
    color: var(--lp-primary);
}
.lp-theme .lp-duration__badge { background: var(--lp-primary); }
.lp-theme .lp-duration__card { border-color: var(--lp-primary-light); }
.lp-theme .lp-duration__card-title { border-bottom-color: var(--lp-primary-light); }
.lp-theme .lp-contact-btn__btn--phone { border-color: var(--lp-primary); color: var(--lp-primary); }

/* ═══════════════════════════════════════
   HERO SPLIT — 좌우 분할 레이아웃 (gardensam 스타일)
   ═══════════════════════════════════════ */
.lp-hero-split {
    padding: 60px 24px;
}
.lp-hero-split__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}
.lp-hero-split__text {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.lp-hero-split__badge {
    display: inline-block;
    align-self: flex-start;
    background: rgba(15,23,42,.06);
    border: 1px solid rgba(15,23,42,.1);
    color: var(--lp-dark);
    padding: 6px 16px;
    border-radius: 6px;
    font-size: .85rem;
    font-weight: 700;
}
.lp-hero-split__title {
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    font-weight: 900;
    color: var(--lp-dark);
    line-height: 1.35;
    margin: .25rem 0 .5rem;
}
.lp-hero-split__desc {
    font-size: .95rem;
    color: var(--lp-gray);
    line-height: 1.7;
    margin: 0;
}
.lp-hero-split__items {
    display: flex;
    gap: 2rem;
    margin-top: 1rem;
}
.lp-hero-split__item {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .9rem;
    color: var(--lp-dark);
    line-height: 1.5;
}
.lp-hero-split__item strong {
    font-weight: 800;
}
.lp-hero-split__item-dot {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--lp-dark);
    margin-top: 5px;
}
.lp-hero-split__item-desc {
    color: var(--lp-gray);
    font-size: .85rem;
}
.lp-hero-split__visual {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.lp-hero-split__img {
    width: 100%;
    border-radius: var(--lp-radius);
    object-fit: cover;
    max-height: 320px;
}
.lp-hero-split__box {
    background: #fff;
    border: 1px solid rgba(15,23,42,.1);
    border-radius: 10px;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.lp-hero-split__box-label {
    background: var(--lp-dark);
    color: #fff;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: .85rem;
    font-weight: 800;
    white-space: nowrap;
}
.lp-hero-split__box-text {
    font-size: .9rem;
    font-weight: 600;
    color: var(--lp-dark);
}

@media (max-width: 768px) {
    .lp-hero-split { padding: 40px 16px; }
    .lp-hero-split__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .lp-hero-split__items {
        flex-direction: column;
        gap: 1rem;
    }
}
@media (max-width: 480px) {
    .lp-hero-split__title { font-size: 1.5rem; }
}

/* ── 히어로 오버레이 옵션 ── */
.cc-hero__overlay--dark {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(0,0,0,.45);
}

/* ── 공통 섹션 ── */
.lp-section-title {
    text-align: center;
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    font-weight: 900;
    color: var(--lp-dark);
    margin-bottom: 2rem;
    line-height: 1.4;
}

.lp-highlight {
    background: linear-gradient(transparent 60%, rgba(37,99,235,.18) 60%);
    font-weight: 800;
    color: var(--lp-primary);
}

/* ── FEATURES 카드 3열 ── */
.lp-features {
    padding: 4rem 1.5rem;
}
.lp-features__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
}
.lp-features__grid {
    display: grid;
    gap: 1.5rem;
}
.lp-features__grid--2 { grid-template-columns: repeat(2, 1fr); }
.lp-features__grid--3 { grid-template-columns: repeat(3, 1fr); }
.lp-features__grid--4 { grid-template-columns: repeat(4, 1fr); }

.lp-features__card {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: var(--lp-radius);
    padding: 2rem 1.5rem;
    text-align: center;
    box-shadow: 0 2px 12px rgba(15,23,42,.06);
    transition: transform .2s, box-shadow .2s;
}
.lp-features__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(15,23,42,.1);
}
.lp-features__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 1rem;
}
.lp-features__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.lp-features__title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--lp-dark);
    margin-bottom: .5rem;
}
.lp-features__desc {
    font-size: .875rem;
    color: var(--lp-gray);
    line-height: 1.6;
}

/* ── COMPARE 배경 ── */
.lp-compare {
    padding: 4rem 1.5rem;
    position: relative;
    background-size: cover;
    background-position: center;
}
.lp-compare--bg { color: #fff; }
.lp-compare--bg .lp-section-title { color: #fff; }
.lp-compare__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* ── CHECKLIST ── */
.lp-checklist {
    padding: 3rem 1.5rem;
}
.lp-checklist__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
    text-align: center;
}

/* ── CTA TEXT ── */
.lp-cta-text {
    padding: 3rem 1.5rem;
    text-align: center;
}
.lp-cta-text__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
}
.lp-cta-text__heading {
    font-size: clamp(1.3rem, 3vw, 1.8rem);
    font-weight: 900;
    color: var(--lp-dark);
    margin-bottom: 1rem;
    line-height: 1.5;
}
.lp-cta-text__body {
    font-size: 1rem;
    color: var(--lp-gray);
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.lp-cta-text__list {
    list-style: none;
    padding: 0;
    margin: 1.5rem auto 0;
    max-width: 600px;
    text-align: left;
}
.lp-cta-text__list li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .5rem 0;
    font-size: .95rem;
    color: var(--lp-dark);
    line-height: 1.6;
}
.lp-cta-text__list li .sw-recommend__check {
    flex-shrink: 0;
    margin-top: 2px;
}

/* ── DURATION ── */
.lp-duration {
    padding: 3rem 1.5rem;
    text-align: center;
}
.lp-duration__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
}
.lp-duration__badge {
    display: inline-block;
    background: var(--lp-primary);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    padding: .7rem 2.5rem;
    border-radius: 999px;
    margin-bottom: 2rem;
}
.lp-duration__grid {
    display: grid;
    gap: 1.5rem;
}
.lp-duration__grid--2 { grid-template-columns: repeat(2, 1fr); }
.lp-duration__grid--3 { grid-template-columns: repeat(3, 1fr); }
.lp-duration__card {
    background: #fff;
    border: 2px solid rgba(37,99,235,.15);
    border-radius: var(--lp-radius);
    padding: 2rem 1.5rem;
    box-shadow: 0 2px 12px rgba(15,23,42,.06);
}
.lp-duration__card-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--lp-dark);
    margin-bottom: 1rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--lp-primary-light);
}

/* ── CONTACT BTN ── */
.lp-contact-btn { padding: 2rem 1.5rem; }
.lp-contact-btn__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.lp-contact-btn__btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .9rem 2rem;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
    border: 2px solid transparent;
}
.lp-contact-btn__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.lp-contact-btn__btn svg { width: 22px; height: 22px; }
.lp-contact-btn__btn--phone {
    background: #fff;
    border-color: var(--lp-primary);
    color: var(--lp-primary);
}
.lp-contact-btn__btn--kakao {
    background: #fee500;
    color: #3c1e1e;
    border-color: #fee500;
}

/* ── CUSTOM HTML ── */
.lp-custom { position: relative; }
.lp-custom__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* ── IMAGE GALLERY ── */
.lp-gallery { padding: 4rem 1.5rem; }
.lp-gallery__inner { max-width: var(--lp-max-w); margin: 0 auto; }
.lp-gallery__desc {
    text-align: center;
    color: var(--lp-gray);
    margin-bottom: 2rem;
    font-size: .95rem;
}
.lp-gallery__grid { display: grid; gap: 1.25rem; }
.lp-gallery__grid--1 { grid-template-columns: 1fr; max-width: 500px; margin: 0 auto; }
.lp-gallery__grid--2 { grid-template-columns: repeat(2, 1fr); }
.lp-gallery__grid--3 { grid-template-columns: repeat(3, 1fr); }
.lp-gallery__grid--4 { grid-template-columns: repeat(4, 1fr); }
.lp-gallery__item {
    border-radius: var(--lp-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 12px rgba(15,23,42,.08);
    border: 1px solid rgba(15,23,42,.06);
    transition: transform .2s, box-shadow .2s;
}
.lp-gallery__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(15,23,42,.12);
}
.lp-gallery__img-wrap { aspect-ratio: auto; overflow: hidden; }
.lp-gallery__img-wrap img { width: 100%; height: auto; display: block; }
.lp-gallery__caption {
    padding: .75rem 1rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--lp-dark);
    text-align: center;
    background: #f8fafc;
}

/* ═══════════════════════════════════════
   REVIEW SLIDER — 후기 이미지 슬라이더
   ═══════════════════════════════════════ */
.lp-review-slider {
    padding: 4rem 1.5rem;
    overflow: visible;
}
.lp-review-slider__inner {
    max-width: var(--lp-max-w);
    margin: 0 auto;
    position: relative;
}
.lp-review-slider__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}
.lp-review-slider__header .lp-section-title {
    margin-bottom: 0;
    text-align: left;
}
.lp-review-slider__more {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .9rem;
    font-weight: 700;
    color: #fff;
    background: var(--lp-primary);
    padding: .5rem 1.2rem;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .15s;
}
.lp-review-slider__more:hover { opacity: .85; }
.lp-review-slider__more svg { width: 16px; height: 16px; }
.lp-review-slider__track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 1rem;
    margin: 0 -1rem;
    scrollbar-width: none;
}
.lp-review-slider__track::-webkit-scrollbar { display: none; }
.lp-review-slider__card {
    flex: 0 0 200px;
    scroll-snap-align: start;
    border-radius: var(--lp-radius);
    transition: transform .2s, box-shadow .2s;
    display: block;
    text-decoration: none;
    background: #f1f5f9;
}
.lp-review-slider__card img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    display: block;
    border-radius: var(--lp-radius);
}
.lp-review-slider__card:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    z-index: 1;
}
.lp-review-slider__arrow {
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(15,23,42,.12);
    background: rgba(255,255,255,.95);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    color: var(--lp-dark);
}
.lp-review-slider__arrow:hover {
    background: #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.lp-review-slider__arrow--prev { left: -54px; }
.lp-review-slider__arrow--next { right: -54px; }

/* ── 후기 없을 때 ── */
.lp-review-slider__empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--lp-gray);
    font-size: .95rem;
}

/* ── 반응형 ── */
@media (max-width: 768px) {
    .lp-features__grid--3,
    .lp-features__grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .lp-duration__grid--3 {
        grid-template-columns: 1fr;
    }
    .lp-gallery__grid--3,
    .lp-gallery__grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .lp-review-slider__card {
        flex: 0 0 170px;
    }
    .lp-review-slider__arrow--prev { left: -10px; }
    .lp-review-slider__arrow--next { right: -10px; }
}

@media (max-width: 480px) {
    .lp-features__grid--2,
    .lp-features__grid--3,
    .lp-features__grid--4 {
        grid-template-columns: 1fr;
    }
    .lp-duration__grid--2 {
        grid-template-columns: 1fr;
    }
    .lp-contact-btn__inner {
        flex-direction: column;
        align-items: center;
    }
    .lp-contact-btn__btn {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
    .lp-gallery__grid--2,
    .lp-gallery__grid--3,
    .lp-gallery__grid--4 {
        grid-template-columns: 1fr;
    }
    .lp-review-slider__card {
        flex: 0 0 150px;
    }
    .lp-review-slider__arrow { display: none; }
    .lp-review-slider__header {
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
    }
}
