body {
    margin: 0 !important;
    padding: 0 !important;
}
body.daon-menu-open {
    overflow: hidden;
}


html {
    scroll-behavior: smooth;
}

/* =======================================================
   상단 고정 로고 & 메뉴 - 여백/모바일 메뉴 강제 수정
======================================================= */
.daon-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 88px !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-left: 100px !important;
    padding-right: 100px !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    transition: background 0.35s ease, height 0.35s ease, backdrop-filter 0.35s ease;
}
.daon-site-header.is-scrolled,
.daon-site-header.is-open {
    height: 74px !important;
    background: #431227 !important;
    backdrop-filter: blur(12px);
}
.daon-header-logo {
    display: inline-flex !important;
    align-items: center !important;
    color: #ffffff !important;
    text-decoration: none !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
.daon-header-logo img {
    display: block !important;
    height: 34px !important;
    width: auto !important;
    max-width: 190px !important;
}
.daon-mobile-menu-logo {
    display: none !important;
}
.daon-mobile-menu-logo img {
    display: block !important;
    height: 32px !important;
    width: auto !important;
    max-width: 190px !important;
}
.daon-nav {
    display: flex !important;
    align-items: center !important;
    gap: 32px !important;
}
.daon-nav a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    white-space: nowrap !important;
    opacity: 0.95 !important;
    transition: opacity 0.25s ease, color 0.25s ease;
}
.daon-nav a:hover {
    opacity: 1 !important;
    color: #d8c3a5 !important;
}
.daon-menu-toggle {
    display: none !important;
    width: 46px !important;
    height: 46px !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 10001 !important;
}
.daon-menu-toggle span {
    display: block !important;
    width: 30px !important;
    height: 2px !important;
    margin: 8px auto !important;
    background: #ffffff !important;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.daon-site-header.is-open .daon-menu-toggle span:nth-child(1) {
    transform: translateY(10px) rotate(45deg) !important;
}
.daon-site-header.is-open .daon-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
}
.daon-site-header.is-open .daon-menu-toggle span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg) !important;
}

@media (max-width: 1400px) {
    .daon-site-header {
        padding-left: 70px !important;
        padding-right: 70px !important;
    }
    .daon-nav { gap: 24px !important; }
    .daon-nav a { font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0.12em !important; }
}

@media (max-width: 1024px) {
    .daon-site-header {
        height: 76px !important;
        padding-left: 32px !important;
        padding-right: 32px !important;
        background: rgba(0, 0, 0, 0.28) !important;
    }
    .daon-site-header.is-open {
        background: #000000 !important;
        height: 76px !important;
    }
    .daon-header-logo img { height: 30px !important; }
    .daon-menu-toggle { display: block !important; }
    .daon-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100vh !important;
        min-height: 100vh !important;
        background: #000000 !important;
        backdrop-filter: none !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 30px !important;
        padding-top: 118px !important;
        padding-left: 58px !important;
        padding-right: 32px !important;
        padding-bottom: 60px !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
        transform: translateX(100%) !important;
        transition: transform 0.45s cubic-bezier(0.25, 1, 0.5, 1) !important;
    }
    .daon-site-header.is-open .daon-nav {
        transform: translateX(0) !important;
    }
    .daon-mobile-menu-logo {
        display: inline-flex !important;
        align-items: center !important;
        margin-bottom: 30px !important;
    }
    .daon-mobile-menu-logo img {
        height: 32px !important;
    }
    .daon-nav a {
        font-size: 26px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        letter-spacing: 0.14em !important;
    }
}

@media (max-width: 480px) {
    .daon-site-header {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .daon-header-logo img { height: 27px !important; }
    .daon-nav {
        padding-top: 105px !important;
        padding-left: 36px !important;
        padding-right: 24px !important;
        gap: 26px !important;
    }
    .daon-nav a {
        font-size: 21px !important;
        letter-spacing: 0.13em !important;
    }
    .daon-mobile-menu-logo {
        margin-bottom: 24px !important;
    }
    .daon-mobile-menu-logo img {
        height: 29px !important;
    }
}




#home,
#special-point,
#pool-villa,
#water-park,
#membership,
#benefit,
#contact {
    scroll-margin-top: 88px;
}

/* =======================================================
   1. 공통 폰트 통일 (오직 Pretendard만 사용)
======================================================= */
.daon-resort-wrap, 
.daon-resort-wrap * {
    font-family: 'Pretendard', sans-serif !important;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* =======================================================
   ★ 스크롤 애니메이션 공통 클래스 (추가됨) ★
======================================================= */
.reveal-item {
    opacity: 0;
    transform: translateY(60px);
    /* 기존 0.8s를 1.5s로 수정 (숫자가 클수록 느려짐) */
    transition: opacity 1.5s cubic-bezier(0.25, 1, 0.5, 1), transform 1.5s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 기존 0.15s, 0.3s, 0.45s 였던 대기 시간을 더 길게 수정 */
.reveal-delay-1 { transition-delay: 0.3s; }
.reveal-delay-2 { transition-delay: 0.6s; }
.reveal-delay-3 { transition-delay: 0.9s; }


/* 뷰포트에 들어왔을 때 실행될 클래스 */
.reveal-item.in-view {
    opacity: 1;
    transform: translateY(0);
}

/* =======================================================
   2. 메인 히어로 섹션
======================================================= */
.premium-hero-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: #000;
}

.video-bg-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.video-bg-wrap iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    transform: translate(-50%, -50%);
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 27%);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    color: #ffffff;
    padding: 0 20px 140px;
}

.hero-logo {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
}

.hero-logo img {
    height: 35px;
    width: auto;
}

.hero-text-wrap {
    margin-bottom: 28px;
}

.hero-subtitle {
    font-size: 23px;
    font-weight: 600;
    line-height: 1.75;
    letter-spacing: -0.03em;
    opacity: 0.96;
    margin-bottom: 24px;
    word-break: keep-all;
}

.hero-title {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: -0.03em;
    word-break: keep-all;
    margin-bottom: 24px;
}

.hero-copy {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: -0.03em;
    word-break: keep-all;
}

.hero-btn-group {
    display: flex;
    gap: 14px;
}

.hero-btn-group .btn-premium {
    padding: 12px 34px;
    font-size: 15px;
    min-width: 170px;
}

.btn-premium {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 45px;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.4s ease;
    letter-spacing: -0.02em;
    border-radius: 0px; 
    box-sizing: border-box;
    cursor: pointer;
}

.btn-gold-solid {
    background: #8b734b; 
    color: #ffffff;
    border: 1px solid #8b734b;
}

.btn-gold-solid:hover {
    background: #715d3b;
    border-color: #715d3b;
}

.btn-gold-outline {
    background: rgba(0, 0, 0, 0.3);
    color: #d8c3a5;
    border: 1px solid #8b734b;
}

.btn-gold-outline:hover {
    background: #8b734b;
    color: #ffffff;
}


/* =======================================================
   2-1. 히어로 하단 프로모션 안내 섹션
======================================================= */
.hero-promo-section {
    background: #fbfaf3;
    padding: 120px 100px 118px;
    color: #111111;
    font-family: 'Pretendard', sans-serif !important;
}

.hero-promo-inner {
    max-width: 1600px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 42% 58%;
    align-items: center;
    gap: 60px;
}

.hero-promo-label {
    font-size: 25px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: #111111;
}

.hero-promo-content {
    max-width: 680px;
}

.hero-promo-title {
    font-size: 23px;
    font-weight: 300;
    line-height: 1.45;
    letter-spacing: -0.045em;
    color: #111111;
    word-break: keep-all;
    margin-bottom: 36px;
}

.hero-promo-title strong {
    font-weight: 400;
}

.hero-promo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    height: 44px;
    padding: 0 24px;
    border: 1px solid #111111;
    background: transparent;
    color: #111111;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.03em;
    transition: all 0.3s ease;
}

.hero-promo-btn:hover {
    background: #111111;
    color: #ffffff;
}

@media (max-width: 1024px) {
    .hero-promo-section {
        padding: 90px 60px 88px;
    }

    .hero-promo-inner {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .hero-promo-title {
        font-size: 23px;
    }
}

@media (max-width: 768px) {
    .hero-promo-section {
        padding: 72px 24px 76px;
    }

    .hero-promo-label {
        font-size: 25px;
    }

    .hero-promo-title {
        font-size: 21px;
        line-height: 1.5;
        margin-bottom: 30px;
    }

    .hero-promo-btn {
        min-width: 140px;
        height: 42px;
        font-size: 13px;
    }
}

/* =======================================================
   3. SPECIAL POINT 섹션 - 화이트 프리미엄 슬라이드형
======================================================= */
.special-point-section {
    position: relative;
    background: #ffffff;
    padding: 120px 0 0;
    color: #111111;
    overflow: hidden;
}
.special-point-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #ffffff 0%, #faf8f4 100%);
    pointer-events: none;
}

.sp-header {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto 70px;
    padding: 0 100px;
    text-align: center;
}
.sp-subtitle {
    display: inline-block;
    font-size: 13px;
    color: #8b734b;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}
.sp-title {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.04em;
    color: #111111;
}

.sp-premium-slider {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    margin: 0 auto;
}
.sp-premium-viewport {
    overflow: hidden;
    width: 100%;
    cursor: grab;
    user-select: none;
}
.sp-premium-viewport:active {
    cursor: grabbing;
}
.sp-premium-track {
    display: flex;
    transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1);
}
.sp-premium-slide {
    min-width: 100%;
    display: grid;
    grid-template-columns: 50% 50%;
    background: #ffffff;
    border: none;
    box-shadow: none;
    min-height: 640px;
}
.sp-premium-img {
    position: relative;
    min-height: 640px;
    overflow: hidden;
}
.sp-premium-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.2s ease;
}
.sp-premium-slide:hover .sp-premium-img img {
    transform: scale(1.035);
}
.sp-premium-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.04), rgba(0,0,0,0.12));
}
.sp-premium-info {
    position: relative;
    padding: 90px 8vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
}
.sp-premium-no {
    font-size: 14px;
    color: #8b734b;
    letter-spacing: 0.25em;
    font-weight: 600;
    margin-bottom: 30px;
}
.sp-premium-icon {
    display: none !important;
}
.sp-premium-eng {
    font-size: 14px;
    color: #8b734b;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 600;
}
.sp-premium-title {
    font-size: 32px;
    font-weight: 600;
    color: #111111;
    line-height: 1.35;
    letter-spacing: -0.04em;
    margin-bottom: 24px;
}
.sp-premium-desc {
    font-size: 17px;
    line-height: 1.85;
    color: #555555;
    word-break: keep-all;
    margin-bottom: 0;
}
.sp-premium-tags {
    display: none !important;
}
.sp-premium-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 36px 100px 80px;
    margin-top: 0;
    background: #ffffff;
}
.sp-premium-progress {
    flex: 1;
    height: 1px;
    background: #e4ddd3;
    position: relative;
    overflow: hidden;
}
.sp-premium-progress span {
    display: block;
    height: 100%;
    width: 16.666%;
    background: #8b734b;
    transition: transform 0.55s ease;
}
.sp-premium-arrows {
    display: flex;
    gap: 12px;
}
.sp-premium-arrow {
    width: 54px;
    height: 54px;
    border: 1px solid #d8c3a5;
    background: #ffffff;
    color: #111111;
    font-size: 22px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-family: -apple-system, sans-serif !important;
}
.sp-premium-arrow:hover {
    background: #8b734b;
    color: #ffffff;
    border-color: #8b734b;
}
.sp-premium-count {
    min-width: 76px;
    color: #555555;
    font-size: 15px;
    letter-spacing: 0.1em;
    text-align: right;
}

.sp-card-desc {
    font-size: 16px;
    color: #666666;
    line-height: 1.6;
    word-break: keep-all;
}

@media (max-width: 1200px) {
    .special-point-section { padding-top: 110px; }
    .sp-header { padding: 0 64px; }
    .sp-premium-info { padding: 72px 6vw; }
    .sp-premium-title { font-size: 29px; }
    .sp-premium-slide { min-height: 560px; }
    .sp-premium-img { min-height: 560px; }
    .sp-premium-controls { padding: 34px 64px 70px; }
}
@media (max-width: 900px) {
    .special-point-section { padding-top: 90px; }
    .sp-header { margin-bottom: 46px; padding: 0 30px; text-align: center; }
    .sp-title { font-size: 25px; }
    .sp-premium-slide { grid-template-columns: 1fr; min-height: auto; }
    .sp-premium-img { min-height: 320px; }
    .sp-premium-info { padding: 46px 30px 52px; }
    .sp-premium-title { font-size: 23px; }
    .sp-premium-desc { font-size: 16px; }
    .sp-premium-controls { padding: 28px 30px 60px; }
}
@media (max-width: 480px) {
    .special-point-section { padding-top: 80px; }
    .sp-header { padding: 0 20px; }
    .sp-title { font-size: 25px; }
    .sp-premium-img { min-height: 260px; }
    .sp-premium-info { padding: 38px 22px 44px; }
    .sp-premium-no { margin-bottom: 24px; }
    .sp-premium-title { font-size: 23px; }
    .sp-premium-controls { gap: 14px; padding: 24px 20px 54px; }
    .sp-premium-arrow { width: 46px; height: 46px; }
    .sp-premium-count { min-width: 58px; font-size: 13px; }
}

/* =======================================================
   4. ROOM TYPES (풀사이즈 객실 섹션)
======================================================= */
.room-fs-section {
    position: relative;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end; 
    padding: 80px 5%; 
    overflow: hidden;
}

.room-fs-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgb(0 0 0 / 54%) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
}

.room-fs-content {
    position: relative;
    z-index: 2;
    color: #ffffff;
    max-width: 1200px;
    width: 100%;
}

.room-fs-meta {
    font-size: 16px;
    color: #d8c3a5; 
    letter-spacing: 0.04em;
    margin-bottom: 14px;
    display: block;
}

.room-fs-title {
    font-size: 52px;
    font-weight: 650;
    letter-spacing: -0.03em;
    margin-bottom: 14px;
    line-height: 1.18;
}

.room-fs-desc {
    font-size: 19px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 26px;
}

.room-fs-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 34px;
}

.room-fs-tags span {
    font-size: 14px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
    padding: 7px 14px;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.btn-room-outline {
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.8);
    padding: 14px 42px;
    font-size: 16px;
}

.btn-room-outline:hover {
    background: #ffffff;
    color: #000000;
}

.bg-silver { background-image: url('/theme/basic/img/40_bg_n1.jpg'); background-attachment: scroll;}
.bg-gold { background-image: url('/theme/basic/img/50_bg_n1.jpg'); background-attachment: scroll;}
.bg-royal { background-image: url('/theme/basic/img/70_bg_n1.jpg'); background-attachment: scroll;}
.bg-presidential { background-image: url('/theme/basic/img/120_bg_n1.jpg'); background-attachment: scroll;}


/* =======================================================
   5. 1400px 대형 모달 팝업 및 슬라이더
======================================================= */
.room-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}

.modal-content {
    background: #ffffff;
    width: 100%;
    max-width: 1400px; 
    max-height: 95vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    animation: fadeInModal 0.8s ease forwards;
}

@keyframes fadeInModal {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.modal-close-btn {
    position: absolute;
    top: 30px;
    right: 30px;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 10;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    transition: all 0.3s;
}
.modal-close-btn:hover { background: #000000; transform: rotate(90deg); }

.modal-body {
    padding: 0; 
}

.modal-slider-container {
    position: relative;
    width: 100%;
    height: 750px; 
    overflow: hidden;
}

.modal-slider-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.modal-slide {
    min-width: 100%;
    height: 100%;
}

.modal-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 🚀 모바일 깨짐 방지: 폰트 강제 고정 및 여백 초기화 적용 */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.4);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.3);
    width: 70px;
    height: 70px;
    cursor: pointer;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
    padding: 0 !important; 
    line-height: 1 !important; 
    font-family: -apple-system, sans-serif !important; 
    -webkit-appearance: none; 
}
.slider-arrow:hover { background: rgba(0,0,0,0.8); }
.arrow-left { left: 30px; }
.arrow-right { right: 30px; }

.modal-info-area {
    padding: 80px 10%;
    background: #fdfcfb;
}

.modal-large-title {
    font-size: 42px;
    font-weight: 500; 
    color: #111;
    margin-bottom: 22px;
    letter-spacing: -0.02em;
    text-align: center;
}

.modal-desc-text {
    font-size: 17px; 
    color: #444;
    line-height: 1.8;
    text-align: center;
    word-break: keep-all;
    margin-bottom: 60px; 
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.modal-sub-title {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    margin-bottom: 22px;
    text-align: center;
    letter-spacing: 0.08em;
}

.modal-floorplan-wrap {
    width: 100%;
    text-align: center;
}

.modal-floorplan-wrap img {
    max-width: 100%;
    height: auto;
    border: 1px solid #eee;
}

/* 모달 내부 버튼 래퍼 추가 */
.modal-btn-wrap {
    margin-top: 60px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}


/* =======================================================
   6. Premium Partnership Benefits (제휴 혜택 섹션)
======================================================= */
.partnership-section {
    background-color: #faf9f7;
    padding: 120px 0;
    color: #111111;
    overflow: hidden;
}

.partnership-section .sp-header {
    margin-bottom: 80px;
    padding: 0 20px;
    text-align: center;
}

.partner-fs-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.partner-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-right: 1px solid #eeeeee;
    transition: all 0.4s ease;
}
.partner-card:last-child {
    border-right: none;
}

.partner-img-wrap {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
}

.partner-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.partner-card:hover .partner-img-wrap img {
    transform: scale(1.05);
}

.partner-info-wrap {
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.partner-category {
    font-size: 15px;
    color: #8b734b;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-weight: 700;
}

.partner-card-title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 24px;
    letter-spacing: -0.03em;
}

.partner-list {
    list-style: none;
    padding: 0;
    margin: 0 0 34px 0;
    border-top: 1px solid #111;
    padding-top: 26px;
}

.partner-list li {
    font-size: 18px;
    color: #555555;
    margin-bottom: 12px;
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
}

.partner-list li::before {
    content: '·';
    color: #8b734b;
    font-size: 24px;
    margin-right: 10px;
    line-height: 1;
}

.partner-highlight {
    font-size: 15px;
    font-weight: 600;
    color: #111111;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

/* =======================================================
   ★ 시퀀스 애니메이션 버튼 (공통 사용)
======================================================= */
.partner-btn-wrap {
    margin-top: auto;
    width: 100%;
}

.btn-broken-square {
    position: relative;
    display: block;
    width: 100%;
    padding: 16px 0;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #111111;
    background-color: transparent;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
    letter-spacing: -0.02em;
    z-index: 1;
    transition: color 0.3s ease, background-color 0.3s ease;
}

.btn-broken-square::before {
    content: '';
    position: absolute;
    top: 0;
    left: 15px; 
    width: calc(100% - 30px);
    height: 100%;
    border-top: 1px solid #111111;
    border-bottom: 1px solid #111111;
    box-sizing: border-box;
    z-index: -1;
    transition: width 0.3s ease 0.3s, left 0.3s ease 0.3s, border-color 0.3s ease;
}

.btn-broken-square::after {
    content: '';
    position: absolute;
    top: 15px; 
    left: 0;
    width: 100%;
    height: calc(100% - 30px);
    border-left: 1px solid #111111;
    border-right: 1px solid #111111;
    box-sizing: border-box;
    z-index: -1;
    transition: height 0.3s ease 0.3s, top 0.3s ease 0.3s, border-color 0.3s ease;
}

.btn-broken-square:hover::before {
    left: 0;
    width: 100%;
    border-color: #8b734b; 
    transition: width 0.3s ease, left 0.3s ease, border-color 0.3s ease 0.3s;
}
.btn-broken-square:hover::after {
    top: 0;
    height: 100%;
    border-color: #8b734b;
    transition: height 0.3s ease, top 0.3s ease, border-color 0.3s ease 0.3s;
}

.btn-broken-square:hover {
    color: #ffffff;
    background-color: #8b734b;
    transition: color 0.3s ease 0.3s, background-color 0.3s ease 0.3s;
}



/* =======================================================
   객실 상세 모달 내부 회원권 금액표
======================================================= */
.modal-price-area {
    margin: 70px auto 70px;
    max-width: 1100px;
    text-align: center;
}
.modal-price-title-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}
.modal-price-title-wrap .modal-sub-title {
    margin-bottom: 0;
    text-align: left;
}
.modal-price-unit {
    font-size: 14px;
    color: #777;
    white-space: nowrap;
}
.modal-type-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.modal-price-panel {
    background: #ffffff;
    border: 1px solid #e8e0d4;
    padding: 28px 24px 24px;
}
.modal-price-panel-title {
    font-size: 22px;
    font-weight: 800;
    color: #111;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}
.modal-price-panel-sub {
    font-size: 15px;
    color: #8b734b;
    font-weight: 700;
    margin-bottom: 20px;
}
.modal-price-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid #e6e0d7;
}
.modal-price-table th {
    background: #2c3e35;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 15px 8px;
    border: 1px solid rgba(255,255,255,0.15);
}
.modal-price-table td {
    background: #fdfbf7;
    color: #222;
    font-size: 16px;
    padding: 18px 8px;
    border: 1px solid #e6e0d7;
    text-align: center;
    vertical-align: middle;
}
.modal-price-table .price-type-cell {
    font-weight: 800;
    color: #111;
}
.modal-price-table .price-main-cell {
    font-size: 24px;
    font-weight: 800;
    color: #8b734b;
    letter-spacing: -0.03em;
}
@media (max-width: 900px) {
    .modal-type-price-grid { grid-template-columns: 1fr; }
    .modal-price-title-wrap { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (max-width: 768px) {
    .modal-price-area { margin: 45px auto; }
    .modal-price-panel { padding: 22px 14px 18px; overflow-x: auto; }
    .modal-price-panel-title { font-size: 18px; }
    .modal-price-table { min-width: 520px; }
    .modal-price-table th { font-size: 13px; padding: 12px 6px; }
    .modal-price-table td { font-size: 14px; padding: 14px 6px; }
    .modal-price-table .price-main-cell { font-size: 19px; }
}


/* =======================================================
   객실 모달 1차/상세 분리 구성
======================================================= */
.modal-brief-area {
    padding: 70px 10% 80px;
    background: #fdfcfb;
    text-align: center;
}
.modal-brief-desc {
    font-size: 18px;
    color: #444;
    line-height: 1.7;
    margin: 0 auto 40px;
    word-break: keep-all;
}
.modal-detail-area {
    display: block;
    padding: 0 10% 90px;
    background: #fdfcfb;
    border-top: 1px solid #eee7df;
}
.modal-detail-area.show {
    display: block;
    animation: fadeInRoomDetail 0.45s ease forwards;
}
@keyframes fadeInRoomDetail {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}
.modal-gallery-title {
    padding-top: 70px;
}
.detail-slider-container {
    position: relative;
    width: 100%;
    height: 620px;
    overflow: hidden;
    margin: 30px auto 70px;
    background: #000;
}
.detail-slider-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.detail-slide {
    min-width: 100%;
    height: 100%;
}
.detail-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.modal-detail-desc-wrap {
    max-width: 1000px;
    margin: 0 auto;
}
.modal-detail-toggle-wrap {
    display: none !important;
    max-width: 300px;
    margin: 0 auto;
}
.btn-modal-detail {
    display: block;
    width: 100%;
    padding: 14px 0;
    border: 1px solid #111;
    background: transparent;
    color: #111;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Pretendard', sans-serif !important;
}
.btn-modal-detail:hover {
    background: #8b734b;
    border-color: #8b734b;
    color: #fff;
}
.modal-detail-toggle-wrap.is-hidden {
    display: none;
}
.modal-btn-wrap .btn-broken-square {
    background: transparent;
}
@media (max-width: 1024px) {
    .detail-slider-container { height: 500px; }
}
@media (max-width: 768px) {
    .modal-brief-area { padding: 45px 20px 55px; }
    .modal-brief-desc { font-size: 16px; margin-bottom: 32px; }
    .modal-detail-area { padding: 0 20px 60px; }
    .modal-gallery-title { padding-top: 45px; }
    .detail-slider-container { height: 340px; margin-bottom: 45px; }
    .modal-detail-toggle-wrap { max-width: 100%; }
}

/* =======================================================
   반응형 통합
======================================================= */
@media (max-width: 1024px) {
    .sp-grid { grid-template-columns: repeat(2, 1fr); }
    .room-fs-title { font-size: 46px; }
    .room-fs-desc { font-size: 18px; }
    .modal-slider-container { height: 500px; }
    .modal-large-title { font-size: 38px; }
    .modal-desc-text { font-size: 17px; }
    
    .partner-fs-grid { grid-template-columns: 1fr; }
    .partner-card { border-right: none; border-bottom: 1px solid #eeeeee; }
    .partner-img-wrap { height: 350px; }
}

@media (max-width: 768px) {
    .hero-logo { top: 30px; }
    .hero-logo img { height: 28px; }
    .hero-content { padding: 0 24px 90px; }
    .hero-subtitle { font-size: 21px; font-weight: 600; margin-bottom: 20px; line-height: 1.7; }
    .hero-title { font-size: 18px; font-weight: 400; line-height: 1.75; margin-bottom: 20px; }
    .hero-copy { font-size: 18px; font-weight: 400; line-height: 1.75; }
    
    .hero-btn-group { flex-direction: column; width: 100%; max-width: 280px; gap: 10px; }
    .hero-btn-group .btn-premium { width: 100%; padding: 12px 0; font-size: 14px; min-width: 0; }
    .btn-premium { width: 100%; padding: 15px 0; font-size: 15px; }

    .special-point-section { padding: 80px 20px; }
    .sp-title { font-size: 26px; }
    .sp-grid { grid-template-columns: 1fr; gap: 20px; }

    .room-fs-section { padding: 50px 20px; justify-content: center; align-items: center; text-align: center; }
    .room-fs-overlay { height: 100%; background: rgba(0,0,0,0.5); }
    .room-fs-tags { justify-content: center; }
    .room-fs-meta { font-size: 14px; }
    .room-fs-title { font-size: 34px; }
    .room-fs-desc { font-size: 15px; margin-bottom: 22px; }
    .room-fs-tags span { font-size: 13px; padding: 7px 12px; }
    .btn-room-outline { padding: 13px 34px; font-size: 15px; }

    .room-modal { padding: 0; }
    .modal-slider-container { height: 350px; }
    .modal-info-area { padding: 50px 20px; }
    .modal-large-title { font-size: 24px; }
    .modal-brief-desc { font-size: 15px; margin-bottom: 28px; }
    .modal-desc-text { font-size: 14px; margin-bottom: 36px; }
    .modal-sub-title { font-size: 17px; }
    .btn-modal-detail { padding: 13px 0; font-size: 14px; }
    .modal-btn-wrap { max-width: 100%; } 
    
    /* 🚀 화살표 크기 최적화 (모바일 깨짐 방지) */
    .slider-arrow { width: 44px; height: 44px; font-size: 20px; }
    .arrow-left { left: 10px; }
    .arrow-right { right: 10px; }
    
    .modal-close-btn { top: 15px; right: 15px; width: 40px; height: 40px; font-size: 24px; }
    
    .partnership-section { padding: 80px 0; }
    .partnership-section .sp-header { margin-bottom: 50px; }
    .partner-img-wrap { height: 250px; }
    .partner-info-wrap { padding: 40px 20px; }
    .partner-card-title { font-size: 21px; font-weight: 500; }
    .partner-list li { font-size: 16px; }
    .partner-highlight { font-size: 16px; margin-bottom: 30px; }
}

/* =======================================================
   ★ 10. Consult Form Modal (추가된 상담 신청 팝업) ★
======================================================= */
/* 팝업 오버레이 및 그 안의 모든 요소에 Pretendard 강제 적용 */
.consult-form-overlay,
.consult-form-overlay * {
    font-family: 'Pretendard', sans-serif !important;
}

.consult-form-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100vh;
    z-index: 100000; /* 기존 모달 위로 올라오게 최상단 설정 */
    /* 어두운 데스크 배경 이미지 적용 */
    background-image: url('https://images.unsplash.com/photo-1517816743773-6e0fd518b4a6?auto=format&fit=crop&w=2000&q=80');
    background-size: cover;
    background-position: center;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.7s ease;
}
.consult-form-overlay::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.75); /* 오버레이 어둡게 */
}
.consult-form-overlay.show {
    display: flex;
    opacity: 1;
}
.consult-form-close {
    position: absolute;
    top: 30px; right: 40px;
    color: #fff;
    font-size: 40px;
    font-weight: 100;
    cursor: pointer;
    z-index: 100001;
    background: none; border: none;
}
.consult-form-box {
    position: relative;
    z-index: 1;
    background: #fdfbf7; /* 이미지와 유사한 크림색 배경 */
    width: 100%;
    max-width: 480px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    animation: slideUpFadeForm 0.7s ease forwards;
}
@keyframes slideUpFadeForm {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 팝업 상단 내용 영역 */
.cf-header-area {
    padding: 40px 30px;
    text-align: center;
    background: #f9f5f0;
}
.cf-sub-title {
    font-size: 12px; color: #8b734b; font-weight: 700; letter-spacing: 0.1em; display: block; margin-bottom: 15px;
}
.cf-main-title {
    font-size: 24px; font-weight: 800; color: #111; margin-bottom: 20px; line-height: 1.4; letter-spacing: -0.03em;
}
.cf-desc-text {
    font-size: 15px; color: #333; line-height: 1.6; word-break: keep-all; margin-bottom: 20px;
}
.cf-benefit-box {
    background: #fff; padding: 20px; text-align: left; border: 1px solid #eaddcf; margin-top: 15px;
}
.cf-benefit-list {
    list-style: none; padding: 0; margin: 0;
}
.cf-benefit-list li {
    font-size: 14px; color: #222; margin-bottom: 8px; font-weight: 700; letter-spacing: -0.02em;
}
.cf-benefit-list li:last-child { margin-bottom: 0; }

/* 팝업 폼 입력 영역 */
.cf-input-area {
    padding: 30px;
    background: #fdfbf7;
}
.cf-input-group {
    margin-bottom: 20px;
}
.cf-input-group label {
    display: block; font-size: 13px; color: #555; margin-bottom: 5px; font-weight: 700;
}
.cf-input-group label span { color: #d9534f; } /* 필수별표 색상 */
.cf-input {
    width: 100%; border: none; border-bottom: 1px solid #ccc; background: transparent;
    padding: 10px 0; font-size: 15px; color: #111; outline: none; transition: border-color 0.3s;
}
.cf-input:focus { border-bottom-color: #8b734b; }
.cf-input::placeholder { color: #aaa; font-weight: 400; }

.cf-agree-wrap {
    display: flex; align-items: center; justify-content: center; margin: 30px 0 20px;
}
.cf-agree-wrap input[type="checkbox"] {
    margin-right: 8px; width: 16px; height: 16px; accent-color: #444; cursor: pointer;
}
.cf-agree-wrap label { font-size: 13px; color: #333; cursor: pointer; letter-spacing: -0.03em; }

/* 추가된 정책 링크 및 약관 모달 CSS */
.policy-link {
    text-decoration: underline;
    text-underline-position: under;
    color: #333;
    font-weight: bold;
}
.policy-link:hover {
    color: #111;
}

.policy-modal-overlay {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
    z-index: 100005; background: rgba(0, 0, 0, 0.7); align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.3s ease;
}
.policy-modal-overlay.show {
    display: flex; opacity: 1;
}
.policy-modal-box {
    background: #fff; width: 90%; max-width: 600px; max-height: 80vh;
    display: flex; flex-direction: column; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    animation: slideUpFadePolicy 0.5s ease forwards;
}
@keyframes slideUpFadePolicy {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.policy-modal-header {
    padding: 20px 30px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; background: #f9f5f0;
}
.policy-modal-title {
    font-size: 18px; font-weight: 800; color: #111; margin: 0;
}
.policy-modal-close {
    font-size: 24px; color: #666; background: none; border: none; cursor: pointer; padding: 0; line-height: 1;
}
.policy-modal-content {
    padding: 30px; font-size: 12px; color: #444; line-height: 1.8; overflow-y: auto; word-break: keep-all;font-family: 'Pretendard', sans-serif !important; /* 명조체 적용 */
}
.policy-modal-content strong {
    color: #111;
}

.cf-submit-btn {
    width: 100%; background: #444; color: #fff; border: none; padding: 18px 0; font-size: 16px; font-weight: 700; cursor: pointer; transition: background 0.3s; margin-bottom: 10px;
}
.cf-submit-btn:hover { background: #111; }

@media(max-width: 768px) {
    .consult-form-close { top: 15px; right: 20px; font-size: 35px; }
    .consult-form-box { max-width: 90%; margin: 0 auto; max-height: 90vh; overflow-y: auto; }
    .cf-header-area { padding: 30px 20px; }
    .cf-main-title { font-size: 20px; }
    .cf-input-area { padding: 30px 20px; }
    .policy-modal-box { max-width: 95%; }
}

/* =======================================================
   7. Final CTA (최종 상담 섹션)
======================================================= */
.final-cta-section {
    position: relative;
    width: 100%;
    height: 100vh;
    /* 리조트 느낌의 이미지로 설정했습니다 */
    background-image: url('/theme/basic/img/water-bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    font-family: 'Pretendard', sans-serif !important;
}

.cta-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 가독성을 위해 어둡게 처리 */
}

.cta-content { position: relative; z-index: 1; padding: 0 20px; }

.cta-sub { font-size: 18px; letter-spacing: 0.24em; margin-bottom: 18px; display: block; font-weight: 300; }
.cta-title { font-size: 46px; font-weight: 500; margin-bottom: 26px; letter-spacing: -0.02em; }
.cta-desc { font-size: 19px; margin-bottom: 42px; line-height: 1.6; opacity: 0.9; }

/* 버튼 스타일 (선택 시 라인 제거 스타일 적용) */
.cta-btn-wrap { display: flex; justify-content: center; gap: 18px; }
.cta-btn { 
    padding: 16px 44px; 
    background: transparent; 
    color: #fff; 
    border: 1px solid #fff;
    font-size: 16px; 
    font-weight: 700; 
    cursor: pointer; 
    transition: all 0.3s ease;
    font-family: 'Pretendard', sans-serif !important;
}
.cta-btn:hover { background: #fff; color: #111; border-color: #fff; }

@media (max-width: 768px) {
    .cta-sub { font-size: 15px; letter-spacing: 0.18em; }
    .cta-title { font-size: 23px; font-weight: 500; }
    .cta-desc { font-size: 15px; margin-bottom: 32px; }
    .cta-btn-wrap { gap: 12px; }
    .cta-btn { padding: 13px 24px; font-size: 13px; }
}

/* =======================================================
   5. Facilities (부대시설 슬라이드)
======================================================= */
.facilities-section {
    padding: 120px 0; 
    background-color: #ffffff;
    color: #111111;
    overflow: hidden;
    font-family: 'Pretendard', sans-serif !important;
}

/* 통일된 헤더 스타일 */
.fac-header-wrap {
    text-align: center;
    margin-bottom: 80px;
    padding: 0 20px;
}
.fac-upper-eng {
    font-size: 15px; color: #8b734b; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 15px; display: block; font-weight: 700;
}
.fac-main-title {
    font-size: 36px; font-weight: 700; color: #111; letter-spacing: -0.03em; margin-bottom: 20px;
}
.fac-desc-text {
    font-size: 18px; color: #555; line-height: 1.6;
}

/* 슬라이더 영역 */
.fac-slider-viewport { width: 100%; overflow: hidden; }
.fac-slider-track { display: flex; gap: 0; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); }
.fac-card { flex: 0 0 33.3333%; display: flex; flex-direction: column; padding: 0 10px; }

.fac-img-wrap { width: 100%; aspect-ratio: 16 / 12; overflow: hidden; margin-bottom: 25px; position: relative; background: #f4f4f4; }
.fac-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.fac-card:hover .fac-img-wrap img { transform: scale(1.05); }

/* 사진 위 골드 영문 소제목 */
/* 사진 위 골드 영문 소제목 */
.fac-card-eng {
    font-size: 13px; 
    color: #8b734b; 
    font-weight: 700; 
    letter-spacing: 0.15em; 
    text-transform: uppercase; 
    margin-bottom: 18px; /* 18px로 수정했습니다 */
    display: block;
    line-height: 1;
}
.fac-card-title { 
    font-size: 24px; 
    font-weight: 700; 
    margin-top: 0px; 
    margin-bottom: 10px; 
    letter-spacing: -0.03em; 
}

/* 하단 슬라이드 컨트롤 */
.fac-controls { display: flex; justify-content: center; gap: 15px; margin-top: 60px; }
.fac-nav-btn { width: 50px; height: 50px; background: transparent; border: 1px solid #ccc; color: #111; font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; padding: 0; font-family: -apple-system, sans-serif !important; }
.fac-nav-btn:hover { background: #111; color: #fff; border-color: #111; }

@media (max-width: 1024px) { .fac-card { flex: 0 0 50%; } }
@media (max-width: 768px) {
    .facilities-section { padding: 80px 0; }
    .fac-card { flex: 0 0 85%; } 

    
    /* fac-main-title 모바일 사이즈 추가 */
    .fac-main-title { 
        font-size: 26px; 
    }
}

/* =======================================================
   부대시설 신규 이미지 적용 보정
======================================================= */
.fac-card-title {
    word-break: keep-all !important;
    line-height: 1.35 !important;
}

.fac-card-eng {
    word-break: keep-all !important;
}

@media (max-width: 900px) {
    .fac-card {
        flex: 0 0 50% !important;
    }
}

@media (max-width: 600px) {
    .fac-card {
        flex: 0 0 100% !important;
        padding: 0 18px !important;
    }

    .fac-img-wrap {
        margin-bottom: 18px !important;
    }

    .fac-card-title {
        font-size: 21px !important;
    }
}

/* =======================================================
   6. Pricing Table (멤버십 금액표 섹션 - 브로큰 프레임 탭)
======================================================= */
.pricing-section { 
    padding: 120px 20px; 
    background: #f8f2eb; 
    text-align: center; 
    font-family: 'Pretendard', sans-serif !important;
}

/* 브로큰 프레임 탭 버튼 */
.price-tabs { display: flex; justify-content: center; gap: 30px; margin-bottom: 60px; }
.tab-btn { 
    position: relative;
    padding: 20px 60px; 
    background: transparent; 
    color: #111; 
    font-size: 18px; 
    font-weight: 700; 
    cursor: pointer; 
    border: none;
    z-index: 1;
    transition: all 0.3s ease;
    font-family: 'Pretendard', sans-serif !important;
}

/* 끊어진 사각 프레임 효과 */
.tab-btn::before { content: ''; position: absolute; top: 0; left: 15px; width: calc(100% - 30px); height: 100%; border-top: 1px solid #111; border-bottom: 1px solid #111; z-index: -1; transition: all 0.3s ease; }
.tab-btn::after { content: ''; position: absolute; top: 15px; left: 0; width: 100%; height: calc(100% - 30px); border-left: 1px solid #111; border-right: 1px solid #111; z-index: -1; transition: all 0.3s ease; }

/* 활성화 상태: 솔리드 컬러로 변경 */
/* 활성화 상태: 라인 제거 및 솔리드 컬러 */
.tab-btn.active { 
    color: #ffffff; 
    background-color: #8b734b; 
    border: none !important; /* 테두리 제거 */
}
.tab-btn.active::before, .tab-btn.active::after { 
    border-color: transparent !important; /* 라인 숨김 */
}
/* 테이블 설정 */
.price-table-wrap { max-width: 1400px; margin: 0 auto; overflow-x: auto; }
.price-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #ddd; table-layout: fixed; }
.price-table th { background: #8b734b; color: #fff; padding: 20px; font-weight: 700; border: 1px solid #715d3b; text-align: center; }
.price-table td { padding: 20px; border: 1px solid #eee; color: #333; text-align: center; vertical-align: middle; }

/* 녹색 배경 & 흰색 폰트 (구분 컬럼) */
.category-cell { background: #2c3e35 !important; color: #ffffff !important; font-weight: 700; border-right: 2px solid #8b734b; }

.table-pane { display: none; }
.table-pane.active { display: block; }
.unit-info { text-align: right; max-width: 1400px; margin: 0 auto 10px; font-size: 14px; color: #666; }

@media (max-width: 768px) {
    .tab-btn { padding: 15px 30px; font-size: 14px; }
    .price-table th, .price-table td { padding: 12px; font-size: 13px; }
}

/* =======================================================
   9. Last Consultation Section - 회원권 상담 신청
======================================================= */
.final-consult-section,
.final-consult-section * {
    font-family: 'Pretendard', sans-serif !important;
}

.final-consult-section {
    position: relative;
    min-height: 100vh;
    background: #111;
    color: #fff;
    display: grid;
    grid-template-columns: 66% 34%;
    overflow: hidden;
}

.final-consult-visual {
    position: relative;
    min-height: 100vh;
    background: url('/theme/basic/img/contact-bg1.jpg') center center / cover no-repeat;
    padding: 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.final-consult-visual > * {
    position: relative;
    z-index: 1;
}

.final-consult-kicker {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -0.03em;
    color: rgba(255,255,255,0.94);
}

.final-consult-copy {
    max-width: 520px;
    margin-bottom: 70px;
}

.final-consult-title {
    font-size: 34px;
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: -0.045em;
    color: #fff;
    margin-bottom: 26px;
    word-break: keep-all;
}

.final-consult-desc {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.8;
    color: rgba(255,255,255,0.76);
    word-break: keep-all;
}

.final-consult-price {
    font-size: 14px;
    font-weight: 300;
    color: rgba(255,255,255,0.72);
    letter-spacing: -0.03em;
}

.final-consult-panel {
    position: relative;
    min-height: 100vh;
    background: #111111;
    padding: 64px 48px 56px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.final-consult-form {
    width: 100%;
}

.final-form-row {
    margin-bottom: 42px;
}

.final-form-label {
    display: block;
    margin-bottom: 13px;
    color: rgba(255,255,255,0.36);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: -0.03em;
}

.final-form-input {
    width: 100%;
    height: 44px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,0.28);
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 300;
    outline: none;
    padding: 0;
    letter-spacing: -0.03em;
}

.final-form-input::placeholder {
    color: rgba(255,255,255,0.34);
}

.final-form-input:focus {
    border-bottom-color: rgba(255,255,255,0.72);
}

.final-consult-status {
    margin-top: 18px;
    padding: 22px 0 4px;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.final-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.final-status-title {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: rgba(255,255,255,0.78);
}

.final-status-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.48);
    font-size: 11px;
    font-weight: 400;
}

.final-status-live::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d8b56d;
    box-shadow: 0 0 0 4px rgba(216,181,109,0.14);
}

.final-status-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.final-status-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.54);
    font-size: 12px;
    font-weight: 300;
    letter-spacing: -0.03em;
}

.final-status-list li:last-child {
    border-bottom: 0;
}

.final-status-list strong {
    color: rgba(255,255,255,0.78);
    font-weight: 500;
}

.final-consult-bottom {
    padding-top: 34px;
}

.final-privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 30px;
    color: rgba(255,255,255,0.58);
    font-size: 12px;
    font-weight: 300;
}

.final-privacy input {
    width: 14px;
    height: 14px;
    accent-color: #d8b56d;
}

.final-submit-btn {
    width: 100%;
    height: 64px;
    border: 0;
    background: rgba(255,255,255,0.22);
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.03em;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
}

.final-submit-btn:hover {
    background: #d8b56d;
    color: #111;
}

@media (max-width: 1024px) {
    .final-consult-section {
        grid-template-columns: 1fr;
    }

    .final-consult-visual {
        min-height: 62vh;
        padding: 44px 32px;
    }

    .final-consult-panel {
        min-height: auto;
        padding: 52px 32px 60px;
    }

    .final-consult-copy {
        margin-bottom: 48px;
    }

    .final-consult-title {
        font-size: 29px;
    }
}

@media (max-width: 768px) {
    .final-consult-visual {
        min-height: 58vh;
        padding: 34px 24px;
    }

    .final-consult-kicker {
        font-size: 18px;
    }

    .final-consult-title {
        font-size: 24px;
        line-height: 1.48;
        margin-bottom: 18px;
    }

    .final-consult-desc {
        font-size: 13px;
        line-height: 1.7;
    }

    .final-consult-price {
        font-size: 12px;
    }

    .final-consult-panel {
        padding: 42px 24px 54px;
    }

    .final-form-row {
        margin-bottom: 30px;
    }

    .final-status-list li {
        font-size: 11px;
    }

    .final-submit-btn {
        height: 56px;
        font-size: 15px;
    }
}

/* =======================================================
   9. Footer / Notice / 사업자 정보
   - 기존색 #686868 배경
   - 전체 폰트 화이트 계열
======================================================= */
.site-footer {
    position: relative;
    padding: 0;
    background: #686868;
    color: #ffffff;
    text-align: left;
    font-family: 'Pretendard', sans-serif !important;
    overflow: hidden;
    border-top: 0;
}

.site-footer::before {
    display: none;
}

.footer-inner {
    position: relative;
    z-index: 1;
    max-width: 1600px;
    margin: 0 auto;
    padding: 78px 40px 62px;
}

.footer-notice {
    padding-bottom: 46px;
}

.footer-logo {
    margin-bottom: 46px;
}

.footer-logo img {
    max-width: 190px;
    height: auto;
    display: block;
}

.footer-logo-text {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #ffffff;
}

.footer-notice-list {
    max-width: 1180px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-notice-list li {
    position: relative;
    padding-left: 12px;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.78);
    font-size: 14px;
    line-height: 1.75;
    word-break: keep-all;
}

.footer-notice-list li::before {
    content: '·';
    position: absolute;
    left: 0;
    top: 0;
    color: rgba(255,255,255,0.78);
}

.footer-divider {
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,0.28);
    margin: 0 0 36px;
}

.footer-info {
    max-width: 1280px;
    margin: 0 0 26px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px 20px;
}

.footer-info span {
    position: relative;
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    line-height: 1.8;
}

.footer-info span::after {
    content: '|';
    margin-left: 20px;
    color: rgba(255,255,255,0.36);
}

.footer-info span:last-child::after {
    content: '';
}

.copyright {
    color: rgba(255,255,255,0.62);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .footer-inner {
        padding: 58px 24px 88px;
    }

    .footer-logo {
        margin-bottom: 34px;
    }

    .footer-logo img {
        max-width: 150px;
    }

    .footer-logo-text {
        font-size: 19px;
    }

    .footer-notice {
        padding-bottom: 34px;
    }

    .footer-notice-list li {
        font-size: 12px;
        line-height: 1.7;
        margin-bottom: 10px;
    }

    .footer-divider {
        margin-bottom: 28px;
    }

    .footer-info {
        flex-direction: column;
        gap: 5px;
    }

    .footer-info span {
        font-size: 12px;
    }

    .footer-info span::after {
        display: none;
    }
}

/* =======================================================
   모바일 금액표: 좌우 스크롤 없이 한 화면 표시
======================================================= */
@media (max-width: 768px) {
    .modal-type-price-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .modal-price-panel {
        padding: 18px 10px 16px !important;
        overflow-x: visible !important;
    }

    .modal-price-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    .modal-price-table th {
        font-size: 11px !important;
        padding: 9px 3px !important;
        word-break: keep-all !important;
    }

    .modal-price-table td {
        font-size: 11px !important;
        padding: 11px 3px !important;
        word-break: keep-all !important;
    }

    .modal-price-table .price-type-cell {
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    .modal-price-table .price-main-cell {
        font-size: 13px !important;
        font-weight: 700 !important;
        letter-spacing: -0.04em !important;
    }

    .modal-price-panel-title {
        font-size: 16px !important;
        letter-spacing: 0.03em !important;
    }

    .modal-price-panel-sub {
        font-size: 12px !important;
        margin-bottom: 14px !important;
    }

    .modal-price-title-wrap {
        margin-bottom: 18px !important;
    }

    .modal-price-unit {
        font-size: 12px !important;
    }
}

/* =======================================================
   모바일 설명 텍스트 축소 보정
======================================================= */
@media (max-width: 768px) {
    .sp-premium-desc,
    .fac-desc-text,
    .sp-card-desc,
    .partner-highlight,
    .partner-list li,
    .cta-desc,
    .modal-desc-text,
    .modal-brief-desc {
        font-size: 14px !important;
        line-height: 1.65 !important;
        font-weight: 400 !important;
    }

    .sp-premium-title {
        font-size: 21px !important;
    }

    .fac-main-title,
    .sp-title {
        font-size: 23px !important;
    }
}

@media (max-width: 480px) {
    .sp-premium-desc,
    .fac-desc-text,
    .sp-card-desc,
    .partner-highlight,
    .partner-list li,
    .cta-desc,
    .modal-desc-text,
    .modal-brief-desc {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
}

/* =======================================================
   요청 수정: 객실 타이틀 / 모바일 퀵메뉴 / 모바일 배경 깨짐 보정
======================================================= */
/* 1) 메인 객실 타입 텍스트: 한 단계 더 작고 가볍게 */
.room-fs-title {
    font-size: 42px !important;
    font-weight: 500 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.24 !important;
}
.room-fs-meta {
    font-size: 15px !important;
    font-weight: 400 !important;
}
.room-fs-desc {
    font-size: 18px !important;
    font-weight: 300 !important;
}
.room-fs-tags span {
    font-size: 13px !important;
    padding: 7px 13px !important;
}
.btn-room-outline {
    padding: 13px 36px !important;
    font-size: 15px !important;
}

/* 2) 퀵메뉴: 최종 플로팅 패널 스타일은 위 Floating Menu 블록에서 관리 */

/* 3) iOS/모바일에서 background-attachment: scroll 때문에 배경이 깨지는 현상 보정 */
.room-fs-section,
.final-cta-section {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

@media (max-width: 768px) {
    .room-fs-section {
        min-height: 100svh !important;
        height: auto !important;
        background-attachment: scroll !important;
        background-size: cover !important;
        background-position: center center !important;
        padding: 120px 28px 90px !important;
    }
    .bg-silver,
    .bg-gold,
    .bg-royal,
    .bg-presidential,
    .final-cta-section {
        background-attachment: scroll !important;
    }
    .bg-silver { background-position: center center !important; }
    .bg-gold { background-position: center center !important; }
    .bg-royal { background-position: center center !important; }
    .bg-presidential { background-position: center center !important; }

    .room-fs-title {
        font-size: 32px !important;
        font-weight: 500 !important;
        line-height: 1.28 !important;
        letter-spacing: -0.025em !important;
    }
    .room-fs-meta {
        font-size: 14px !important;
        font-weight: 300 !important;
    }
    .room-fs-desc {
        font-size: 16px !important;
        font-weight: 300 !important;
        line-height: 1.6 !important;
    }
    .room-fs-tags span {
        font-size: 12px !important;
        padding: 6px 11px !important;
    }
    .btn-room-outline {
        padding: 12px 30px !important;
        font-size: 14px !important;
    }

    .final-cta-section {
        min-height: 100svh !important;
        height: auto !important;
        background-size: cover !important;
        background-position: center center !important;
        padding: 120px 26px 110px !important;
    }

    /* 모바일 퀵메뉴 스타일은 Floating Menu 블록에서 관리 */
}

@media (max-width: 480px) {
    .room-fs-title {
        font-size: 29px !important;
    }
    .room-fs-tags span {
        font-size: 11.5px !important;
        padding: 6px 10px !important;
    }
    .btn-room-outline {
        padding: 11px 26px !important;
        font-size: 13px !important;
    }
    /* 모바일 퀵메뉴 스타일은 Floating Menu 블록에서 관리 */
}

/* =======================================================
   요청 수정: 객실 자세히보기 버튼 축소
======================================================= */
.room-fs-section .btn-room-outline {
    width: auto !important;
    min-width: 210px !important;
    padding: 13px 36px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 768px) {
    .room-fs-section .btn-room-outline {
        min-width: 180px !important;
        width: auto !important;
        padding: 12px 30px !important;
        font-size: 14px !important;
    }
}

/* =======================================================
   모바일 텍스트 단어 단위 줄바꿈 + 플로팅 아이콘 중앙정렬
======================================================= */
@media (max-width: 768px) {
    .daon-resort-wrap,
    .daon-resort-wrap * {
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    .hero-subtitle,
    .hero-title,
    .hero-copy,
    .sp-premium-title,
    .sp-premium-desc,
    .room-fs-meta,
    .room-fs-title,
    .room-fs-desc,
    .modal-large-title,
    .modal-brief-desc,
    .modal-desc-text,
    .fac-desc-text,
    .partner-highlight,
    .partner-list li,
    .cta-title,
    .cta-desc {
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        line-break: strict !important;
    }

    .floating-fab {
        align-items: center !important;
    }

    .floating-actions {
        align-items: center !important;
    }

    .floating-action,
    .floating-toggle {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =======================================================
   플로팅 메뉴 PC/모바일 공통 중앙정렬 보정
======================================================= */
.floating-fab {
    align-items: center !important;
}

.floating-actions {
    align-items: center !important;
}

.floating-action,
.floating-toggle {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =======================================================
   SPECIAL POINT 섹션 최종 보정
   - 상단 여백 축소
   - 우측 설명 영역 비어 보이는 느낌 완화
   - 호텔 브랜드형 50:50 슬라이드 유지
======================================================= */
.special-point-section {
    padding-top: 90px !important;
    background: #ffffff !important;
}

.sp-header {
    margin-bottom: 48px !important;
}

.sp-subtitle {
    font-size: 12px !important;
    margin-bottom: 12px !important;
}

.sp-title {
    font-size: 30px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.sp-premium-slide {
    grid-template-columns: 52% 48% !important;
    min-height: 560px !important;
    background: #fbfaf7 !important;
}

.sp-premium-img {
    min-height: 560px !important;
}

.sp-premium-info {
    min-height: 560px !important;
    padding: 76px 7vw !important;
    background: #fbfaf7 !important;
    border-left: 1px solid rgba(139, 115, 75, 0.16) !important;
}

.sp-premium-no {
    font-size: 12px !important;
    margin-bottom: 24px !important;
}

.sp-premium-eng {
    font-size: 12px !important;
    margin-bottom: 14px !important;
}

.sp-premium-title {
    font-size: 28px !important;
    font-weight: 600 !important;
    margin-bottom: 22px !important;
}

.sp-premium-desc {
    max-width: 560px !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #555 !important;
}

.sp-premium-controls {
    padding: 30px 100px 68px !important;
    background: #fbfaf7 !important;
}

@media (max-width: 900px) {
    .special-point-section {
        padding-top: 74px !important;
    }

    .sp-header {
        margin-bottom: 34px !important;
    }

    .sp-title {
        font-size: 24px !important;
    }

    .sp-premium-slide {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }

    .sp-premium-img {
        min-height: 280px !important;
    }

    .sp-premium-info {
        min-height: auto !important;
        padding: 42px 28px 48px !important;
        border-left: none !important;
    }

    .sp-premium-title {
        font-size: 22px !important;
    }

    .sp-premium-desc {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .sp-premium-controls {
        padding: 24px 28px 54px !important;
    }
}

/* =======================================================
   객실 모달 상세 기본 노출 보정
======================================================= */
.modal-brief-area {
    padding-bottom: 48px !important;
}

.modal-gallery-title {
    padding-top: 54px !important;
}

@media (max-width: 768px) {
    .modal-brief-area {
        padding-bottom: 34px !important;
    }

    .modal-gallery-title {
        padding-top: 34px !important;
    }
}

/* =======================================================
   마지막 상담 섹션: 이메일/필수체크/약관 팝업/실시간 상담 위치 보정
======================================================= */
.final-form-required {
    color: #d85c4a;
    font-weight: 700;
    margin-left: 3px;
}

.final-form-input[required] {
    box-shadow: none;
}

.final-privacy {
    justify-content: flex-start !important;
    margin-bottom: 24px !important;
    color: rgba(255,255,255,0.64) !important;
    line-height: 1.5;
}

.final-privacy input {
    order: -1;
    flex: 0 0 auto;
    cursor: pointer;
}

.final-policy-link {
    color: rgba(255,255,255,0.86);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    font-weight: 500;
}

.final-consult-status {
    margin-top: 46px !important;
    padding: 24px 0 4px !important;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.final-consult-bottom {
    padding-top: 8px !important;
}

.final-policy-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100200;
    background: rgba(0,0,0,0.72);
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.final-policy-modal.show {
    display: flex;
}

.final-policy-box {
    width: min(720px, 100%);
    max-height: 78vh;
    overflow-y: auto;
    background: #151515;
    border: 1px solid rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.78);
    padding: 42px 38px;
    box-shadow: 0 24px 70px rgba(0,0,0,0.35);
    font-family: 'Pretendard', sans-serif !important;
}

.final-policy-box h3 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.04em;
}

.final-policy-box h4 {
    margin: 28px 0 12px;
    color: rgba(255,255,255,0.92);
    font-size: 15px;
    font-weight: 600;
}

.final-policy-box p,
.final-policy-box li {
    font-size: 13px;
    line-height: 1.75;
    font-weight: 300;
    word-break: keep-all;
}

.final-policy-box ul {
    margin: 0;
    padding-left: 18px;
}

.final-policy-close {
    width: 100%;
    height: 48px;
    margin-top: 30px;
    border: 1px solid rgba(255,255,255,0.28);
    background: transparent;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
}

.final-policy-close:hover {
    background: rgba(255,255,255,0.1);
}

@media (max-width: 768px) {
    .final-privacy {
        font-size: 11px !important;
        align-items: flex-start !important;
    }

    .final-consult-status {
        margin-top: 34px !important;
        padding-top: 20px !important;
    }

    .final-policy-box {
        padding: 34px 24px;
    }
}

/* =======================================================
   마지막 상담 섹션: 실시간 상담 롤링 / 약관 링크 색상 보정
======================================================= */
.final-privacy,
.final-privacy span,
.final-privacy button {
    color: rgba(255,255,255,0.72) !important;
}

.final-policy-link {
    display: inline !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: rgba(255,255,255,0.72) !important;
    font: inherit !important;
    font-weight: 400 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 1px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.final-policy-link:hover {
    color: #ffffff !important;
}

.final-consult-status {
    margin-top: 58px !important;
    padding-top: 28px !important;
}

.final-status-viewport {
    height: 280px;
    overflow: hidden;
    position: relative;
}

.final-status-list {
    animation: finalStatusRolling 16s linear infinite;
}

.final-status-viewport:hover .final-status-list {
    animation-play-state: paused;
}

.final-status-list li {
    min-height: 56px !important;
    padding: 14px 0 !important;
}

@keyframes finalStatusRolling {
    0% { transform: translateY(0); }
    10% { transform: translateY(0); }
    20% { transform: translateY(-56px); }
    30% { transform: translateY(-56px); }
    40% { transform: translateY(-112px); }
    50% { transform: translateY(-112px); }
    60% { transform: translateY(-168px); }
    70% { transform: translateY(-168px); }
    80% { transform: translateY(-224px); }
    90% { transform: translateY(-224px); }
    100% { transform: translateY(-280px); }
}

@media (max-width: 768px) {
    .final-consult-status {
        margin-top: 44px !important;
    }

    .final-status-viewport {
        height: 245px;
    }

    .final-status-list li {
        min-height: 49px !important;
        padding: 12px 0 !important;
    }

    @keyframes finalStatusRolling {
        0% { transform: translateY(0); }
        10% { transform: translateY(0); }
        20% { transform: translateY(-49px); }
        30% { transform: translateY(-49px); }
        40% { transform: translateY(-98px); }
        50% { transform: translateY(-98px); }
        60% { transform: translateY(-147px); }
        70% { transform: translateY(-147px); }
        80% { transform: translateY(-196px); }
        90% { transform: translateY(-196px); }
        100% { transform: translateY(-245px); }
    }
}

/* =======================================================
   Floating Quick Menu - 3개 버튼 상시 노출형 복구
======================================================= */
.floating-fab {
    position: fixed;
    right: 28px;
    bottom: 32px;
    z-index: 10020;
    display: flex;
    flex-direction: column;
    align-items: center !important;
    gap: 14px;
}

.floating-actions {
    display: flex;
    flex-direction: column;
    align-items: center !important;
    gap: 14px;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
}

.floating-action {
    position: relative;
    width: auto;
    min-width: 0;
    height: auto;
    border: none;
    background: transparent;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: center !important;
    justify-content: center;
    gap: 2px;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
    font-family: 'Pretendard', sans-serif !important;
}

.floating-action::before {
    content: '';
    display: block;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #123629;
    box-shadow: 0 14px 30px rgba(0,0,0,0.24);
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.floating-action:hover::before {
    background: #0e2c22;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0,0,0,0.28);
}

.floating-action img {
    position: absolute;
    top: 17px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    object-fit: contain;
    pointer-events: none;
}

.floating-action span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 24px;
    padding: 0 10px;
    margin-top: -7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.94);
    color: #123629;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
    box-shadow: 0 8px 18px rgba(0,0,0,0.12);
    white-space: nowrap;
}

.floating-toggle {
    display: none !important;
}

@media (max-width: 768px) {
    .floating-fab {
        right: 14px;
        bottom: 88px;
        gap: 11px;
    }

    .floating-actions {
        gap: 11px;
    }

    .floating-action::before {
        width: 50px;
        height: 50px;
        box-shadow: 0 12px 24px rgba(0,0,0,0.22);
    }

    .floating-action img {
        top: 14.5px;
        width: 21px;
        height: 21px;
    }

    .floating-action span {
        min-width: 56px;
        height: 21px;
        padding: 0 8px;
        margin-top: -6px;
        font-size: 11px;
    }
}

/* =======================================================
   모바일 객실안내 배경 위치 보정
   - 센터 고정 대신 건물 외관/수영장 영역이 보이도록 조정
======================================================= */
@media (max-width: 768px) {
    .room-fs-section {
        background-size: cover !important;
        background-attachment: scroll !important;
    }

    .bg-silver {
        background-position: 10% center !important;
    }

    .bg-gold {
        background-position: 10% center !important;
    }

    .bg-royal {
        background-position: 10% center !important;
    }

    .bg-presidential {
        background-position: 45% center !important;
    }
}

/* =======================================================
   1차 확정 수정사항 최종 오버라이드
   기준 컬러: 카다로그 자주색 #431227
======================================================= */
.daon-site-header.is-scrolled {
    background: #431227 !important;
    backdrop-filter: blur(12px) !important;
}

.daon-site-header.is-open {
    background: #431227 !important;
}

.sp-premium-info {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
}

.sp-premium-desc {
    text-align: center !important;
}

.modal-price-image-area {
    margin: 70px auto 70px !important;
    max-width: 1120px !important;
    text-align: center !important;
}

.modal-price-image-wrap {
    margin-top: 24px !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e8e0d4 !important;
    padding: 18px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.06) !important;
}

.modal-price-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
}

.commercial-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100004;
    background: rgba(0,0,0,0.72);
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: 'Pretendard', sans-serif !important;
}

.commercial-popup-overlay.show {
    display: flex;
}

.commercial-popup-box {
    position: relative;
    width: min(92vw, 520px);
    min-height: 260px;
    background: #431227;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0,0,0,0.34);
    padding: 56px 34px;
}

.commercial-popup-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.24em;
    color: rgba(255,255,255,0.72);
    margin-bottom: 18px;
}

.commercial-popup-box h2 {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    margin: 0;
}

.commercial-popup-close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}

.floating-action.floating-phone::before {
    background: #16b55b !important;
}

.floating-action.floating-phone:hover::before {
    background: #0fa64f !important;
}

.floating-action.floating-consult::before {
    background: #431227 !important;
}

.floating-action.floating-consult:hover::before {
    background: #35101f !important;
}

.floating-action.floating-phone {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    margin-bottom: 6px !important;
}

.floating-action.floating-phone .floating-phone-number {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 5px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.06em !important;
    text-align: center !important;
    white-space: normal !important;
    z-index: 2 !important;
}

@media (max-width: 768px) {
    .floating-action.floating-phone {
        width: 50px !important;
        min-width: 50px !important;
        height: 50px !important;
    }
    .floating-action.floating-phone .floating-phone-number {
        width: 50px !important;
        height: 50px !important;
        font-size: 8.4px !important;
        padding: 0 4px !important;
    }
    .commercial-popup-box h2 {
        font-size: 30px;
    }
}

/* =======================================================
   최종 추가 반영
   - Membership Benefit 이미지 배너
   - COMMERCIAL 섹션 방식 변경
   - 전화 퀵메뉴 라벨 보정
======================================================= */
#commercial-section {
    scroll-margin-top: 88px;
}

.hero-promo-section {
    padding-top: 95px !important;
}

.hero-benefit-banner {
    max-width: 1600px;
    margin: 0 auto 72px;
    padding: 0;
}

.hero-benefit-banner img {
    display: block;
    width: 100%;
    height: auto;
    border: 0;
}

.commercial-section {
    position: relative;
    background: #431227;
    color: #ffffff;
    padding: 130px 24px;
    text-align: center;
    overflow: hidden;
}

.commercial-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 56%);
    pointer-events: none;
}

.commercial-section-inner {
    position: relative;
    z-index: 1;
    max-width: 960px;
    margin: 0 auto;
}

.commercial-section-subtitle {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.28em;
    color: rgba(255,255,255,0.72);
    margin-bottom: 22px;
}

.commercial-section-title {
    font-size: 44px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.04em;
    margin: 0 0 20px;
    color: #ffffff;
}

.commercial-section-desc {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255,255,255,0.82);
    margin: 0;
}

.floating-action.floating-phone {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
}

.floating-action.floating-phone .floating-phone-number {
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
}

.floating-action.floating-phone .floating-phone-label {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 64px !important;
    height: 24px !important;
    margin-top: -7px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.94) !important;
    color: #16b55b !important;
    box-shadow: 0 8px 18px rgba(0,0,0,0.12) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
}

@media (max-width: 768px) {
    .hero-promo-section {
        padding-top: 64px !important;
    }
    .hero-benefit-banner {
        margin-bottom: 46px;
    }
    .commercial-section {
        padding: 90px 22px;
    }
    .commercial-section-title {
        font-size: 30px;
    }
    .commercial-section-desc {
        font-size: 17px;
    }
    .floating-action.floating-phone .floating-phone-label {
        min-width: 56px !important;
        height: 21px !important;
        padding: 0 8px !important;
        margin-top: -6px !important;
        font-size: 11px !important;
    }
}

/* =======================================================
   2차 보정 반영
   - Membership Benefit 섹션 자주색 배경 + 흰색 텍스트
   - 퀵메뉴 전화/상담 톤 자주색 통일
======================================================= */
.hero-promo-section {
    background: #431227 !important;
    color: #ffffff !important;
}
.hero-promo-label,
.hero-promo-title,
.hero-promo-title strong {
    color: #ffffff !important;
}
.hero-promo-btn {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.85) !important;
    background: transparent !important;
}
.hero-promo-btn:hover {
    background: #ffffff !important;
    color: #431227 !important;
}
.hero-benefit-banner {
    max-width: 1600px !important;
    margin: 0 auto 72px !important;
    padding: 0 20px !important;
}
.hero-benefit-banner img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}
.floating-action.floating-phone::before,
.floating-action.floating-consult::before {
    background: #431227 !important;
}
.floating-action.floating-phone:hover::before,
.floating-action.floating-consult:hover::before {
    background: #35101f !important;
}
.floating-action.floating-phone .floating-phone-label,
.floating-action span {
    color: #431227 !important;
}
.floating-action.floating-phone .floating-phone-number {
    color: #ffffff !important;
}
@media (max-width: 768px) {
    .hero-benefit-banner {
        margin-bottom: 46px !important;
        padding: 0 0 !important;
    }
}

/* =======================================================
   4차 보정 반영
   - DB/상담 섹션 자주색 적용
   - 메인 객실 자세히 보기 버튼 자주색 적용
   - 대표번호 연결 1577-5889 적용
   - 부대시설 중복 라운지/집무실 정리
======================================================= */
.final-consult-section {
    background: #431227 !important;
}
.final-consult-panel {
    background: #431227 !important;
}
.final-submit-btn {
    background: rgba(255,255,255,0.22) !important;
    color: #ffffff !important;
}
.final-submit-btn:hover {
    background: #ffffff !important;
    color: #431227 !important;
}
.btn-room-outline {
    background: #431227 !important;
    border-color: #431227 !important;
    color: #ffffff !important;
}
.btn-room-outline:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #431227 !important;
}
.cta-btn[onclick*="1577-5889"] {
    border-color: rgba(255,255,255,0.9) !important;
}

/* 8차 보정 반영
   - SPECIAL POINT 내용 블록 위치는 중앙 유지
   - 텍스트 정렬은 왼쪽 정렬
   - DB/상담 섹션 이미지 그라데이션 완전 제거 유지
*/
.sp-premium-info {
    justify-content: center !important;
    align-items: center !important;
    text-align: left !important;
}
.sp-premium-info > * {
    width: 100% !important;
    max-width: 560px !important;
}
.sp-premium-no,
.sp-premium-eng,
.sp-premium-title,
.sp-premium-desc {
    text-align: left !important;
}
.final-consult-visual::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* =======================================================
   자잘한 수정 반영
   - 전화 퀵메뉴: 번호 텍스트 → 전화 아이콘
   - COMMERCIAL 섹션: 50:50 이미지 구성
======================================================= */
.floating-action.floating-phone .floating-phone-number {
    display: none !important;
}
.floating-action.floating-phone img {
    display: block !important;
    position: absolute !important;
    top: 17px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
    z-index: 2 !important;
}
.floating-action.floating-phone::before {
    background: #431227 !important;
}
.floating-action.floating-phone:hover::before {
    background: #35101f !important;
}
.floating-action.floating-phone .floating-phone-label {
    color: #431227 !important;
}

.commercial-section {
    padding: 0 !important;
    background: #431227 !important;
    text-align: left !important;
}
.commercial-section::before {
    display: none !important;
    content: none !important;
}
.commercial-section-inner {
    max-width: none !important;
    width: 100% !important;
    min-height: 560px !important;
    display: grid !important;
    grid-template-columns: 50% 50% !important;
    align-items: stretch !important;
    margin: 0 !important;
}
.commercial-section-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 120px 8vw !important;
    box-sizing: border-box !important;
}
.commercial-section-image {
    width: 100% !important;
    min-height: 560px !important;
    overflow: hidden !important;
}
.commercial-section-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
@media (max-width: 900px) {
    .commercial-section-inner {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }
    .commercial-section-text {
        padding: 86px 24px 70px !important;
        text-align: center !important;
        align-items: center !important;
    }
    .commercial-section-image {
        min-height: 300px !important;
    }
}

/* =======================================================
   Membership Benefit 배경 이미지형 적용
   - 텍스트/버튼은 코딩 상태 유지
   - 제품 누끼 이미지만 섹션 배경으로 교체 가능
   - 배경이미지 파일명: /theme/basic/img/daon_membership_benefit_bg.png
======================================================= */
.hero-promo-section.hero-promo-bg-section {
    position: relative !important;
    background-color: #431227 !important;
    background-image: url('/theme/basic/img/daon_membership_benefit_bg.png') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    color: #ffffff !important;
    overflow: hidden !important;
    min-height: 700px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.hero-promo-section.hero-promo-bg-section .hero-promo-inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    min-height: auto !important;
    align-items: center !important;
}
.hero-promo-section.hero-promo-bg-section .hero-promo-label,
.hero-promo-section.hero-promo-bg-section .hero-promo-title,
.hero-promo-section.hero-promo-bg-section .hero-promo-title strong {
    color: #ffffff !important;
}
.hero-promo-section.hero-promo-bg-section .hero-promo-btn {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.9) !important;
    background: transparent !important;
}
.hero-promo-section.hero-promo-bg-section .hero-promo-btn:hover {
    background: #ffffff !important;
    color: #431227 !important;
}
@media (max-width: 1024px) {
    .hero-promo-section.hero-promo-bg-section {
        min-height: 560px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        background-position: center center !important;
        background-size: cover !important;
    }
}
@media (max-width: 768px) {
    .hero-promo-section.hero-promo-bg-section {
        min-height: auto !important;
        background-image: none !important;
        background-color: #431227 !important;
        padding-top: 90px !important;
        padding-bottom: 90px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        min-height: auto;
    }
}

/* 스크롤 버벅임 방지: fixed 배경 제거 */
.bg-silver,
.bg-gold,
.bg-royal,
.bg-presidential,
.final-cta-section {
    background-attachment: scroll !important;
}

/* =======================================================
   COMMERCIAL / Membership Benefit 추가 보정
   - COMMERCIAL: PC도 배경형 + 중앙정렬 + 700px + 어두운 오버레이
   - Membership Benefit 모바일: 텍스트 중앙정렬 + 위/아래 이미지 노출
======================================================= */
.commercial-section {
    position: relative !important;
    min-height: 700px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #111111 !important;
    background-image: url('/theme/basic/img/commercial_bg.jpg') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
    text-align: center !important;
    overflow: hidden !important;
}
.commercial-section::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.58) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
.commercial-section::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(67,18,39,0.32) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}
.commercial-section-inner {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 1200px !important;
    min-height: auto !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-template-columns: none !important;
    box-sizing: border-box !important;
}
.commercial-section-text {
    width: 100% !important;
    max-width: 760px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    color: #ffffff !important;
}
.commercial-section-subtitle,
.commercial-section-title,
.commercial-section-desc {
    text-align: center !important;
    color: #ffffff !important;
}
.commercial-section-subtitle {
    color: rgba(255,255,255,0.82) !important;
}
.commercial-section-desc {
    color: rgba(255,255,255,0.9) !important;
}
.commercial-section-image {
    display: none !important;
}

@media (max-width: 900px) {
    .commercial-section {
        min-height: 560px !important;
        background-position: center center !important;
    }
    .commercial-section-inner {
        min-height: auto !important;
    }
    .commercial-section-text {
        padding: 0 !important;
    }
}

@media (max-width: 768px) {
    .commercial-section {
        min-height: 500px !important;
        padding: 0 !important;
    }
    .commercial-section-title {
        font-size: 32px !important;
    }
    .commercial-section-desc {
        font-size: 17px !important;
    }

    .hero-promo-section.hero-promo-bg-section {
        position: relative !important;
        min-height: 720px !important;
        padding: 180px 24px !important;
        background-image: none !important;
        background-color: #431227 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
    .hero-promo-section.hero-promo-bg-section::before,
    .hero-promo-section.hero-promo-bg-section::after {
        content: '' !important;
        position: absolute !important;
        left: 0 !important;
        width: 100% !important;
        height: 180px !important;
        background-image: url('/theme/basic/img/daon_membership_benefit_bg.png') !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        opacity: 1 !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }
    .hero-promo-section.hero-promo-bg-section::before {
        top: 0 !important;
        background-position: center top !important;
    }
    .hero-promo-section.hero-promo-bg-section::after {
        bottom: 0 !important;
        background-position: center bottom !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 34px !important;
        width: 100% !important;
        max-width: 640px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label,
    .hero-promo-section.hero-promo-bg-section .hero-promo-content,
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 34px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 28px !important;
        line-height: 1.55 !important;
        margin-bottom: 36px !important;
    }
}

@media (max-width: 480px) {
    .hero-promo-section.hero-promo-bg-section {
        min-height: 650px !important;
        padding: 150px 22px !important;
    }
    .hero-promo-section.hero-promo-bg-section::before,
    .hero-promo-section.hero-promo-bg-section::after {
        height: 145px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 30px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 24px !important;
    }
}

/* COMMERCIAL 섹션: 블랙 계열 오버레이 + 중앙정렬 */
.commercial-section {
    position: relative !important;
    min-height: 700px !important;
    height: 700px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-image: url('/theme/basic/img/commercial_bg.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
}
.commercial-section::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.72) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
.commercial-section::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at center, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.42) 72%) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}
.commercial-section-inner,
.commercial-section-text {
    position: relative !important;
    z-index: 3 !important;
}
.commercial-section-inner {
    width: 100% !important;
    max-width: 1400px !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.commercial-section-text {
    width: 100% !important;
    max-width: 760px !important;
    padding: 0 24px !important;
    text-align: center !important;
    align-items: center !important;
    color: #ffffff !important;
}
.commercial-section-image {
    display: none !important;
}

/* Membership Benefit 모바일: 배경이미지 사용 X, 위/아래 이미지 슬롯으로 분리 */
@media (max-width: 768px) {
    .hero-promo-section.hero-promo-bg-section {
        background-image: none !important;
        background-color: #431227 !important;
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
    }
    .hero-promo-section.hero-promo-bg-section::before,
    .hero-promo-section.hero-promo-bg-section::after {
        content: '' !important;
        display: block !important;
        width: 100% !important;
        height: 280px !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center center !important;
        pointer-events: none !important;
    }
    .hero-promo-section.hero-promo-bg-section::before {
        background-image: url('/theme/basic/img/daon_membership_benefit_m_top.png') !important;
    }
    .hero-promo-section.hero-promo-bg-section::after {
        background-image: url('/theme/basic/img/daon_membership_benefit_m_bottom.png') !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        display: block !important;
        min-height: auto !important;
        padding: 72px 24px 78px !important;
        text-align: center !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label,
    .hero-promo-section.hero-promo-bg-section .hero-promo-content {
        max-width: none !important;
        width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 32px !important;
        line-height: 1.25 !important;
        margin-bottom: 42px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 28px !important;
        line-height: 1.55 !important;
        margin-bottom: 54px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-btn {
        min-width: 280px !important;
        height: 66px !important;
        font-size: 17px !important;
    }

    .commercial-section {
        min-height: 500px !important;
        height: 500px !important;
    }
}
@media (max-width: 480px) {
    .hero-promo-section.hero-promo-bg-section::before,
    .hero-promo-section.hero-promo-bg-section::after {
        height: 220px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        padding: 64px 22px 70px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 28px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 24px !important;
    }
}

/* Membership Benefit 모바일: 실제 img 태그로 위/아래 이미지 분리 */
.hero-promo-mobile-img {
    display: none !important;
}
@media (max-width: 768px) {
    .hero-promo-section.hero-promo-bg-section {
        background-image: none !important;
        background-color: #431227 !important;
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
    }
    .hero-promo-section.hero-promo-bg-section::before,
    .hero-promo-section.hero-promo-bg-section::after {
        content: none !important;
        display: none !important;
        background-image: none !important;
    }
    .hero-promo-mobile-img {
        display: block !important;
        width: 100% !important;
        line-height: 0 !important;
        overflow: hidden !important;
    }
    .hero-promo-mobile-img img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        display: block !important;
        min-height: auto !important;
        padding: 70px 24px 74px !important;
        text-align: center !important;
        position: relative !important;
        z-index: 2 !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label,
    .hero-promo-section.hero-promo-bg-section .hero-promo-content {
        max-width: none !important;
        width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 32px !important;
        line-height: 1.25 !important;
        margin-bottom: 40px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 28px !important;
        line-height: 1.55 !important;
        margin-bottom: 52px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-btn {
        min-width: 280px !important;
        height: 66px !important;
        font-size: 17px !important;
    }
}
@media (max-width: 480px) {
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        padding: 62px 22px 68px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 28px !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 24px !important;
    }
}

/* Membership Benefit 모바일 컬러/이미지 여백 보정 */
@media (max-width: 768px) {
    .hero-promo-section.hero-promo-bg-section {
        background-color: #3e1225 !important;
    }
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        background-color: #3e1225 !important;
    }
    .hero-promo-mobile-img {
        background-color: #3e1225 !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        box-sizing: border-box !important;
    }
}

/* 유튜브 배경영상 컨트롤 오버레이 방지 */
.video-bg-wrap,
.video-bg-wrap iframe {
    pointer-events: none !important;
}
.video-bg-wrap iframe {
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* 메인 히어로 Vimeo embed 코드 적용 */
.video-bg-wrap,
.video-bg-wrap iframe {
    pointer-events: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}
.video-bg-wrap iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100vw !important;
    height: 56.25vw !important;
    min-height: 100vh !important;
    min-width: 177.77vh !important;
    transform: translate(-50%, -50%) !important;
}

/* 메인 히어로와 다음 섹션 사이 흰 여백 방지 */
.hero-promo-section.reveal-item {
    opacity: 1 !important;
    transform: none !important;
}
.hero-promo-section.reveal-item.in-view {
    opacity: 1 !important;
    transform: none !important;
}

@supports (height: 100svh) {
    .premium-hero-section,
    .room-fs-section {
        height: 100svh !important;
        min-height: 100svh !important;
    }
}
@media (max-width: 768px) {
    .premium-hero-section,
    .room-fs-section {
        height: 100svh !important;
        min-height: 100svh !important;
    }
}

/* Vimeo 메인 배경영상 컨트롤/Unmute 노출 최소화 */
.video-bg-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.video-bg-wrap iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100vw !important;
    height: 56.25vw !important;
    min-height: 100vh !important;
    min-width: 177.77vh !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}
.video-bg-click-blocker {
    position: absolute !important;
    inset: 0 !important;
    z-index: 5 !important;
    background: transparent !important;
    pointer-events: auto !important;
    touch-action: none !important;
}

/* 메인 히어로와 다음 섹션 사이 흰 여백 방지 */
.hero-promo-section.reveal-item {
    opacity: 1 !important;
    transform: none !important;
}
.hero-promo-section.reveal-item.in-view {
    opacity: 1 !important;
    transform: none !important;
}

/* 모바일 브라우저 주소창/하단바로 인한 100vh 흔들림 보정 */
@supports (height: 100svh) {
    .premium-hero-section,
    .room-fs-section {
        height: 100svh !important;
        min-height: 100svh !important;
    }
}
@media (max-width: 768px) {
    .premium-hero-section,
    .room-fs-section {
        height: 100svh !important;
        min-height: 100svh !important;
    }
}


/* Membership Benefit 모바일 폰트/버튼 사이즈 원복 + 센터정렬 유지 */
@media (max-width: 768px) {
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        padding: 72px 24px 76px !important;
        text-align: center !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-label,
    .hero-promo-section.hero-promo-bg-section .hero-promo-content,
    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 25px !important;
        line-height: 1.35 !important;
        margin-bottom: 38px !important;
        font-weight: 600 !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 21px !important;
        line-height: 1.5 !important;
        margin-bottom: 30px !important;
        font-weight: 300 !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-btn {
        min-width: 140px !important;
        height: 42px !important;
        padding: 0 24px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
    }
}

@media (max-width: 480px) {
    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        padding: 68px 22px 72px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        font-size: 25px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        font-size: 21px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-btn {
        min-width: 140px !important;
        height: 42px !important;
        font-size: 13px !important;
    }
}


/* Membership Benefit 모바일 이미지/내용 간격 보정 */
@media (max-width: 768px) {
    .hero-promo-mobile-img {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        padding-top: 44px !important;
        padding-bottom: 48px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-label {
        margin-bottom: 30px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-title {
        margin-bottom: 34px !important;
    }
}

@media (max-width: 480px) {
    .hero-promo-mobile-img {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .hero-promo-section.hero-promo-bg-section .hero-promo-inner {
        padding-top: 42px !important;
        padding-bottom: 46px !important;
    }
}
