/* =========================================
   MAIN.CSS - 메인 페이지 스타일 (최종 최적화)
   ========================================= */

/* ===== 공통 Background 스타일 ===== */
.column-image-bg {
    background-size: cover;
    background-position: center center;
}

.row-bg.viewport-desktop {
    background-position: center center;
    background-repeat: no-repeat;
}

/* ===== 섹션 1: 히어로 ===== */
.hero-section .hero-subtitle {
    font-size: 20px;
    font-weight: 300;
    letter-spacing: -0.5px;
    margin-top: 10px;
    display: inline-block;
}

/* 히어로 섹션 내부 행 하단 패딩 */
.hero-section .inner_row.bottom_padding_tablet_20px {
    padding-bottom: 60px;
}

/* 히어로 섹션 배경 스타일 */
.hero-section .row-bg.viewport-desktop.using-image.using-bg-color {
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #0B473A03;
}

/* 히어로 오버레이 */
.hero-section .row-bg-overlay.row-bg-layer {
    background-color: #000000;
    opacity: 0.3;
}

/* ===== 섹션 2: REST ===== */
.rest-section .rest-highlight {
    color: #000;
    font-weight: 600;
}

/* 섹션 2: REST - 특정 컬럼 스타일 */
.rest-section .vc_col-sm-6.neg-marg {
    margin-top: -50px;
    z-index: 100;
}

/* 섹션 2: REST - 특정 divider 높이 */
.rest-section .vc_col-sm-6.neg-marg .divider-wrap .divider {
    height: 25px;
}

/* REST 섹션 배경 이미지 공통 스타일 */
.rest-section .column-image-bg {
    background-size: cover;
    background-position: center top;
}

/* ===== 섹션 3: Essence ===== */
.essence-section .essence-title-col {
    margin-bottom: -30px;
}

/* Essence 타이틀 행 하단 패딩 */
.essence-section .inner_row.essence-title-row {
    padding-bottom: 3%;
}

/* Essence 박스 최소 높이 */
.essence-section .nectar-fancy-box .meta-wrap {
    min-height: 400px;
}

/* Essence 섹션 배경색 */
.essence-section .row-bg-wrap .inner-wrap.row-bg-layer,
.essence-section .row-bg.viewport-desktop.using-bg-color {
    background-color: #FFFFFF;
}

/* ===== 섹션 4: PROGRAM ===== */
/* 프로그램 타이틀 */
.program-section .program-title {
    /* 추가 스타일이 필요한 경우 여기에 작성 */
}

/* 각 프로그램 행의 상단 패딩 */
.program-section .inner_row.program-row-1 {
    padding-top: 3%;
}

.program-section .inner_row.program-row-2,
.program-section .inner_row.program-row-3 {
    padding-top: 5%;
}

/* 프로그램 섹션 divider 높이 */
.program-section .divider-wrap .divider {
    height: 25px;
}

/* 프로그램 배경 이미지 공통 스타일 */
.program-section .column-image-bg {
    background-size: cover;
    background-position: center center;
}

/* 프로그램 섹션 배경색 */
.program-section .row-bg-wrap .inner-wrap.row-bg-layer,
.program-section .row-bg.viewport-desktop.using-bg-color {
    background-color: #FFFFFF;
}

/* ===== 섹션 5: Location ===== */
.location-section {
    padding-top: 0;
    padding-bottom: 0;
}

.location-section .location-main-col {
    margin-bottom: 0%;
}

.location-section .location-title {
    text-align: left;
}

/* Location 정보 단락 스타일 */
.location-section .wpb_text_column.wpb_animate_when_almost_visible p {
    margin-bottom: 20px;
}

.location-section .wpb_text_column.wpb_animate_when_almost_visible p:last-child {
    margin-bottom: 30px;
}

.location-section .location-info span {
    text-decoration: underline !important;
}

/* 버튼 래퍼 스타일 */
.location-section .nectar-cta.border_radius_0px .link_wrap {
    padding: 3px;
}

.location-section .nectar-cta.border_radius_0px .nectar-button-type {
    color: #FEFAFA;
}

/* 지도 iframe 스타일 */
.location-section iframe {
    border: 0;
    width: 100%;
}

/* =========================================
   FOOTER 스타일
   ========================================= */

/* 푸터 로고 */
.footer-logo-img {
    width: 160px;
    height: auto;
    display: block;
    margin-bottom: 5px;
}

.footer-tagline {
    font-size: 14px;
    color: #cccccc;
    line-height: 1.7;
    margin: 0;
    font-weight: 300;
    max-width: 300px;
    word-break: keep-all;
}

/* 푸터 위젯 타이틀 */
.footer-widget-title {
    color: #fff;
    margin-bottom: 20px;
    font-size: 16px;
    letter-spacing: 1px;
}

/* 고객센터 */
.footer-contact {
    font-size: 13px;
    line-height: 1.8;
    color: #cccccc;
}

.footer-phone {
    font-size: 18px;
    color: #ffffff;
    display: block;
    margin-bottom: 10px;
}

.footer-kakao-link {
    color: #fff;
    text-decoration: underline;
}

/* 회사 정보 */
.footer-company-info {
    font-size: 12px;
    line-height: 1.7;
    color: #999999;
}

.footer-company-info .divider {
    margin: 0 5px;
    opacity: 0.3;
}

.footer-link {
    color: #cccccc;
    text-decoration: none;
}

.footer-link-privacy {
    font-weight: bold;
}

/* 카피라이트 */
.copyright-text {
    font-size: 14px;
    color: #999999;
}


/* ===== 모바일 대응 (from dynamic-css-inline-css & main.css) ===== */
@media only screen and (max-width: 999px) {
    .program-section .program-item {
        padding-top: 20px !important;
    }
    
    .location-section .location-info {
        margin-bottom: 5%;
    }
}

@media only screen and (max-width: 690px) {
    .hero-section .hero-subtitle {
        font-size: 18px;
    }
    
    .program-section .program-item h3 {
        font-size: 24px;
    }

    /* Additional mobile compatibility fix */
    div.vc_col-sm-3.wpb_column.column_container.col.child_column.no-extra-padding.bottom_margin_phone_5pct.inherit_tablet.inherit_phone div.vc_column-inner div.wpb_wrapper div.wpb_text_column.wpb_content_element.wpb_animate_when_almost_visible.wpb_fadeInUp.fadeInUp span {
        text-decoration: underline !important;
    }
}

/* ===== 워드프레스 동적 스타일 (from index.php) ===== */
html body[data-header-resize="1"] .container-wrap,
html body[data-header-format="left-header"][data-header-resize="0"] .container-wrap,
html body[data-header-resize="0"] .container-wrap,
body[data-header-format="left-header"][data-header-resize="0"] .container-wrap {
    padding-top: 0;
}
.main-content > .row > #breadcrumbs.yoast {
    padding: 20px 0;
}

/* =========================================
   CELLPA Custom Header Styles (Moved from _header.php)
   ========================================= */
/* 1. 프리텐다드 폰트 가져오기 */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* 2. 본문 텍스트 요소(p, span, li, a 등)에만 폰트 강제 적용 */
p, span, li, a, label, input, textarea, select, button, .wpb_text_column, .nectar-fancy-box {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, 'Malgun Gothic', sans-serif !important;
    word-break: keep-all; /* 단어 툭 끊김 방지 */
    letter-spacing: -0.02em; /* 자간 살짝 좁게 */
    line-height: 1.6; /* 줄간격 시원하게 */
}

/* 3. (중요) 제목 태그는 테마 설정을 따르도록 보호 */
h1, h2, h3, h4, h5, h6, .vc_custom_heading {
    font-family: inherit; /* 상속받은 원래 폰트 유지 */
}

/* Salient Off-canvas(슬라이드아웃) 메뉴 버튼 그림자 제거 */
.slide-out-widget-area-toggle,
.slide-out-widget-area-toggle a,
.slide-out-widget-area-toggle a:before,
.slide-out-widget-area-toggle a:after,
.slide-out-widget-area-toggle .lines-button,
.slide-out-widget-area-toggle .lines-button:before,
.slide-out-widget-area-toggle .lines-button:after {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}


/* =========================================
   [공통] 예약 버튼 디자인 (Header)
   ========================================= */
.cellpa-booking-btn {
    position: absolute !important; 
    z-index: 99999 !important;     
    display: flex !important;
    align-items: center;
    font-weight: 700 !important;
    color: #000000 !important;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap; /* 줄바꿈 방지 */
}

/* 카카오톡 아이콘 (Dynamic URL required) */
.cellpa-booking-btn::before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url('/wp-content/uploads/2026/01/kakao.png'); /* Modified from PHP variable */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 6px;
}

/* 📱 모바일 화면 수정 (폭 999px 이하) */
.cellpa-booking-btn {
    position: absolute !important;
    right: 20px !important;
    left: auto !important; /* PC 설정 무시 */
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 15px !important;
}

/* 모바일 아이콘 미세 조정 */
.cellpa-booking-btn::before {
    width: 30px;
    height: 30px;
}


/* [최종] 하단 고정 버튼 스타일 (Fixed Bottom CTA) */
.fixed-bottom-cta {
    position: fixed !important;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99999;

    background-color: #1a1a1a !important; /* 배경색 */
    color: #ffffff !important; /* 글자색 흰색 강제 */
    
    padding: 18px 45px !important;
    border-radius: 12px !important; /* 둥근 사각 */

    font-family: inherit !important;
    font-size: 18px !important; /* 글자 크기 */
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -0.5px;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    transition: all 0.3s ease;
}

/* 텍스트 스팬 흰색 강제 */
.fixed-bottom-cta .cta-text {
    color: #ffffff !important;
}

/* 커스텀 아이콘 크기 확대 */
.fixed-bottom-cta .custom-icon {
    width: 32px !important;
    height: auto !important;
    margin-right: 12px !important;
    margin-bottom: 0 !important;
    vertical-align: middle;
    display: block;
}

/* 마우스 올렸을 때 */
.fixed-bottom-cta:hover {
    transform: translateX(-50%) translateY(-3px);
    background-color: #000000 !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.3);
    color: #ffffff !important;
}

/* 모바일 대응 */
@media only screen and (max-width: 690px) {
    .fixed-bottom-cta {
        bottom: 10px;
        width: 94%;
        padding: 16px 20px !important;
    }
}

/* [강제 삭제] 프로모션/카테고리 라벨 무조건 숨기기 */
.recent_posts_container .meta-category,
.recent_posts_container.material .meta-category,
.nectar-recent-posts-single_featured .meta-category,
.post-area .meta-category,
span.meta-category {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* [최종 해결책] 제목 빼고 나머지 텍스트 완전 박멸 */
/* 1. 흰색 박스 안의 모든 글자 크기를 0으로 만들어 숨김 */
.recent_posts_container.material .recent-post-text,
.recent_posts_container.material .inner-wrap {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
}

/* 1. 텍스트가 들어있는 박스의 '입'을 막아버립니다 (글자크기 0) */
.recent-post-text,
.post-header,
.inner-wrap {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
}

/* 2. 그 중에서 '제목(H3)'에게만 다시 말할 기회를 줍니다 */
.recent-post-text h3,
.recent-post-text h3 a,
.post-header h3,
.post-header h3 a,
.inner-wrap h3,
.inner-wrap h3 a {
    font-size: 28px !important;  /* 제목 글자 크기 */
    line-height: 1.4 !important;
    color: #111111 !important;   /* 제목 색상 (검정) */
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    margin-bottom: 0 !important;
}

/* 3. 혹시 몰라 p태그는 한번 더 죽입니다 */
.recent-post-text p,
.post-header p,
.inner-wrap p {
    display: none !important;
}


