/* 시술안내 Our Programs 페이지 */

body.programs-page #main-nav {
    background-color: #fff !important;
    border-bottom: 1px solid #eee !important;
}

body.programs-page #logo-link img {
    filter: brightness(0);
}

body.programs-page .location-info {
    color: #333 !important;
}

body.programs-page .location-info img {
    filter: none !important;
}

body.programs-page .hamburger-menu-btn span {
    background: #333 !important;
}

body.programs-page.gnb-open .hamburger-menu-btn span {
    background: #fff !important;
}

.programs-section {
    width: 100%;
    padding: 180px 0 160px;
}

.programs-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.programs-header {
    text-align: center;
    margin-bottom: 64px;
    padding-bottom: 48px;
    border-bottom: 1px solid #B8BFB2;
}

.programs-header--empty {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.programs-title {
    font-family: 'Optima LT Pro', 'Optima', sans-serif;
    font-size: 42px;
    font-weight: 400;
    color: #2A1F1B;
    margin: 0 0 20px;
    letter-spacing: 0.02em;
}

.programs-desc {
    font-size: 15px;
    line-height: 1.8;
    color: #5c5349;
    margin: 0;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.programs-block {
    border-radius: 16px;
    padding: 40px 48px 36px;
    margin-bottom: 40px;
}

.programs-block:last-child {
    margin-bottom: 0;
}

/* 7-8개 블록 점점 진해지는 그라데이션 (관리자 추가 시 자동 적용) - 마지막도 어두운 글씨 가독 */
.programs-inner .programs-block:nth-child(2)  { background: rgba(231, 224, 216, 0.7); } /* 1 E7E0D8 70% */
.programs-inner .programs-block:nth-child(3)  { background: rgba(230, 217, 201, 0.65); } /* 2 E6D9C9 */
.programs-inner .programs-block:nth-child(4)  { background: rgba(215, 200, 180, 0.55); }  /* 3 */
.programs-inner .programs-block:nth-child(5)  { background: rgba(190, 170, 150, 0.45); }  /* 4 */
.programs-inner .programs-block:nth-child(6)  { background: rgba(165, 145, 125, 0.4); }   /* 5 */
.programs-inner .programs-block:nth-child(7)  { background: rgba(143, 115, 101, 0.35); }  /* 6 8F7365 */
.programs-inner .programs-block:nth-child(8)  { background: rgba(130, 100, 85, 0.35); }   /* 7 */
.programs-inner .programs-block:nth-child(9)  { background: rgba(120, 90, 75, 0.35); }    /* 8 */
.programs-inner .programs-block:nth-child(n+10) { background: rgba(120, 90, 75, 0.35); }  /* 9개 이상 */

/* 다크 스타일 블록 (시그니처 케어) */
.programs-block--dark {
    background: #5a5a5a;
}

.programs-block--dark .programs-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.programs-block--dark .programs-item:last-child {
    border-bottom: none;
}

.programs-block--dark .programs-item-name,
.programs-block--dark .programs-item-desc {
    color: #c8c8c8;
}

.programs-block--dark .programs-item-duration,
.programs-block--dark .programs-item-price {
    color: #c8c8c8;
}

.programs-item--static {
    cursor: default;
}

.programs-item--static:hover {
    opacity: 1;
}

.programs-block-title {
    font-family: 'BonmyeongjoSourceHanSerif', serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-align: center;
    margin: 0 0 8px;
}

.programs-block-subtitle {
    font-size: 15px;
    text-align: center;
    margin: 0 0 35px;
}

.programs-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.programs-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
}

.programs-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.programs-item:first-child {
    padding-top: 0;
}

.programs-item:hover {
    opacity: 0.85;
}

.programs-item-info {
    flex: 1;
    min-width: 0;
}

.programs-item-name {
    font-size: 17px;
    font-weight: 600;
    color: #2A1F1B;
    margin: 0 0 8px;
}

/* 영어 부분(min, W 등) - 기존 body 폰트 상속 */
.programs-en {
    font-family: inherit;
}

.programs-item-duration {
    font-size: 15px;
    font-weight: 400;
}

.programs-item-desc {
    font-size: 15px;
    line-height: 1.65;
    color: #3d3628;
    margin: 0;
}

.programs-item-price {
    font-size: 15px;
    font-weight: 600;
    color: #2A1F1B;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .programs-section {
        padding: 120px 0 100px;
        padding-top: 120px !important;
    }

    .programs-inner {
        padding: 0 20px;
    }

    .programs-header {
        margin-bottom: 48px;
        padding-bottom: 36px;
    }

    .programs-title {
        font-size: 28px;
    }

    .programs-desc {
        font-size: 14px;
    }

    .programs-block-title {
        font-size: 15px;
        letter-spacing: 0.12em;
    }

    .programs-block-subtitle {
        font-size: 14px;
        margin-bottom: 24px;
    }

    .programs-block {
        padding: 28px 24px 24px;
    }

    .programs-item {
        flex-direction: column;
        gap: 12px;
        padding: 20px 0;
    }

    .programs-item-name {
        font-size: 16px;
    }

    .programs-item-desc {
        font-size: 13px;
    }

    .programs-item-price {
        font-size: 14px;
        align-self: flex-end;
    }
}
