
.contents { flex: 1; display: flex; flex-direction: column; }

body.modal-open {}
.site-header__small-container {display: none;}
.site-main-header__small-container {display: none;}

/*모바일 메인 헤더*/
.mobile-main-header {position: fixed; top: 0; left: 0; width: 100%; padding: 16px 20px; z-index: 101; transition: all 0.3s ease;}
.mobile-main-header__top {display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; transition: margin 0.3s ease;}
.mobile-main-header__logo {display: inline-flex; flex-direction: column; gap: 4px; font-size: 18px; color: #fff; line-height: 1; text-decoration: none; transition: color 0.3s ease;}
.mobile-main-header__menu-btn {background: none; border: none; padding: 0; cursor: pointer; display: flex; flex-direction: column; gap: 5px; width: 28px; height: 22px;}
.mobile-main-header__menu-btn span {display: block; width: 100%; height: 3px; background: #fff; border-radius: 2px; transition: all 0.3s ease;}
.mobile-main-header__search {transition: all 0.3s ease;}
.mobile-main-header__search-box {background: #fff; border-radius: 25px; padding: 12px 20px; display: flex; align-items: center; gap: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: all 0.3s ease;}
.mobile-main-header__search-icon {flex-shrink: 0; color: #333; width: 20px; height: 20px;}
.mobile-main-header__search-input-wrapper {flex: 1; position: relative; height: 24px; overflow: hidden;}
.mobile-main-header__search-input {width: 100%; border: none; outline: none; background: transparent; font-size: 15px; font-weight: 500; color: #333; opacity: 0; position: absolute; top: 0; left: 0;}
.mobile-main-header__search-input:focus {opacity: 1;}
.mobile-main-header__search-input:focus + .mobile-main-header__search-placeholder-roller {display: none;}
.mobile-main-header__search-placeholder-roller {position: absolute; top: 0; left: 0; animation: rollPlaceholder 10s infinite;}
.mobile-main-header__placeholder-item {display: block; font-size: 15px; font-weight: 500; color: #999; height: 24px; line-height: 24px;}

.mobile-main-header.is-fixed {background: #fff; padding: 12px 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.mobile-main-header.is-fixed .mobile-main-header__top {margin-bottom: 0; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
.mobile-main-header.is-fixed .mobile-main-header__logo {display: none;}
.mobile-main-header.is-fixed .mobile-main-header__menu-btn span {background: #333;}
.mobile-main-header.is-fixed .mobile-main-header__search {padding-right: 50px;}
.mobile-main-header.is-fixed .mobile-main-header__search-box {border-radius: 8px; box-shadow: none;}
.mobile-main-header.is-fixed .mobile-main-header__search-placeholder-roller {animation: none; transform: translateY(0);}

/*
모바일 햄버거 메뉴 스타일
*/
.mobile-menu-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0); visibility:hidden; transition:background .3s ease, visibility .3s ease; z-index:999; pointer-events:none; }
.mobile-menu-overlay.is-active { background:rgba(0,0,0,.5); visibility:visible; pointer-events:auto; }
.mobile-menu-panel { position:fixed; top:0; right:0; width:80%; max-width:360px; height:100%; background:#fff; transform:translateX(100%); transition:transform .3s ease; z-index:1000; box-shadow:-2px 0 8px rgba(0,0,0,.1); display:flex; flex-direction:column; padding:20px; margin-top:auto;}
.mobile-menu-panel.is-active { transform:translateX(0); }

/* 비로그인 상태 스타일 */
.mobile-menu-panel__header { padding:16px 0; border-bottom:1px solid #f0f0f0; }
.mobile-menu-panel__header-title { font-size:16px; color:#333; margin-bottom:10px; }
.mobile-menu-panel__header-title-sub { font-size:12px; color:#999; }
.mobile-menu-panel__content { flex:1; }
.mobile-menu-panel__login { padding:20px; margin-top:auto; }
.mobile-menu-panel__login button { background-color:#ffffff; color:var(--color-gray-900); border:1px solid #4d4d4d; font-size:14px; line-height:44px; width:100%; border-radius:4px; cursor:pointer; }

/* 로그인 상태 스타일 */
/*.mobile-menu-panel--logged-in { padding:20px; }*/
.mobile-menu-panel__profile { display:flex; gap:12px; align-items:center; padding-bottom:20px; border-bottom:1px solid #f0f0f0; margin-bottom:20px; }
.mobile-menu-panel__profile-icon { flex-shrink:0; }
.mobile-menu-panel__profile-info { flex:1; }
.mobile-menu-panel__profile-name { font-size:16px; font-weight:600; color:#333; margin-bottom:4px; }
.mobile-menu-panel__profile-stats { font-size:12px; color:#999; }

.mobile-menu-panel__nav { display:flex; flex-direction:column; }
.mobile-menu-panel__nav-item { display:flex; justify-content:space-between; align-items:center; padding:16px 0; color:#333; font-size:15px; text-decoration:none; transition:background .2s ease; }
.mobile-menu-panel__nav-item:hover { background:#f9f9f9; }
.mobile-menu-panel__nav-item svg { color:#000; }

.mobile-menu-panel__divider {border-bottom:  1px solid #e6e6e6; margin: 20px 0;}

.mobile-menu-panel__support { display:block; padding:16px 0; color:#333; font-size:15px; text-decoration:none; }
.mobile-menu-panel__logout { margin-top:auto; padding-top:20px; }
.mobile-menu-panel__logout-btn { width:100%; padding:12px; background:#fff; border:1px solid #333; color:#333; font-size:14px; cursor:pointer; transition:background .2s ease; }
.mobile-menu-panel__logout-btn:hover { background:#f9f9f9; }

@keyframes rollPlaceholder {
  0%, 18% {transform: translateY(0);}
  20%, 38% {transform: translateY(-24px);}
  40%, 58% {transform: translateY(-48px);}
  60%, 78% {transform: translateY(-72px);}
  80%, 98% {transform: translateY(-96px);}
  100% {transform: translateY(0);}
}

/*header*/
.site-header {position: fixed; top: 0; left: 0; width: 100%; background: #FFF; z-index: 100; border-bottom: 1px solid var(--color-gray-200);}
.site-header__container {display: flex; justify-content: flex-start; align-items: center; background: #ffffff; height: 76px; /*padding: 0 32px;*/ gap: 70px; width: 100%; max-width: 1280px; margin: 0 auto; /*border-bottom: solid 1px #0a0a0a;*/}
.site-header__logo {display: inline-flex; flex-direction: column; gap: 6px; font-size: 22px; color: var(--logo-color); line-height: 1; flex-shrink: 0; }
.site-header__logo-txt {letter-spacing: 1.5px; font-weight: bold;}
.site-header__logo-stxt {font-size: 12px; font-weight: bold; letter-spacing: 3px;}
.site-header__wrap {flex: 0 0 auto; display: flex; max-width: 480px; width: 380px;}
.site-header__search {width:100%; display:flex; transition:opacity .3s ease, transform .3s ease;}
.site-header__search-form {border: 1px solid #e6e6e6; border-radius: 9999px; padding: 0 20px; width: 100%; height: 44px; display: flex; align-items: center; gap: 10px;}
.site-header__search-icon {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 20px; height: 20px;}
.site-header__search-input {flex: 1; border: none; outline: none; background: transparent; font-size: 15px; font-weight: 500; color: #333; padding: 0;}
.site-header__search-input::placeholder {color: #999;}

.site-header__nav {display: flex; align-items: center; gap: 30px; font-size: 16px; font-weight: bold; text-transform: uppercase; flex-shrink: 0; margin-left: auto; padding-right: 30px; padding-bottom: 6px;}
.site-header__nav a {color: #1c1f23; transition: color 0.2s ease; display: flex; align-items: center; height: 34px }
.site-header__nav a:hover {color: var(--accent);}
.site-header__nav .site-header__nav--active {border-bottom: 2px solid #000;}
.site-header__meta {display: flex; align-items: center; gap: 16px; font-size: 13px; font-weight: 600; color: #7a7f87;}
.site-header__login,
.site-header__locale {display: inline-flex; align-items: center; gap: 6px; color: inherit; border: none; background: transparent; font: inherit; cursor: pointer; padding: 0;}
.site-header__login {text-transform: uppercase; letter-spacing: 0.08em;}
.site-header__login-txt {color: #666666;}
.site-header__divider {display: inline-block; width: 1px; height: 18px; background: #d9dce4;}
.site-header__my {position: relative;}
.site-header__my-btn {display: inline-flex; align-items: center; gap: 6px; color: #666; border: none; background: transparent; font: inherit; cursor: pointer; padding: 0; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
.site-header__my-btn svg {flex-shrink: 0;}
.site-header__my-icon {display: block;}
.site-header__my-icon-filled {display: none;}
.site-header__my-btn:hover .site-header__my-icon {display: none;}
.site-header__my-btn:hover .site-header__my-icon-filled {display: block;}

/* Index page transparent header */
.site-header--transparent {background: transparent; border-bottom: none;}
.site-header--transparent .site-header__container {background: transparent;}
.site-header--transparent .site-header__logo {color: #ffffff;}
.site-header--transparent .site-header__search-form {border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px);}
.site-header--transparent .site-header__search-icon svg path {fill: #fff;}
.site-header--transparent .site-header__search-input {color: #fff;}
.site-header--transparent .site-header__search-input::placeholder {color: rgba(255, 255, 255, 0.7);}
.site-header--transparent .site-header__nav a {color: #ffffff;}
.site-header--transparent .site-header__nav a:hover {color: rgba(255, 255, 255, 0.7);}
.site-header--transparent .site-header__nav .site-header__nav--active {border-bottom: 2px solid #fff;}
.site-header--transparent .site-header__meta {color: #ffffff;}
.site-header--transparent .site-header__login-txt {color: #ffffff;}
.site-header--transparent .site-header__divider {background: rgba(255, 255, 255, 0.3);}
.site-header--transparent .site-header__my-btn {color: #ffffff;}
.site-header--transparent .site-header__my-btn svg circle, .site-header--transparent .site-header__my-btn svg path {stroke: #ffffff;}
.site-header--transparent .site-header__my-icon-filled path {fill: #ffffff;}
.site-header__my-dropdown {position: absolute; top: calc(100% + 20px); right: -10px; min-width: 180px; background: #fff; border: 1px solid #e5e8eb; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); padding: 18px 0; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; z-index: 100;}
.site-header__my-dropdown::before {content: ''; position: absolute; top: -8px; right: 24px; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid #e5e8eb;}
.site-header__my-dropdown::after {content: ''; position: absolute; top: -7px; right: 25px; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #fff;}
.site-header__my:hover .site-header__my-dropdown {opacity: 1; visibility: visible;}
.site-header__my-dropdown a {display: block; padding: 12px 24px; font-size: 14px; color: var(--color-gray-500); text-decoration: none; transition: background 0.2s;}
.site-header__my-dropdown a:hover {font-size: var(--color-gray-900)}
.site-header__my-dropdown .menu {color: var(--color-gray-900) !important;}
.site-header__my-logout {border-top: 1px solid #e5e8eb; margin-top: 8px; padding-top: 20px !important; color: var(--color-gray-900) !important;}

/*로그인*/
.login {display: flex; flex-direction: column; justify-content: center; align-items: center;}
.sub_title {text-align: center; height: 206px; width: 100%; padding-top: 70px;}
.sub_title .tit {font-size: 18px; letter-spacing: 14px; font-weight: 600; color: #000; text-indent: 14px;}
.sub_title .txt {font-size: 20px; color: #000; font-weight: 600; line-height: 28px; margin: 10px 0 0; }
.login-kakao {width: 360px; margin: 0 auto; text-align: center;}
.login-kakao button {color: var(--color-gray-900); width: 100%; height: 52px; border-radius: 6px; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center;  border: 1px solid var(--color-gray-900); position: relative; padding-left: 40px;}
.login-naver {width: 360px; margin: 0 auto; text-align: center; margin-top: 12px;}
.login-naver button {color: var(--color-gray-900); width: 100%; height: 52px; border-radius: 6px; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-gray-900); position: relative; padding-left: 40px;}
.login__btn-icon {width: 20px; height: 20px; background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; left: 16px;}
.login__btn-icon--kakao {background-image: url("/_web/_images/kakao.svg");}
.login__btn-icon--naver {background-image: url("/_web/_images/logo_naver.svg");}
.login__app {font-size: 14px; color: #999; font-weight: 500; text-align: center;}
.login-app__list {display: flex; justify-content: center}
.login__div-text {padding: 40px 0; display: flex; align-items: center; justify-content: center; gap: 16px; width: 360px; margin: 0 auto;}
.login__div-text::before, .login__div-text::after {content: ''; flex: 1; height: 1px; background-color: #ddd;}
.login-new .login-new__text {margin-top: 5px; padding: 0 28px; display: flex; justify-content: center; align-items: center; gap: 20px; height: 44px;}
.login-new__div {width: 1px; height: 20px; background-color: #999;}

/*이메일 로그인*/
.login-container {width: 360px; margin: 0 auto; border-top: 1px solid #000}
.login-email__form .login-email__wrap {margin-top: 30px; display: flex; flex-direction: column; gap: 7px}
.login-email__form ._login_signup__HFBWB {margin-top: 30px; display: flex; flex-direction: column; gap: 40px}

.login-email__form .new-member__btn {background: #fff; line-height: 45px; width: 100%; text-align: center; border: 1px solid var(--border-color-info); color: #000; font-size: 14px; margin-top: 10px}

/* 공통 form input 스타일 */
.login-email__box input,
.form-signup__box input, 
.form-box input {font-size: 16px; border-bottom: 1px solid #ddd; padding: 16px 0; width: 100%;}
.form-vaildation__txt {opacity: 0; height: 0; color: #f06d6a;}
.form-vaildation__txt--on {opacity: 1; margin: 12px 0;}
.login-email__login-btn {text-transform: uppercase; letter-spacing: 4px; margin: 32px 0 0;}
.login-email__login-btn button {height: 52px; flex: 1 1; font-size: 14px;}
.login-email__login-btn .submit-txt {margin: 0 auto; text-align: center; letter-spacing: 6px; background: #333; border: 1px solid #333; color: #fff; display: block; width: 100%;}
.login-email__form .find-wrap {margin-top: 32px}
.login-email__form .find-wrap .find-txt {display: flex; gap: 16px; justify-content: center; width: 100%;}
.login-email__form .find-wrap a {display: inline-block; font-size: 14px; color: #4d4d4d;}

/*
아이디 찾기
*/
.login-wrap .login-container .txt {font-size: 14px; color: #000; line-height: 1.8; padding: 65px 0; text-align: center; width: 100%; white-space: break-spaces;}
.form-box {border-bottom: 1px solid #ddd;}
.form-box .form-box__input-wrap.form-box__phone {display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ddd;}
.form-box .form-box__input-wrap.form-box__email {border-bottom: 1px solid #ddd; margin-bottom: 20px;}
.form-box .form-box__input-wrap {position: relative;}
.form-box select._form_country__MTgUI + input {flex: 1 1; width: 100%;}
.form-login__join-btn, .form-login__changepw-btn {display: flex;}
.form-box__btn-auth--disabled {opacity: .3; cursor: default;}
.login-wrap__find-id {font-size: 14px;color: #000;line-height: 1.8;text-align: left;width: 100%;padding: 32px 12px; border-bottom: 1px solid #ddd; border-top: 1px solid #ddd;}
.form-join__login-btn {margin: 0 auto; text-align: center; background: #333; border: 1px solid #333; color: #fff; display: block;  height: 52px;flex: 1 1;font-size: 14px; width: 100%; margin-top: 30px}

/*인증 번호*/
.form-box__auth-wrap {display: flex; justify-content: space-between; align-items: center; margin-top: 10px;}
.form-box__timer {margin-left: auto; padding: 0 8px; font-size: 12px; font-weight: 500; color: #c53030;}
.form-box__btn-auth {font-size: 11px; height: 24px; min-width: -moz-max-content; min-width: max-content; padding: 0 8px; color: #181818; border: 1px solid #181818; text-align: center; background: #fff;}

.form-box .form-box__btn-auth {font-size: 11px; height: 24px; min-width: -moz-max-content; min-width: max-content; padding: 0 8px; margin-left: 10px; color: #181818; border: 1px solid #181818; text-align: center; background: #fff;}

.form-box .form-box__auth-wrap--hidden {display: none; opacity: 0; visibility: hidden;}

.login-wrap .btm_txt {font-size: 14px; text-align: center; line-height: 1.6; color: grey; margin-top: 50px;}
.login-wrap .btm_txt .btm_txt_u {cursor: pointer; text-decoration: underline !important; display: inline;}
.login-wrap .join-date {font-size: 14px; text-align: left; line-height: 1.6; color: grey;}

/*패스워드 찾기*/
.login-wrap .form-wrap {margin-top: -20px;}
.login_wrap .input_box {margin-bottom: 30px;}
.input_box .input {height: 46px; width: 100%; border-bottom: 1px solid #ddd; margin-top: 13px; align-content: center;}
.login_btns {display: flex; justify-content: space-between; width: 100%;}
.login_btns button:first-child {margin-left: 0;}
.login_btns button {height: 55px; flex: 1 1; font-size: 14px; margin-left: 10px;}
.btn_bk_display {flex-grow: 0; background-color: #b3b3b3;}
.btn_bk, .btn_bk_display {color: #fff; display: block;}
/*
회원 가입
*/
.form-signup__box span {color: #c53030; font-size: 11px; font-weight: padding-left: 5px;}
.form-signup .form-signup__wrap, .form-change-pw .form-signup__wrap {margin-top: 30px; display: flex; flex-direction: column; gap: 40px;}
.form-signup__box .form-signup__check {margin: 16px 0 0; display: flex; justify-content: space-between; align-items: center; line-height: normal;}
.form-signup__box .form-signup__check li.form_off {color: #bbb; background: url(/_web/_images/ico_checked_off.png) no-repeat 0 50%; background-size: 18px 14px;}
.form-signup__box .form-signup__check li {color: #bbb; font-size: 14px; font-weight: 500; padding-left: 22px; background: url(/_web/_images/ico_checked_off.png) no-repeat 0 50%; transition: color .3s ease-in-out, background .3s ease-in-out;}
.form-signup__box .form-signup__check li.form_on {color: #09f; background: url(/_web/_images/ico_checked_on.png) no-repeat 0 50%; background-size: 18px 14px;}
.form-signup__box .form-signup__date-group { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }
.form-signup__box .form-signup__select { padding:12px 16px; font-size:15px; color:#333; border:1px solid #e6e6e6; border-radius:4px; outline:none; cursor:pointer; appearance:none; background:#fff url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center; padding-right:40px; transition:border-color 0.2s ease; }
.form-signup__box .form-signup__select:focus { border-color:var(--color-gray-900); }
.form-signup__box .form-signup__gender-group { display:flex;  justify-content: space-between; gap: 10px; margin-top:16px; }
.form-signup__box .form-signup__gender-btn { padding:14px 50px; font-size:15px; font-weight:500; color:#666; background:#fff; border:1px solid #e6e6e6; border-radius:4px; cursor:pointer; transition:all 0.2s ease; width: 50%}
.form-signup__box .form-signup_gender-btn:hover { border-color:#999; }
.form-signup__box .form-signup__gender-btn--active { background:#2d2d2d; color:#fff; border-color:#2d2d2d; }

/**
프로모션
 */
.promotion {padding: 0px 32px;}
.promotion__header {margin: 36px auto 28px;}
.promotion__header-event {margin: 58px auto 38px;}
.promotion__title {font-size: 28px; font-weight: 500; color: #101010;}
.promotion__grid {display: grid; grid-template-columns: repeat(3, minmax(328px, 510px)); gap: 32px;}
.promotion-card {position: relative; display: flex; flex-direction: column; border-radius: 8px; background: #ffffff; overflow: hidden; border: 1px solid #e6e6e6; transition: transform 0.2s ease, box-shadow 0.2s ease;}
.promotion-card:hover,
.promotion-card:focus-within {transform: translateY(-6px); box-shadow: 0 24px 48px rgba(16, 21, 30, 0.16);}
.promotion-card__media {margin: 0; aspect-ratio: 3 / 2; overflow: hidden;}
.promotion-card__media img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; border-radius: 12px 0 0;}
.promotion-card:hover .promotion-card__media img,
.promotion-card:focus-within .promotion-card__media img {transform: scale(1.04);}
.promotion-card__body {display: flex; flex-direction: column; padding: 28px 28px 24px; gap: 18px;}
.promotion-card__title {margin: 0; font-size: 20px; font-weight: 700; color: #121212; line-height: 1.5;}
.promotion-card__description {margin: 0; font-size: 15px; line-height: 1.7; color: #5a5f66;}
.promotion-card__meta {display: flex; flex-direction: column; gap: 8px; margin-top: auto;}
.promotion-card__link {font-size: 14px; font-weight: 600; color: #0199f8; text-decoration: none;}
.promotion-card__link:hover,
.promotion-card__link:focus {text-decoration: underline;}
.promotion-card__date {font-size: 13px; color: #8a8f98;}
.promotion-card__cta {position: absolute; right: 20px; bottom: 20px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 9999px; border: 1px solid rgba(16, 21, 30, 0.16); background: #ffffff; color: #0f1520; font-size: 18px; cursor: pointer; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;}
.promotion-card__cta img {display: block; max-width: 100%; width: initial; height: initial; background: none; opacity: 1; border: 0px; margin: 0px; padding: 0px;}
.promotion-card__cta:hover,
.promotion-card__cta:focus {background: #f2f2f2;}
.promotion-share {padding: 50px 0 100px; width: 100%; margin: 0 auto; display: flex; justify-content: center;}
.promotion-share__btn {display: flex;width: 260px;height: 44px; line-height:50px; justify-content: center;align-items: center;gap: 10px;flex-shrink: 0; border: 1px solid var(--grayscale-black, #000); cursor: pointer;}
.featured-line {width: 100%;height: 1px;background-color: #aaa;margin: 40px auto 0;max-width: 1024px;}

/*landing 페이지*/


.tab-bar {display: flex; gap: 12px; padding: 6px; background: var(--surface); border-radius: 999px; width: fit-content; box-shadow: 0 18px 36px rgba(17, 19, 26, 0.08); margin-bottom: 32px;}
.tab-bar button {border: none; background: transparent; padding: 10px 22px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--muted); cursor: pointer; transition: all 0.2s ease;}
.tab-bar button.is-active {background: var(--accent); color: var(--surface);}
.hero {position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: 20px; padding-top: 20px;}
.hero-swiper {position: relative; width: 100%; padding: 48px 0 120px; overflow: visible; margin: 0 auto;}
.hero-swiper .swiper-wrapper {align-items: stretch;}
.hero-swiper .swiper-slide {width: clamp(320px, 80vw, 960px); display: flex; transition: transform 0.55s ease, opacity 0.55s ease; transform: scale(0.9); opacity: 0.45;}
.hero-swiper .swiper-slide-active {transform: scale(1); opacity: 1;}
.hero-swiper .swiper-slide-prev,
.hero-swiper .swiper-slide-next {opacity: 0.85;}
.hero-card {position: relative; flex: 1 1 100%; min-height: 500px; height: 500px; border-radius: 15px; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #ffffff; isolation: isolate;}
.hero-card::after {content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 12, 20, 0.12) 0%, rgba(10, 12, 20, 0.58) 65%, rgba(10, 12, 20, 0.82) 100%); z-index: 0;}
.hero-card__media {position: absolute; inset: 0;}
.hero-card__media img {width: 100%; height: 100%; object-fit: cover;}
.hero-card__content {position: relative; z-index: 1; max-width: 720px; text-align: center;}
.hero-card__title {margin: 0 0 18px; font-size: 48px; line-height: 1.2; font-weight: 700;}
.hero-card__description {margin: 0; font-size: 20px; line-height: 1.7; color: rgba(255, 255, 255, 1);}
.hero-progress {bottom: 36px; display: inline-flex; align-items: center; gap: 16px; padding: 8px 16px; border-radius: 999px; background: rgba(0, 0, 0, 0.7); z-index: 999; width: fit-content;}
.hero-progress__ratio {font-size: 14px; font-weight: 600; color: #ffffff; letter-spacing: 0.12em;}
.hero-progress__btn {width: 32px; height: 32px; border-radius: 50%; border: none; background: transparent; color: #ffffff; font-size: 18px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: transform 0.2s ease, color 0.2s ease;}

/* Index page hero styles */
.page-index .hero {margin-top: -76px; padding-top: 0;}
.page-index .hero-swiper {max-width: 1800px;}
.page-index .hero-swiper .swiper-slide {width: 100%; max-width: 1800px; transform: none; opacity: 1;}
.page-index .hero-swiper .swiper-slide-active {transform: none; opacity: 1;}
.page-index .hero-swiper .swiper-slide-prev, .page-index .hero-swiper .swiper-slide-next {opacity: 1;}
.page-index .hero-card {min-height: 560px; height: 560px; border-radius: 0; align-items: flex-start; justify-content: flex-start;}
.page-index .hero-card::after {background: linear-gradient(180deg, rgba(10, 12, 20, 0) 0%, rgba(10, 12, 20, 0.3) 50%, rgba(10, 12, 20, 0.7) 100%);}
.page-index .hero-card__content {max-width: 1280px; width: 100%; margin: 0 auto; text-align: left; padding: 200px 0 0 0;}
.page-index .hero-progress {position: absolute; bottom: 60px; left: max(0px, calc((100% - 1280px) / 2)); width: fit-content;}
.section {margin-bottom: 0px;}
.section-heading {display: flex; align-items: flex-end; gap: 18px; justify-content: space-between; margin-bottom: 24px; flex-wrap: wrap;}
.section-heading h2 {font-size: clamp(20px, 3vw, 28px); font-weight: 700;}
.section-heading p {color: var(--muted); font-size: 14px; max-width: 420px;}
.section-heading .more-link {font-size: 14px; font-weight: 600; color: var(--primary); display: inline-flex; align-items: center; gap: 6px;}


.carousel {position: relative;}
.stay-spotlight__header {display: flex; flex-direction: column; gap: 10px; font-size: 1.375rem; max-width: 1280px; margin: 40px auto 0;}
.stay-spotlight__header h2 {word-wrap: break-word; font-size: 1.75rem; line-height: 2.375rem; letter-spacing: -.01em; font-weight: 500; color: var(--color-gray-900); word-break: keep-all}
.stay-spotlight__header p {font-size: 15px; color: var(--muted);}
.stay-spotlight__header_title {display: flex; justify-content: space-between; align-items: center}
.stay-spotlight__header_title img {width: 12px; height: 26px}
.stay-spotlight__filter {
  display: flex;
  width: 260px;
  gap: 10px;
}
.stay-spotlight__filter button {
  background: #fff;
  text-align: center;
  border: 1px solid #4d4d4d;
  border-radius: 15px;
  color: #000;
  font-size: 14px;
  padding: 5px 15px;
}

.stay-spotlight__filter button.on {
  background: #000;
  text-align: center;
  border-radius: 15px;
  color: #fff;
  font-size: 14px;

  padding: 5px 15px;
}


.stay-spotlight--slider {margin-top: 28px;}
.stay-swiper {position: relative; overflow: visible;}
.stay-swiper__viewport {position: relative; max-width: 1280px; width: 100%; margin: 0 auto;}
.stay-swiper__viewport::before {content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; border-radius: 32px; background: var(--surface); z-index: 0;}
.stay-swiper__slider {position: relative; padding: 24px 0 32px; overflow: visible; z-index: 1;}
.stay-swiper__slider .swiper-wrapper {align-items: stretch;}
.stay-swiper__slider .swiper-slide {display: flex; width: 405px;}
.stay-swiper__control {position: absolute; top: calc(24px + 110px); width: 48px; height: 48px; border-radius: 50%; border: none; background: rgba(255, 255, 255, 0.95); box-shadow: 0 12px 30px rgba(15, 23, 42, 0.1); color: var(--primary); font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; transform: translateY(-50%); transition: transform 0.2s ease, box-shadow 0.2s ease; z-index: 2;}
.stay-swiper__control--prev {left: -20px;}
.stay-swiper__control--next {right: -20px;}
.stay-swiper__control::after {font-size: 24px; line-height: 1; display: block;}
.stay-swiper__control--prev::after {content: url('/_web/_images/stay-prev.svg');}
.stay-swiper__control--next::after {content: url('/_web/_images/stay-next.svg');}
.stay-swiper__control.swiper-btn-disabled {display: none;}
.stay-swiper__control.swiper-btn-lock {display: none;}
.stay-swiper__control:hover:not(.swiper-btn-disabled) {transform: translateY(calc(-50% - 2px));}
.stay-card {width: 100%; background: var(--surface); display: flex; flex-direction: column; overflow: hidden;}
.stay-card.border-line {border:  1px solid #e6e6e6; border-radius: 12px 12px 0 0;}
.stay-card__media {position: relative; aspect-ratio: 403 / 260; overflow: hidden;}
.stay-card__media img {width: 100%; height: 100%; object-fit: cover; display: block;}
.stay-card__media .bookmark-media__img {border-radius: 12px 12px 0 0; width: 100%; height: 100%; object-fit: cover; display: block;}
.stay-card__wrapper {position: absolute; display: flex; gap: 4px; top: 14px; left: 18px;}
.stay-card__label, .stay-card__badge {padding: 6px 8px; border-radius: 5px; font-size: 12px; font-weight: 400; background: rgba(26, 26, 26, .6); color: #fff; text-transform: uppercase; letter-spacing: 0.04em; }
.stay-card__badge--discount {background: #476eff; border-radius: 5px;}
.stay-card__bookmark {position: absolute; top: 4px; right: 8px; width: 36px; height: 36px; border-radius: 50%; border: none; color: var(--primary); font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center;}
.stay-card__bookmark > img {width: 22px; height: 22px}
.stay-card__content {padding: 14px 0px 10px; display: flex; flex-direction: column; gap: 4px; position: relative}
.stay-card__content h3 {font-size: 20px; font-weight: 700; color: var(--text);}
.stay-card__content.bookmark-content  {padding: 20px 16px}
.stay-card__meta {margin-top:14px; font-size: 14px; color: #41454a;}
.stay-card__pricing {display: flex; align-items: baseline; gap: 6px; margin-top: 8px; margin-bottom: 2px; cursor: pointer;}
.stay-card__member {color: #1765e9; font-weight: 600; font-size: 16px;}
.stay-card__price {font-weight: 500; font-size: 16px; color: var(--text);}
.stay-card__share-btn { position:absolute; top:20px; right:10px; background:transparent; border:none; padding:0; cursor:pointer; }
.stay-card__original {margin-top: 5px; font-size: 13px; color: rgba(148, 163, 184, 0.8); text-decoration: line-through;}
.site-footer {margin-top: 96px; background: #f5f5f5; padding: 72px 0 56px; color: #5a6470;}
.site-footer__inner {max-width: 1280px; width: 100%; margin: 0 auto; display: flex; justify-content: space-between; gap: 48px; align-items: flex-start;}
.site-footer__col--info {flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px;}
.site-footer__support {font-weight: 400; color: #595959;}
.site-footer__center-info {display: flex; gap: 15px; align-items: center;}
.site-footer__contact-links {display: flex; flex-wrap: wrap; gap: 8px;}
.site-footer__contact-links a {display: inline-flex; align-items: center; justify-content: center; padding: 4px 8px; border-radius: 4px; border: 1px solid #d1d5db; font-size: .75rem; font-weight: 400; color: #595959; transition: transform 0.2s ease, box-shadow 0.2s ease;}
.site-footer__contact-links a:hover {transform: translateY(-1px); box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08);}
.site-footer__nav {display: flex; flex-wrap: wrap; align-items: center; gap: 0; list-style: none; margin-top: 36px; padding: 0;}
.site-footer__nav button {border: 0; background: transparent; cursor: pointer; outline: none; font-weight: 400; font-size: 12px; color: #767676;}
.site-footer__legal {display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.6; color: #6b7280;}

.site-footer__copyright {margin-top: 4px; color: #4b5563;}
.site-footer__col--brand {flex: 0 0 180px; display: flex; flex-direction: column; gap: 36px; align-items: flex-end; text-align: right;}
.site-footer__wordmark {font-size: 28px; line-height: 1.1; font-weight: 700; color: var(--logo-color); text-transform: uppercase;}
.site-footer__wordmark-subTitle { color: #4A90E2}

/*
회원가입
 */
._login_login_wrap__KwTAT ._login_signup__HFBWB {margin-top: 30px; display: flex; flex-direction: column; gap: 40px;}
.form-box .form-box__input-wrap {position: relative;}
._form_desc__U5MJ2.form-box__btn--disabled {opacity: 0; height: 0;}
.form-box ._form_checked__iQ55B {margin: 16px 0 0; display: flex; justify-content: space-between; align-items: center; line-height: normal;}
.pw-deactivate {vertical-align: middle; border: 0; object-fit: contain;}
.form-box ._form_checked__iQ55B li.form-box__btn--disabled {color: #bbb; background: url(/_web/_images/ico_checked_off.png) no-repeat 0 50%; background-size: 18px 14px;}
.form-box ._form_checked__iQ55B li {color: #bbb; font-size: 14px; font-weight: 500; padding-left: 22px; background: url(/_web/_images/ico_checked_off.png) no-repeat 0 50%; transition: color .3s ease-in-out, background .3s ease-in-out;}
.form-login__join-btn button, .form-login__changepw-btn button {height: 52px; flex: 1 1; font-size: 14px;}
._form_btn_bk__KIavV {margin: 0 auto; text-align: center; background: #333; border: 1px solid #333; color: #fff; display: block;}


.card-row {display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px;}
.card {background: var(--surface); border-radius: var(--radius-lg); box-shadow: 0 16px 40px rgba(15, 23, 42, 0.07); display: flex; flex-direction: column; overflow: hidden; min-height: 100%;}
.card figure {position: relative; aspect-ratio: 4/3; overflow: hidden;}
.card .badge {position: absolute; top: 16px; left: 16px; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; color: #ffffff; background: rgba(0, 0, 0, 0.6);}
.card .flag {position: absolute; bottom: 18px; left: 18px; padding: 6px 10px; border-radius: 999px; font-size: 13px; background: rgba(255, 255, 255, 0.88); color: #111; font-weight: 600;}
.card .bookmark {position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, 0.86); display: grid; place-items: center; font-size: 16px; color: #222;}
.card-body {padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 12px;}
.card-title {font-size: 18px; font-weight: 700;}
.card-meta {color: var(--muted); font-size: 13px;}
.card-price {font-weight: 600; font-size: 16px;}
.card-tags {display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; color: var(--primary); font-weight: 600;}
.carousel-btn {position: absolute; top: 38%; right: -18px; width: 44px; height: 44px; border-radius: 50%; border: none; background: rgba(255, 255, 255, 0.96); box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12); cursor: pointer; display: grid; place-items: center; font-size: 20px;}
.collection-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px;}
.collection-card {background: var(--surface); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; min-height: 100%;}
.collection-card .body {padding: 24px; display: flex; flex-direction: column; gap: 12px;}
.collection-card .body p {color: var(--muted); font-size: 14px;}
.stories {display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px;}
.story-card {background: var(--surface); border-radius: var(--radius-lg); box-shadow: 0 14px 36px rgba(13, 22, 37, 0.08); overflow: hidden; display: flex; flex-direction: column;}
.story-card .body {padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 12px;}
.story-card time {font-size: 12px; color: var(--muted);}
footer {margin-top: 70px; border-top: 1px solid var(--border); padding-top: 32px; display: flex; flex-direction: column; gap: 18px; font-size: 15px; color: var(--muted);}
footer nav {justify-content: flex-start; gap: 16px; font-size: 13px;}

/* 프로모션 상세 */
.promotion-detail {position: relative; margin: 0 auto;}
.promotion-detail__header {max-width: 1800px; display: flex; align-items: center}
.promotion-detail__header-title {display: flex; flex-direction: column; position: absolute; justify-content: center; align-items: center; width: 100%; color:var(--color-white); font-size: 40px; font-weight: 700; gap:10px}
.promotion-detail__header-title .txt {color:var(--color-white); text-align: center; line-height: 1.7; }
.promotion-detail__header-title .date {font-size: 30px}
/*.promotion-detail__header img {height: 814px}*/
.promotion-detail__intro {margin: 30px auto 0 ; text-align: center; max-width: 1024px;}
.promotion-detail__intro-text {color: var(--color-gray-900); line-height: 1.5; font-size: 32px; font-weight: 700;}
.promotion-detail__lead {color: #4d4d4d; line-height: 1.8; margin: 52px auto 0; font-size: 18px; text-align: left; max-width: 680px; font-weight: 400; margin-bottom: 40px}

.promotion-detail__title {color: var(--color-gray-900); line-height: 1.5; font-size: 32px; font-weight: 700;}
.promotion-detail__share {flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(18, 21, 30, 0.14); background: #ffffff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease, box-shadow 0.2s ease;}
.promotion-detail__share:hover,
.promotion-detail__share:focus {background: #f5f7fb; box-shadow: 0 8px 24px rgba(17, 21, 31, 0.12);}
.promotion-detail__primary {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; margin: 220px auto; height: 600px;}
.promotion-detail__primary-media {margin: 0; overflow: hidden; width: 100%; background: red;}
.promotion-detail__primary-media img {display: block; width: 100%; height: 600px; border-radius: 0; object-fit: cover}
.promotion-detail__primary-aside {background: #fafafa; width: 100%; height: 100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-direction: column; flex-direction: column;}
.promotion-detail__info {width: 680px; min-width: 640px;}
.promotion-detail__info > li {font-size: 18px; line-height: 1.5; padding: 28px 0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex;}

.promotion-detail__info-item {display: flex; gap: 16px; align-items: flex-start;}
.promotion-detail__info .dt {font-weight: 700; color: #333; width: 120px; padding-left: 16px;}
.promotion-detail__info-item .dd {color: #4d4d4d; -webkit-box-flex: 1; -webkit-flex: 1; -moz-box-flex: 1; -ms-flex: 1; flex: 1;}
.promotion-detail__info-item.line {border-top: 1px solid #ccc;}
.promotion-detail__primary-cta {display: block; -webkit-align-content: center; -ms-flex-line-pack: center; align-content: center; margin-top: 20px; background: #333; width: 360px; height: 44px; text-align: center; color: #fff; font-size: 14px; letter-spacing: 1.3px;}

.promotion-detail__primary-cta:hover,
.promotion-detail__primary-cta:focus {background: #000000;}
.promotion-detail__stay {max-width: 1024px; padding: 0; margin: 0 auto;}
.promotion-detail__stay-media {position: relative; margin: 0; overflow: hidden;}
.promotion-detail__stay-media img {width: 100%; height: 100%; border-radius: 0; aspect-ratio: 2 / 1; -o-object-fit: cover; object-fit: cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; background-repeat: no-repeat; background-position: 50%;}
.promotion-detail__stay-body {position: relative; padding: 36px 32px; display: flex; flex-direction: column; gap: 24px;}
.promotion-detail__stay-header {display: flex; justify-content: space-between; gap: 24px; align-items: flex-start;}
.promotion-detail__stay-title {margin: 0; font-size: 28px; font-weight: 700; color: #10121a;}
.promotion-detail__stay-meta {margin: 6px 0 0; font-size: 15px; color: #6c717c;}
.promotion-detail__features {margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.7; color: #545a65;  border-left: 1px solid #ccc}
.promotion-detail__stay-link {position: absolute; bottom: 0; right: 0; line-height: 30px; border-bottom: 1px solid #000; font-size: 14px; color: #000; letter-spacing: 1.3px;}
/*.promotion-detail__stay-link:hover,*/
/*.promotion-detail__stay-link:focus {background: #10121a; color: #ffffff;}*/

/* About 페이지 */
.about {padding: 0 40px}
.about-header img {height: 814px}
.about__content {display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 96px; align-items: start; margin-top: 30px}
.about__side {display: flex; flex-direction: column; justify-content: space-between; min-height: 520px;}
.about__side-text {margin: 0; font-size: 22px; line-height: 1.45; color: #333;}
.about__mark {display: grid; grid-template-columns: repeat(2, auto); column-gap: 18px; row-gap: 8px; width: max-content; font-size: 18px; font-weight: 700; color: #1b1f28; letter-spacing: 0.3em;}
.about__body {display: grid; gap: 28px; font-size: 15px; line-height: 1.9; color: #444b55;}
.about__body p {margin: 0;}


/* Room 페이지 스타일 */
.room {padding: 40px 0;}
.room__main {display: grid; grid-template-columns: 1fr 400px; gap: 60px; max-width: 1280px; margin: 0 auto;}
.room__content {display: flex; flex-direction: column; gap: 48px;}
.room__title {font-size: 28px; font-weight: 700; color: #111; margin: 0;}
.room__description {font-size: 15px; line-height: 1.7; color: #666; margin: 12px 0 0;}
.room__section {display: flex; flex-direction: column; gap: 16px; padding-bottom: 32px; border-bottom: 1px solid #e4e7eb;}
.room__section:last-child {border-bottom: none;}
.room__section-title {font-size: 18px; font-weight: 600; color: #111; margin: 0;}
.room__info-list {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px;}
.room__info-list li {font-size: 14px; color: #666; padding-left: 16px; position: relative;}
.room__info-list li::before {content: '•'; position: absolute; left: 0; color: #999;}
.room__amenities-grid {list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px;}
.room__amenities-grid li {font-size: 14px; color: #666; padding-left: 16px; position: relative;}
.room__amenities-grid li::before {content: '•'; position: absolute; left: 0; color: #999;}
/* 다른 객실 카드 */
.room__other-rooms {display: flex; flex-direction: column; gap: 24px;}
.room-card {display: flex; flex-direction: row; border: 1px solid #e4e7eb; border-radius: 8px; overflow: hidden; background: #fff; transition: box-shadow 0.2s ease;}
.room-card:hover {box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);}
.room-card__image {margin: 0; width: 390px; flex-shrink: 0; overflow: hidden;}
.room-card__image img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; border-radius: 0;}
.room-card:hover .room-card__image img {transform: scale(1.05);}
.room-card__info {flex: 1; padding: 32px 40px; display: flex; flex-direction: row; justify-content: space-between; align-items: center;}
.room-card__details {display: flex; flex-direction: column; gap: 8px;}
.room-card__name {font-size: 20px; font-weight: 700; color: #111; margin: 0 0 12px 0;}
.room-card__text {font-size: 14px; color: #666; margin: 0; line-height: 1.6;}
.room-card__booking {display: flex; flex-direction: column; align-items: flex-end; gap: 16px;}
.room-card__price {font-size: 18px; font-weight: 700; color: #111; margin: 0; white-space: nowrap;}
.room-card__price span {font-size: 14px; font-weight: 400; color: #666;}
.room-card__btn {padding: 12px 24px; background: #111; color: #fff; border: none; border-radius: 4px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.2s ease; white-space: nowrap;}
.room-card__btn:hover {background: #000;}
/* 아코디언 */
.room__accordion {display: flex; flex-direction: column;}
.room__accordion-item {border-bottom: 1px solid #e4e7eb;}
.room__accordion-header {padding: 20px 0; font-size: 16px; font-weight: 600; color: #111; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center;}
.room__accordion-header::after {content: '∨'; font-size: 14px; transition: transform 0.3s ease;}
.room__accordion-item[open] .room__accordion-header::after {transform: rotate(180deg);}
.room__accordion-content {padding: 0 0 24px; font-size: 14px; line-height: 1.7; color: #666;}
.room__guide-title {font-size: 16px; font-weight: 600; color: #111; margin: 24px 0 12px;}
.room__guide-title:first-child {margin-top: 0;}
.room__guide-desc {font-size: 14px; color: #666; margin: 0 0 20px;}
.room__guide-list {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px;}
.room__guide-list li {font-size: 14px; color: #666; padding-left: 16px; position: relative; line-height: 1.6;}
.room__guide-list li::before {content: '•'; position: absolute; left: 0; color: #999;}
.room__price-table {width: 100%; border-collapse: collapse; margin: 20px 0; background: #fafafa; border: 1px solid #e4e7eb; border-radius: 8px; overflow: hidden;}
.room__price-table thead {background: #f5f5f5;}
.room__price-table th {padding: 12px 16px; text-align: center; font-size: 14px; font-weight: 600; color: #111; border-bottom: 1px solid #e4e7eb;}
.room__price-table td {padding: 12px 16px; text-align: center; font-size: 14px; color: #666; border-bottom: 1px solid #e4e7eb;}
.room__price-table tbody tr:last-child td {border-bottom: none;}
/* 예약 사이드바 */
.room__sidebar {position: sticky; top: 100px; height: fit-content;}
.room__booking-card {border: 1px solid #e4e7eb; border-radius: 12px; padding: 24px; background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);}
.room__booking-tabs {display: flex; gap: 8px; margin-bottom: 20px;}
.room__booking-tab {flex: 1; padding: 10px; border: 1px solid #e4e7eb; background: #fff; color: #666; font-size: 14px; font-weight: 500; border-radius: 6px; cursor: pointer; transition: all 0.2s ease;}
.room__booking-tab--active {background: #111; color: #fff; border-color: #111;}
.room__booking-price {margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #e4e7eb;}
.room__booking-amount {font-size: 24px; font-weight: 700; color: #111;}
.room__booking-unit {font-size: 14px; color: #666;}
.room__booking-detail {display: flex; justify-content: space-between; font-size: 14px; color: #666; margin-bottom: 12px;}
.room__booking-total {display: flex; justify-content: space-between; font-size: 16px; font-weight: 600; color: #111; padding: 16px 0; border-top: 1px solid #e4e7eb; margin-bottom: 20px;}
.room__booking-btn {width: 100%; padding: 16px; background: #111; color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.2s ease;}
.room__booking-btn:hover {background: #000;}


/*약관 동의*/
.agreement-section {margin-bottom: 20px}
.agreement-item {display: flex; align-items: center; justify-content: space-between; padding: 22px 0;}
.agreement-item:last-of-type {border-bottom: none;}
/*.agreement-all {border-bottom: none; padding-bottom: 0;}*/
.agreement-all {border-bottom: 1px solid #ddd; padding: 28px 0}
.agreement-label {display: flex; align-items: center; gap: 12px; cursor: pointer; flex: 1;}
.agreement-checkbox {appearance: none; width: 22px; height: 22px; border: 2px solid #d0d0d0; border-radius: 4px; cursor: pointer; position: relative; flex-shrink: 0; transition: all 0.2s ease;}
.agreement-checkbox:checked {background-color: #000; border-color: #000;}
.agreement-checkbox:checked::after {content: url('/_web/_images/agreements-check.svg'); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 14px; font-weight: bold;}
.agreement-text {font-size: 15px; color: #333; font-weight: 500;}
.agreement-toggle {background: none; border: none; padding: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #666; transition: transform 0.3s ease;}
.agreement-toggle:hover {color: #000;}
.agreement-toggle.active {transform: rotate(90deg);}
.agreement-content {display: none; background: #f8f8f8; border-radius: 8px; overflow: hidden; line-height: 1.7; }
.agreement-content-inner {padding: 20px; font-size: 14px; line-height: 1.7; color: #555;}
.agreement-content-inner p {margin: 0 0 8px;}
.agreement-content-inner strong {color: #000; font-weight: 600;}
.btn-submit {margin: 0 auto; height: 52px; text-align: center; background: #333;border: 1px solid #333;color: #fff;display: block;width: 100%;}

/*본인 인증확인*/
.auth-check {height: calc(100vh - 60px);}
.auth-wrap {display: flex;flex-direction: column; height: calc(100vh - 60px); align-items: center;justify-content: center;padding: 0 20px 80px;flex-grow: 1;width: 100%;margin: 0 auto;gap: 32px;}
.auth-wrap .auth-titles {display: flex;align-items: center;flex-direction: column;text-align: center;gap: 8px;position: relative;white-space: pre-wrap;}
.auth-titles .txt {word-wrap: break-word;font-size: 1.5rem !important;line-height: 2rem !important;letter-spacing: -.01em !important;font-weight: 600 !important;}
.auth-titles .subTxt {word-wrap: break-word;font-size: 1rem !important;line-height: 1.5rem !important;letter-spacing: 0 !important;font-weight: 400 !important;color: #6b6b6e;}
.auth-container {display: flex;justify-content: center;align-items: center;width: 100%;max-width: 360px;background-color: #fff;}
.auth-container.complete-info {justify-content: space-between; gap: 10px}
.auth-container__btn {word-wrap: break-word;font-size: 1rem !important;line-height: 1.5rem !important;letter-spacing: 0 !important;font-weight: 600 !important;width: 100%;padding: 12px 28px;background-color: var(--color-gray-900);border-radius: 6px;color: #fff;}
.auth-container__confirmation-btn {flex:1; word-wrap: break-word;font-size: 1rem !important;line-height: 1.5rem !important;letter-spacing: 0 !important;font-weight: 600 !important;width: 100%;padding: 12px 28px;background-color: var(--color-gray-900);border-radius: 6px;color: #fff;background-color: #ffffff !important;color: var(--color-gray-900) !important;border: 1px solid #4d4d4d;border-radius: unset;}
.auth-container__btn.auth-container__subscription-btn {flex:1; border-radius: unset}


/* 북마크 페이지 */
.mypage { padding:80px 0 60px; margin: 0 auto; width: 1100px; }
.mypage__container { display:grid; grid-template-columns:200px 1fr; gap:72px; max-width:1100px; margin:0 auto; padding:0 16px; }
.mypage__sidebar { position:sticky; top:100px; height:fit-content; }
.mypage__nav { display:flex; flex-direction:column; gap:8px; }
.mypage__nav-item { display:block; padding:12px 16px; color:#666; font-size:15px; text-decoration:none; border-radius:4px; transition:all .2s ease; }
.mypage__nav-item--active { color:var(--color-gray-900); font-weight:600; }
.mypage__nav-item--active:after {content: "";display: inline-block;width: 5px;height: 5px;background: #000;margin: 0 0 4px 10px;}
.mypage__main { flex:1; }
.mypage__header { margin-bottom:42px; }
.mypage__main-footer { display: flex; gap: 20px; margin: 50px 40px  0;}
.mypage__main-footer .main-footer__btn { flex:1; padding:16px 24px; border:none; font-size:15px; font-weight:600; cursor:pointer; background:var(--color-white); border:1px solid var(--color-gray-300); color:var(--color-gray-700);}
.mypage__title { font-size:28px; font-weight:500; color:var(--color-gray-900); margin-bottom:8px; }
.mypage__count { color:#999; font-weight:400; font-size: 24px}
.mypage__subtitle { font-size:14px; color:#999; }
.bookmark__grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:32px; }
.mypage-card { background:#fff; border-radius:8px; overflow:hidden; border:1px solid #e6e6e6; transition:transform .2s ease, box-shadow .2s ease; }
.mypage-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.1); }
.booking-myinfo {display:flex; flex-direction:column; gap:20px;}
#booking_before {display:flex; flex-direction:column; gap:20px;}
#booking_after {display:flex; flex-direction:column; gap:20px;}
.booking-myinfo__tabs {display:flex; gap:32px; padding-bottom:24px;}
.booking-myinfo__tab {position:relative; font-size:14px; color:#a3a3a3; text-decoration:none; padding-bottom:12px; transition:color .2s ease;}
.booking-myinfo__tab:hover {color:var(--color-gray-900);}
.booking-myinfo__tab--active {color:var(--color-gray-900); font-weight:600;}
.booking-myinfo__tab--active:after {content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--color-gray-900);}
.booking-myinfo__card {display:flex; align-items:center; gap:46px;  border-radius:24px; background:#fff;}
.booking-myinfo__details {flex:1; display:flex; flex-direction:column; gap:0;}
.booking-myinfo__badge {display:inline;  align-self: flex-start; padding:8px 16px; border-radius:4px; background:var(--color-gray-600); color:var(--color-white); font-size:13px; letter-spacing:-0.01em; margin-bottom:20px;}
.booking-myinfo__badge-apply {display:inline;  align-self: flex-start; padding:8px 16px; border-radius:4px; color:var(--color-gray-900); font-size:13px; letter-spacing:-0.01em; margin-bottom:20px; border: 1px solid var(--color-gray-900)}
.booking-myinfo__title {font-size:26px; font-weight:500; color:var(--color-gray-900); margin:0 0 16px;}
.booking-myinfo__period {font-size:18px; color:#4d4d4d; margin-bottom:12px;}
.booking-myinfo__summary {display:flex; flex-direction:column; gap:6px; margin-bottom:36px; font-size:16px; color:#777;}
.booking-myinfo__summary.apply {margin-bottom:6px; font-size:16px;}
.booking-myinfo__summary-item {display:block; font-size: 14px;}
.booking-myinfo__price {padding: 20px 0; font-size: 20px}
.booking-myinfo__cta {display:inline-flex; align-items:center; justify-content:center; padding:14px 36px; border:1px solid var(--color-gray-900); border-radius:10px; color:var(--color-gray-900); font-size:16px; font-weight:500; text-decoration:none; width: 200px }
.booking-myinfo__cta:hover {background:var(--color-gray-900); color:#fff;}
.booking-myinfo__media {flex-shrink:0; width:360px; aspect-ratio:3/2; border-radius:5px; overflow:hidden; box-shadow:0 16px 30px rgba(26,26,26,0.08);}
.booking-myinfo__media img {width:100%; height:100%; object-fit:cover; display:block; opacity: 0.7}
.booking-myinfo__pagination {display:flex; align-items:center; justify-content:center; gap:20px; margin-top:8px;}
.booking-myinfo__page-btn {width:36px; height:36px; border:1px solid #e6e6e6; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease, border-color .2s ease;}
.booking-myinfo__page-btn img {width:16px; height:16px;}
.booking-myinfo__page-btn:hover {background:#f7f7f7; border-color:#d0d0d0;}
.booking-myinfo__page-number {font-size:16px; color:#333; font-weight:600;}
.booking-myinfo__booking--non {display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 50px}
.booking-myinfo__booking--non div {margin-bottom: 20px}
.full-base__btn {lex: 1;padding: 16px 24px;border: none;font-size: 15px;font-weight: 600;cursor: pointer;background: var(--color-gray-900); color: var(--color-white);}

/* Scroll Top 버튼 */
.scroll-top { position:fixed; bottom:calc(env(safe-area-inset-bottom) + 20px); right:30px; width:56px; height:56px; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(20px); transition:all 0.3s ease; z-index:999; }
.scroll-top--visible { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover { background:#f5f5f5; }

/*개인정보취급방침*/
.policy { max-width:800px; margin:0 auto; padding:20px 20px; line-height:1.7; color:#333;}
.policy__meta { margin-bottom:40px; padding-left: 10px; border-left:4px solid #000; }
.policy__date { margin:0 0 8px; font-size:14px; color: #000; }
.policy__desc { margin:0; font-size:14px; color:#383838FF; }
.policy__section { margin-bottom:48px; }
.policy__section-title { margin:0 0 20px; font-size:18px; font-weight:700; color:var(--color-gray-900); }
.policy__list { margin:0; padding-left:20px;  list-style: decimal; }
.policy__list-item { margin-bottom:16px; font-size:15px; color:#383838FF; list-style: decimal;}
.policy__sublist { margin:12px 0 0; padding-left:20px; list-style-type:disc; }
.policy__sublist li { margin-bottom:8px; font-size:14px; color:#555; list-style: disc; }

/* Subscription */
.subscription { max-width:800px; margin:0 auto;}
.subscription__card { background:#fff; border-radius:12px;}
.subscription__content { display:flex; align-items:center; justify-content:space-between; margin-bottom:48px; }
.subscription__info { flex: 1; border: 1px solid #e6e6e6;height: 150px;margin: auto 0;justify-content: center;align-items: center;display: flex;flex-direction: column; padding: 0 10px}
.subscription__plan-name { margin:0 0 12px; font-size:32px; font-weight:700; color:#9b6fc5; line-height:1.2; }
.subscription__plan-desc { margin:0; font-size:16px; color:#999; }
.subscription__price-box { display:flex; align-items:center; gap:24px; padding:24px 32px; background:#9b6fc5; height: 150px; border: 1px solid #e6e6e6;height: 150px; flex:1}
.subscription__price-left { display:flex; flex-direction:column; gap:8px; }
.subscription__price-label { font-size:14px; color:#fff; opacity:0.9; text-align: center}
.subscription__price-original { font-size:28px; font-weight:700; color:#fff; text-decoration:line-through; opacity:0.8; }
.subscription__currency { font-size:18px; font-weight:500; margin-left:4px; text-decoration: none; display: inline-block; }
.subscription__arrow { flex-shrink:0; height: 62px }
.subscription__price-right { display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.subscription__price-period { font-size:14px; color:#fff; opacity:0.9; text-align: center}
.subscription__price-sale { font-size:40px; font-weight:700; color:#fff; }
.subscription__benefits { margin:0 0 48px; padding:0; list-style:none; }
.subscription__benefit-item { margin-bottom:12px; font-size:15px; color:#555; line-height:1.6; }
.subscription__purchase-btn { width:100%; max-width:400px; display:block; margin:0 auto; padding:18px 32px; background:#2d2d2d; color:#fff; font-size:18px; font-weight:600; border:none;  cursor:pointer; transition:background 0.3s ease; }
.subscription__purchase-btn:hover { background:#000; }


/* 고객 센터 */
.help { max-width:800px; width: 760px}
.help-tel { border:1px solid #e6e6e6; padding:10px; background:#f5f5f5; height:80px; display:flex; align-items:center; width:400px; font-size:15px; }
.help-tel strong { margin-right:10px; }
.help-qna { font-size:26px; font-weight:500; color:var(--color-gray-900); margin-top:50px; margin-bottom:24px; }
.help-menu { display:flex; margin:0; padding:0; list-style:none; border:1px solid #e6e6e6; overflow:hidden; }
.help-menu__item { flex:1; padding:12px 24px; text-align:center; font-size:15px; font-weight:500; color:#666; background:#f5f5f5; cursor:pointer; transition:all 0.2s ease; border-right:1px solid #e6e6e6; }
.help-menu__item:last-child { border-right:none; }
.help-menu__item--active { background:#00c73c; color:#fff; }
.help-div { border-top:3px solid #000; margin-top:10px; }
.help-qna__contents { margin-top:32px; position:relative; min-height:500px; }
/*고객 센터 자주 묻는 질문*/
.faq-list { display:flex; flex-direction:column; gap:16px; position:relative; top:0; left:0; width:100%; opacity:1; visibility:visible; transition:opacity 0.3s ease; }
.faq-item { background:#fff; border:1px solid #e6e6e6; overflow:hidden; position:absolute; top:0; left:0; width:100%; opacity:1; visibility:hidden;}
.faq-item.active { opacity:1; visibility:visible; position:relative; }
.faq-item__question { display:flex; align-items:center; gap:16px; padding:20px 24px; cursor:pointer; transition:background 0.2s ease; }
.faq-item__question:hover { background:#f9f9f9; }
.faq-item__icon { flex-shrink:0; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; }
.faq-item__icon--q { background:#1a9cd8; color:#fff; }
.faq-item__icon--a { background:#ff6b35; color:#fff; }
.faq-item__text { flex:1; font-size:16px; font-weight:500; color:#333; }
.faq-item__toggle { flex-shrink:0; width:32px; height:32px; background:transparent; border:none; cursor:pointer; color:#999; transition:transform 0.3s ease; }
.faq-item__toggle svg { display:block; }
.faq-item--open .faq-item__toggle { transform:rotate(90deg); }
.faq-item__answer { display:none; padding: 15px 0px 10px 24px; }
.faq-item--open .faq-item__answer { display:flex; gap:16px; }
.faq-item__answer-text { flex:1; padding: 5px 10px; }
.faq-item__answer-text p { margin:0 0 12px; font-size:15px; line-height:1.7; color:#555; }
.faq-item__answer-text p:last-child { margin-bottom:0; }

/* Gallery */
.gallery { padding:80px 20px; background:#fff; }
.gallery__container { max-width:1300px; margin:0 auto; display:flex; flex-direction:column; gap:80px; }
.gallery__item { display:grid; grid-template-columns:200px 1fr; gap:60px; align-items:start; }
.gallery__info { display:flex; flex-direction:column; gap:8px; }
.gallery__title { margin:0; font-size:28px; font-weight:600; color:var(--color-gray-900); }
.gallery__desc { margin:0; font-size:14px; line-height:1.6; color:#666; }
.gallery__location { margin:0; font-size:13px; color:#999; }
.gallery__images { display:flex; flex-direction:column; gap:12px; }
.gallery__image-single { max-width:848px; overflow:hidden; cursor:pointer; transition:opacity 0.2s ease; }
.gallery__image-single:hover { opacity:0.9; }
.gallery__image-single img { width:100%; height:100%; object-fit:cover; display:block; border-radius:0; }

/* 회원정보 수정 */
.account-edit {max-width: 800px; width: 100%}
.account-edit__form { display:flex; flex-direction:column; gap:32px; width: 650px;}
.account-edit__field { display:flex; flex-direction:column; gap:12px; }
.account-edit__label, .account-edit__subscription .txt { font-size:15px; font-weight:600; color:var(--color-gray-900); }
.account-edit__input { width:100%; padding:12px 16px; font-size:15px; color:#333; border:1px solid #e6e6e6; border-radius:4px; outline:none; transition:border-color 0.2s ease; }
.account-edit__input:focus { border-color:var(--color-gray-900); }
.account-edit__input:read-only { background:#f9f9f9; color:#999; }
.account-edit__input-group { display:flex; gap:12px; align-items:center; }
.account-edit__input-group img { width: 30px; height: 30px; }
.account-edit__input-group .account-edit__input { flex:1; }
.account-edit__btn-change { flex-shrink:0; padding:12px 20px; font-size:14px; font-weight:500; color:var(--color-gray-900); background:#fff; border:1px solid #e6e6e6; border-radius:4px; cursor:pointer; transition:all 0.2s ease; }
.account-edit__btn-change:hover { background:#f5f5f5; }
.account-edit__date-group { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.account-edit__select { padding:12px 16px; font-size:15px; color:#333; border:1px solid #e6e6e6; border-radius:4px; outline:none; cursor:pointer; appearance:none; background:#fff url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center; padding-right:40px; transition:border-color 0.2s ease; }
.account-edit__select:focus { border-color:var(--color-gray-900); }
.account-edit__gender-group { display:flex;  justify-content: space-between; gap: 10px;}
.account-edit__gender-btn { padding:14px 50px; font-size:15px; font-weight:500; color:#666; background:#fff; border:1px solid #e6e6e6; border-radius:4px; cursor:pointer; transition:all 0.2s ease; width: 50%}
.account-edit__gender-btn:hover { border-color:#999; }
.account-edit__gender-btn--active { background:#2d2d2d; color:#fff; border-color:#2d2d2d; }
.account-edit__actions {display: flex; gap: 30px; margin-top:32px; align-items: center }
.account-edit__withdraw { grid-column: 1; font-size:16px; color:#999; text-decoration:underline !important; transition:color 0.2s ease;}
.account-edit__withdraw:hover { color:#666; }
.account-edit__subscription {display: flex; flex-direction: column; gap: 10px; font-size: 18px;}
.account-edit__subscription .txt {grid-column: 1; grid-row: 1 }
.account-edit__subscription .date {font-size: 14px; border: 1px solid var(--color-gray-200); padding: 20px 10px}
.account-edit__btn-submit { flex: 1; padding:16px 48px; font-size:16px; font-weight:600; color:#fff; background:#2d2d2d; border:none; border-radius:4px; cursor:pointer; transition:background 0.2s ease; }
.account-edit__btn-submit:hover { background:var(--color-gray-900);}

/* Booking Pay */
.booking-pay { padding:40px 20px; }
.booking-pay__container { max-width:1280px; margin:0 auto;}
.booking-pay__header { margin-bottom:32px; }
.booking-pay__back { display:inline-flex; align-items:center; gap:8px; font-size:18px; font-weight:600; color:var(--color-gray-900); text-decoration:none; }
.booking-pay__back svg { flex-shrink:0; }
.booking-pay__content { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding-left: 40px; }
.booking-pay__main { display:flex; flex-direction:column; gap:4px; border: 1px solid var(--color-gray-400) }
.booking-pay__sidebar { position:sticky; top:100px; height:fit-content; border: 1px solid var(--color-gray-400); padding: 20px}
.booking-section { background:var(--color-white); padding:24px;  }
.booking-section.single-line { display: flex; justify-content: space-between; align-items: center}
.booking-section__title {font-size:17px; font-weight:700; color:var(--color-gray-900); }
.booking-section__header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.booking-section__change-link { font-size:14px; color:var(--color-gray-600); text-decoration:underline; }
.booking-section__change-link:hover { color:var(--color-gray-900); }
.booking-section__desc { margin:12px 0 16px; font-size:14px; color:var(--color-gray-600); }
.booking-section__link { display:block; padding:4px 0; font-size:15px; color:var(--color-gray-500); border-bottom:2px solid var(--color-gray-200); border-radius:4px; text-decoration:none; transition:border-color 0.2s ease; }
.booking-section__link:hover { border-color:var(--color-gray-500); }
.booking-section__div {width: 100%;height: 1px;background-color: var(--color-gray-100);}

.coupon-input { display:flex; gap:12px; align-items:center; margin-top:16px; }
.coupon-input__field { flex:1; height:48px; border:1px solid var(--color-gray-300); border-radius:8px; padding:0 16px; font-size:15px; color:var(--color-gray-900); outline:none; transition:border-color 0.2s ease; }
.coupon-input__field:focus { border-color:var(--color-gray-900); }
.coupon-input__field::placeholder { color:var(--color-gray-400); }
.coupon-input__btn { flex-shrink:0; height:48px; padding:0 24px; background:var(--color-gray-900); color:#fff; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:background 0.2s ease; }
.coupon-input__btn:hover { background:var(--color-gray-700); }
.coupon-input__btn--unactive { background:var(--color-gray-200); }
.coupon-input__btn--unactive:hover { background:var(--color-gray-200); }

.price-details { margin-top:16px; }
.price-details__section { margin-bottom:16px; }
.price-details__section:last-of-type { margin-bottom:0; }
.price-details__subtitle { font-size:14px; font-weight:600; color:var(--color-gray-900); margin-bottom:8px; }
.price-details__row { display:flex; justify-content:space-between; align-items:flex-start; padding:8px 0; }
.price-details__row--indent { padding-left:16px; }
.price-details__row--total { padding-top:16px; margin-top:16px; }
.price-details__label { font-size:14px; color:var(--color-gray-700); }
.price-details__values { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.price-details__value { font-size:14px; font-weight:500; color:var(--color-gray-900); }
.price-details__value--original { text-decoration:line-through; color:var(--color-gray-400); font-weight:400; }
.price-details__value--discount { color:#e53935; }
.price-details__value--total { font-size:16px; font-weight:700; }
.price-details__divider-dot { height:1px; background-image:repeating-linear-gradient(to right, var(--color-gray-300) 0, var(--color-gray-300) 4px, transparent 4px, transparent 8px); margin:16px 0; }
.price-details__divider { height:1px; background:var(--color-gray-300); margin:16px 0; }
.price-details__notice { font-size:12px; color:var(--color-gray-500); margin-top:12px; line-height:1.5; }

.booking-date-info { display:flex; align-items:center; gap:20px; justify-content: center}
.booking-date-info__item { display:flex; flex-direction:column; gap:8px; }
.booking-date-info__label { font-size:14px; color:var(--color-gray-600); }
.booking-date-info__content { display:flex; align-items:baseline; gap:8px; }
.booking-date-info__date { font-size:16px; font-weight:600; color:var(--color-gray-900); }
.booking-date-info__time { font-size:14px; color:var(--color-gray-600); }
.booking-date-info__nights { display:flex; align-items:center; justify-content:center; padding:0 16px; font-size:14px; font-weight:500; color:var(--color-gray-700); }
.booking-info { max-width:800px; margin:0 auto; }
.booking-info__title { margin:0 0 40px; padding-left:10px; font-size:24px; font-weight:700; color:var(--color-gray-900); border-left:4px solid var(--color-gray-900); }
.booking-info__details { margin-top:60px; }
.booking-info__details-title { margin:0 0 24px; padding-bottom:16px; font-size:18px; font-weight:700; color:var(--color-gray-900); border-bottom:2px solid var(--color-gray-900); }
.booking-info__item { display:grid; grid-template-columns:200px 1fr; gap:24px; font-size: 16px; padding-top:20px; border-bottom:1px solid var(--color-gray-200); margin:0; line-height: 30px; }
.booking-info__item:last-child { border-bottom:none; }
.booking-info__label { font-size:15px; font-weight:500; color:var(--color-gray-700); }
.booking-info__value { font-size:15px; color:var(--color-gray-900); line-height:1.6; }
.booking-info__item--multi .booking-info__value { display:flex; flex-direction:column; gap:16px; }
.booking-info__agreement { padding-bottom:12px; }
.booking-info__agreement:last-child { padding-bottom:0; }
.booking-info__agreement-title { margin:0 0 8px; font-size:15px; font-weight:700; color:var(--color-gray-900); }
.booking-info__agreement-text { margin:0; font-size:14px; color:var(--color-gray-700); line-height:1.7; }
.booking-info__text { margin:0 0 12px; font-size:14px; color:var(--color-gray-700); line-height:1.7; }
.booking-info__text:last-child { margin-bottom:0; }
.booking-info__pay { margin-top:60px; }
.booking-info__pay-title { margin:0 0 24px; padding-bottom:16px; font-size:18px; font-weight:700; color:var(--color-gray-900); border-bottom:2px solid var(--color-gray-900); }
.booking-info__pay-card { border:1px solid var(--color-gray-200); border-radius:8px; background:#fff; padding:40px; display:flex; flex-direction:column; gap:32px; }
.booking-info__pay-section { display:grid; grid-template-columns:200px 1fr; gap:32px; align-items:flex-start; }
.booking-info__pay-step { font-size:16px; font-weight:700; color:var(--color-gray-900); }
.booking-info__pay-items { border-left:1px solid var(--color-gray-200); padding-left:32px; display:flex; flex-direction:column; gap:20px; }
.booking-info__pay-item { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:flex-start; }
.booking-info__pay-desc { display:flex; flex-direction:column; gap:6px; }
.booking-info__pay-label { font-size:15px; font-weight:500; color:var(--color-gray-900); }
.booking-info__pay-meta { font-size:13px; color:var(--color-gray-500); }
.booking-info__pay-meta--refund { position:relative; padding-left:12px; color:var(--color-gray-500); }
.booking-info__pay-meta--refund::before { content:""; position:absolute; left:0; top:8px; width:4px; height:4px; background:#d94c4c; border-radius:50%; }
.booking-info__pay-amounts { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.booking-info__pay-price { font-size:15px; font-weight:600; color:var(--color-gray-900); }
.booking-info__pay-price--muted { color:var(--color-gray-400) !important; text-decoration:line-through; }
.booking-info__pay-price--minus { color:var(--color-gray-900); }
.booking-info__pay-divider { height:1px; background:var(--color-gray-200); }
.booking-info__pay-total { display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:2px solid var(--color-gray-900); }
.booking-info__pay-total-label { font-size:17px; font-weight:700; color:var(--color-gray-900); }
.booking-info__pay-total-amount { font-size:22px; font-weight:700; color:var(--color-gray-900); }
.booking-options { display:flex; flex-direction:column; gap:12px; }
.booking-option { display:flex; align-items:center; gap:16px; padding:16px; border:1px solid var(--color-gray-200); border-radius:8px; cursor:pointer; transition:all 0.2s ease; position:relative; user-select:none; }
.booking-option:hover { border-color:var(--color-gray-500); }
.booking-option__radio { position:absolute; opacity:0; pointer-events:none; }
.booking-option__content { flex:1; }
.booking-option__name { display:block; font-size:15px; font-weight:400; color:var(--color-gray-900); margin-bottom:4px; }
.booking-option__desc { margin:0; font-size:13px; color:var(--color-gray-600); line-height:1.5; }
.booking-option__icon { flex-shrink:0; width:24px; height:24px; display:flex; align-items:center; justify-content:center; }
.booking-option__check { width:48px; height:48px; opacity:0.3; transition:opacity 0.3s ease; }
.booking-option.selected .booking-option__check { opacity:1; }
.payment-methods { display:flex; flex-direction:column; gap:12px; margin-top: 20px}
.payment-method { display:flex; align-items:center; gap:16px; padding:16px; border:1px solid var(--color-gray-200); border-radius:8px; cursor:pointer; transition:all 0.2s ease; position:relative; }
.payment-method img { width: unset; border-radius: 0px; margin-right: 10px; }
.payment-method--checked {border: 1px solid #000;}
.payment-method:hover { border-color:var(--color-gray-500); }
.payment-method__radio { flex-shrink:0; }
.payment-method__content { flex:1; display:flex; gap:4px; }
.payment-method__name { font-size:15px; font-weight:600; color:var(--color-gray-900); margin-right: 10px}
.payment-method__desc { font-size:13px; color:var(--color-gray-600); }
.payment-method__logo { height:20px; }
.payment-method__info { display:flex; flex-direction:column; gap:2px; }
.payment-method__desc-small { font-size:12px; color:var(--color-gray-500); }
.booking-agreements { display:flex; flex-direction:column; gap:6px; }
.booking-agreement { display:flex; align-items:center; gap:12px; padding: 6px 16px 16px; cursor:pointer; transition:background 0.2s ease; position:relative; }
.booking-agreement--all { background:var(--color-gray-50); border-radius:8px; padding: 16px }
.booking-agreement__checkbox { flex-shrink:0; width:20px; height:20px; cursor:pointer; accent-color:var(--color-gray-900); -webkit-appearance:auto; -moz-appearance:auto; appearance:auto; }
.booking-agreement__text { flex:1; font-size:14px; color:var(--color-gray-800); }
.booking-agreement__arrow { flex-shrink:0; color:var(--color-gray-500); padding:8px; }
.booking-agreement__toggle { flex-shrink:0; background:none; border:none; padding:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--color-gray-500); transition:transform 0.3s ease; }
.booking-agreement-wrapper.active .booking-agreement__toggle { transform:rotate(90deg); }
.booking-agreement--expandable { border-radius:8px 8px 0 0; }
.booking-agreement-wrapper.active .booking-agreement--expandable { border-radius:8px 8px 0 0; }
.booking-agreement-wrapper { border-radius:8px; }
.agreement-content { display:none; padding: 10px 20px 20px; background:var(--color-gray-50); border-top:none; border-radius:0 0 0 0; max-height:400px; overflow-y:scroll; scrollbar-width: none line-height: 1.7;}
.booking-agreement-wrapper.active .agreement-content { display:block; }
.agreement-content__section { margin-bottom:20px; }
.agreement-content__section:last-child { margin-bottom:0; }
.agreement-content__title { margin:0 0 8px; font-size:14px; font-weight:600; color:var(--color-gray-900); }
.agreement-content__text { margin:0; font-size:13px; color:var(--color-gray-600); line-height:1.6; }
.agreement-table { width:100%; border-collapse:collapse; text-align: center; margin-top:12px; background:var(--color-white); border: 1px solid var(--color-gray-400)}
.agreement-table td { text-align: center; border: 1px solid var(--color-gray-400)}
.agreement-table th { text-align: center; border: 1px solid var(--color-gray-400)}
.agreement-table__header { padding:12px; text-align:left; font-size:14px; font-weight:600; color:var(--color-gray-900); border-bottom:2px solid var(--color-gray-200); background:var(--color-gray-200); }
.agreement-table__cell { padding:12px; font-size:13px; color:var(--color-gray-900); border-bottom:1px solid var(--color-gray-200); background-color: var(--color-gray-50)}
.booking-notice { margin-top:16px; padding:16px; background:var(--color-gray-50); font-size:12px; color:var(--color-gray-700); line-height:1.6; }
.booking-summary { background:var(--color-white); border-radius:8px; overflow:hidden; }
.booking-summary__title { margin:0; padding:20px 0; font-size:18px; font-weight:700; color:var(--color-gray-900); }
.booking-summary__image {overflow:hidden; height:100px;}
.booking-summary__image img { width:100%; height:100%; object-fit:cover; border-radius: 5px}
.booking-summary__info { display:flex; justify-content:space-between; align-items:center; padding:16px 0; }
.booking-summary__room { margin:0; font-size:16px; font-weight:600; color:var(--color-gray-900); }
.booking-summary__details {     padding: 9px 15px;background-color: var(--color-gray-900);color: var(--color-white);border-radius: 6px;font-size: 15px;line-height: 1.467rem;letter-spacing: .0096em;font-weight: 400; }
.booking-summary__specs { margin:0; padding:0 0px 20px; list-style:none; display:flex; flex-direction:column; gap:4px; }
.booking-summary__specs li { font-size:14px; color:var(--color-gray-600); }
.booking-summary__btn { width:100%; padding:16px; font-size:16px; font-weight:600; color:var(--color-white); background:#000; border-radius: 5px; cursor:pointer; transition:background 0.2s ease; }
.booking-summary__btn:hover { background:var(--color-gray-900); }
.booking-summary__row { display:flex; align-items:flex-start; padding:12px 0; }
.booking-summary__row:last-of-type { border-bottom:none; padding-bottom:20px; }
.booking-summary__label { font-size:16px; font-weight:400; color:var(--color-gray-500); min-width:80px; }
.booking-summary__value { font-size:16px; font-weight:400; color:var(--color-gray-900); text-align:right; }
.booking-summary__link { font-size:16px; font-weight:400; color:var(--color-gray-400); text-decoration:underline; transition:color 0.2s ease; }
.booking-summary__link:hover { color:var(--color-gray-600); }
.booking-summary__date-info { display:flex; flex-direction:column; gap:4px; align-items:flex-end; }
.booking-summary__date-text { font-size:14px; font-weight:400; color:var(--color-gray-900); text-align:right; }
.booking-summary__change-link { font-size:13px; font-weight:400; color:var(--color-gray-500); text-decoration:underline; transition:color 0.2s ease; }
.booking-summary__change-link:hover { color:var(--color-gray-700); }


/* Gallery Lightbox */
.gallery-lightbox { position:fixed; inset:0; display:flex; flex-direction:column; background:var(--color-gray-900); opacity:0; visibility:hidden; pointer-events:none; transition:all 0.3s ease; z-index:9999; }
.gallery-lightbox.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.gallery-lightbox__header { position:absolute; top:20px; left:0; right:0; display:flex; align-items:center; justify-content:center; padding:20px 24px; z-index:10; }
.gallery-lightbox__counter { position:absolute; left:50%; transform:translateX(-50%); font-size:18px; color:#fff; font-weight:500; }
.gallery-lightbox__close { position:absolute; right:24px; background:transparent; border:none; color:#fff; cursor:pointer; transition:opacity 0.2s ease; padding:4px;     display: flex;justify-content: space-between;align-items: center;width: 67px;}
.gallery-lightbox__close:hover { opacity:0.7; }
.gallery-lightbox__swiper { width:100%; height:100%; position:relative; }
.gallery-lightbox__swiper .swiper-wrapper { align-items:center; }
.gallery-lightbox__swiper .swiper-slide { display:flex; align-items:center; justify-content:center; }
.gallery-lightbox__swiper .swiper-slide img { max-width:90%; max-height:85vh; object-fit:contain; display:block; margin:0 auto; -webkit-tap-highlight-color:transparent; user-select:none; }
.gallery-lightbox__nav { position:absolute; top:50%; transform:translateY(-50%); background:transparent; border:none; color:#fff; cursor:pointer; padding:20px; transition:opacity 0.2s ease; z-index:10; display:flex; align-items:center; justify-content:center; }
.gallery-lightbox__nav svg { width:48px; height:48px; }
.gallery-lightbox__nav:hover { opacity:0.7; }
.gallery-lightbox__nav--prev { left:32px; }
.gallery-lightbox__nav--next { right:32px; }
.gallery-lightbox__nav.swiper-button-disabled { opacity:0.3; cursor:not-allowed; }
.gallery-lightbox__caption { position:absolute; bottom:60px; left:0; right:0; text-align:center; font-size:12px; color:#e6e6e6; font-weight:500; z-index:10; padding:0 24px; }
.gallery-lightbox__caption-sub { position:absolute; bottom:30px; left:0; right:0; text-align:center; font-size:16px; color:#fff; font-weight:500; z-index:10; padding:0 24px; }


.account-check {  min-width: 800px}
.account-check__confirmation {width: 600px; border: 1px solid var(--color-gray-200); height: 180px; padding: 30px; }
.account-check__confirmation-pw { border-bottom: 1px solid var(--color-gray-200); padding: 10px 0; margin-bottom: 20px}
.account-check__confirmation-btn {margin: 0 auto; text-align: center; background: var(--color-gray-800); border: 1px solid #333; color: #fff; display: block;  height: 52px; flex: 1 1; font-size: 14px; width: 100%;}

.room-detail__section-swiper { padding:0; }
.room-detail-swiper { position:relative; width:100%; max-width:100%; overflow:hidden; background:var(--color-gray-200); height:600px; margin:0 auto; }
.room-detail-swiper .swiper-wrapper { height:100%; }
.room-detail-swiper .swiper-slide { height:100%; }
.room-detail-swiper__image { width:100%; height:100%; max-height:650px; object-fit:cover; display:block; }
.room-detail-swiper__control { position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border:none; display:flex; align-items:center; justify-content:center; color:var(--color-white); box-shadow:0 16px 32px rgba(15,23,42,0.16); cursor:pointer; transition:transform 0.2s ease, box-shadow 0.2s ease; z-index:10; }
.room-detail-swiper__control--prev { left:5px; }
.room-detail-swiper__control--next { right:5px; }
.room-detail-swiper__fraction { position:absolute; right:16px; bottom:16px; display:flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; background:rgba(26,26,26,.6); color:var(--color-white); font-size:13px; font-weight:500; z-index:10; }
.room-detail-swiper__current { font-weight:600; }


/* 예약 완료 */
.booking-complete { background:var(--color-white); padding:80px 0 120px; }
.booking-complete__container { max-width:800px; margin:0 auto; padding:0 24px; }
.booking-complete__title { margin:0 0 60px; font-size:28px; font-weight:500; letter-spacing:8px; text-align:center; color:var(--color-gray-900); }
.booking-complete__message { margin:0 0 48px; font-size:20px; font-weight:500; text-align:center; color:var(--color-gray-900); line-height:1.6; }
.booking-complete__div { height:4px; background:var(--color-gray-900); margin:60px 0; }
.booking-complete__reservation { display:flex; gap:40px; margin-bottom:48px; }
.booking-complete__reservation-info { flex:1; }
.booking-complete__reservation-title { margin:0 0 12px; font-size:22px; font-weight:500; color:var(--color-gray-900); }
.booking-complete__reservation-date { margin:0 0 8px; font-size:15px; color:var(--color-gray-700); }
.booking-complete__reservation-guests { margin:0 0 32px; font-size:14px; color:var(--color-gray-600); }
.booking-complete__price { margin:0 0 16px; font-size:20px; font-weight:500; color:var(--color-gray-900); }
.booking-complete__timestamp { margin:0 0 4px; font-size:13px; color:var(--color-gray-500); }
.booking-complete__reservation-image { width:360px; flex-shrink:0; overflow:hidden; }
.booking-complete__reservation-image img { width:100%; height:240px; object-fit:cover; display:block; }
.booking-complete__details { display:grid; grid-template-columns:repeat(4, 1fr); gap:32px; margin-bottom:48px; padding:32px 0; border-top:1px solid var(--color-gray-200); border-bottom:1px solid var(--color-gray-200); }
.booking-complete__detail { display:flex; flex-direction:column; gap:8px; }
.booking-complete__detail-label { font-size:12px; color:var(--color-gray-500); font-weight:500; }
.booking-complete__detail-value { font-size:14px; color:var(--color-gray-900); font-weight:500; }
.booking-complete__btn { width:100%; max-width:380px; display:block; margin:0 auto; padding:18px 32px; background:var(--color-gray-900); border:none; font-size:16px; font-weight:600; color:var(--color-white); cursor:pointer; transition:background 0.2s; }
.booking-complete__btn:hover { background:#000; }

/*취소 사유*/
.cancel-reason,
.refundment-policy { max-width:800px; margin:0 auto; }

.refundment-policy__title,
.cancel-reason__title { margin:0 0 32px; font-size:18px; font-weight:500; color:var(--color-gray-900); }
.cancel-reason__title:before, .refundment-policy__title:before, .booking-info__details-title:before, .booking-info__pay-title:before
{content: "";display: inline-block;width: 8px; height: 8px;background: #000;margin: 0 4px 2px 0 }
.cancel-reason__question { margin:0 0 24px; font-size:15px; font-weight:500; color:var(--color-gray-800); }
.cancel-reason__form { display:flex; flex-direction:column; gap:2px; width: 650px }
.cancel-reason__option { display:flex; align-items:center; gap:12px; padding:16px; cursor:pointer; transition:all 0.2s; }
.cancel-reason__radio { width:18px; height:18px; cursor:pointer; accent-color:var(--color-gray-900); appearance: auto; }
.cancel-reason__label { font-size:14px; color:var(--color-gray-700); flex:1; }
.cancel-reason__textarea-wrapper { padding:0 16px; }
.cancel-reason__textarea { width:100%; padding:12px; border:1px solid var(--color-gray-300); border-radius:4px; font-size:14px; color:var(--color-gray-800); resize:vertical; font-family:inherit; }
.cancel-reason__textarea:focus { outline:none; border-color:var(--color-gray-900); }
.cancel-reason__actions { display:flex; gap:12px; margin-top:32px; }
.cancel-reason__btn { flex:1; padding:16px 24px; border:none; font-size:15px; font-weight:600; cursor:pointer; transition:all 0.2s; }
.cancel-reason__btn--back { background:var(--color-white); border:1px solid var(--color-gray-300); color:var(--color-gray-700); }
.cancel-reason__btn--submit { background:var(--color-gray-900); color:var(--color-white); }


/* 환불규정 */
.refundment-policy__section { margin-bottom:32px; }
.refundment-policy__subtitle { margin:0 0 16px; font-size:16px; font-weight:600; color:var(--color-gray-900); }
.refundment-policy__text { margin:0; font-size:14px; color:var(--color-gray-700); line-height:1.7; }
.refundment-policy__table { width:100%; border-collapse:collapse; margin:20px 0; }
.refundment-policy__th { padding:14px 16px; background:var(--color-gray-100); border:1px solid var(--color-gray-200); font-size:14px; font-weight:600; color:var(--color-gray-800); text-align:center; }
.refundment-policy__td { padding:12px 16px; border:1px solid var(--color-gray-200); font-size:13px; color:var(--color-gray-700); text-align:center; }
.refundment-policy__note { margin:16px 0 0; font-size:13px; color:var(--color-gray-500); }
.refundment-policy__notice { padding:34px; margin-bottom:22px; border-top: 1px solid var(--color-gray-200); border-bottom: 1px solid var(--color-gray-200); text-align: center }
.refundment-policy__notice-text { margin:0 0 8px; font-size:14px; font-weight: 600; color:var(--color-gray-700); line-height:1.7; }
.refundment-policy__agreement { text-align: center; margin-top: 15px }
.refundment-policy__agreement input {appearance: auto; color: var(--color-gray-700); accent-color: var(--color-black); width: 20px; height: 20px; margin-right: 10px}
.refundment-policy__notice-text:last-child { margin-bottom:0; }
.refundment-policy__actions { display:flex; gap:12px; }
.refundment-policy__btn { flex:1; padding:16px 24px; border:none; font-size:15px; font-weight:600; cursor:pointer; transition:all 0.2s; }
.refundment-policy__btn--back { background:var(--color-white); border:1px solid var(--color-gray-300); color:var(--color-gray-700); }
.refundment-policy__btn--submit { background:var(--color-gray-900); color:var(--color-white); }



/* 스테이 상세 페이지 */
/*.stay-detail { padding:60px 0 80px; }*/
.stay-detail__hero { width:100%; max-width: 1800px; box-sizing:border-box; margin: 0 auto; }
.stay-detail-hero { position:relative;  overflow:hidden; background:#000; }
.stay-detail-hero__slider { width:100%; height:clamp(320px, 58vw, 640px); }
.stay-detail-hero__slider .swiper-wrapper { height:100%; }
.stay-detail-hero__slider .swiper-slide { height:100%; }
.stay-detail-hero__slide { height:100%; }
.stay-detail-hero__media { width:100%; height:100%; }
.stay-detail-hero__media img { width:100%; height:100%; object-fit:cover; display:block; }
.stay-detail-hero__back { position:absolute; top:28px; left:32px; display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:rgba(0,0,0,.45); color:#fff; text-decoration:none; font-size:18px; z-index:3; transition:background .2s ease; }
.stay-detail-hero__back:hover { background:rgba(0,0,0,.6); }
.stay-detail-hero__nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; border:none; cursor:pointer; opacity:0; pointer-events:none; transition:opacity .3s ease, background .2s ease; z-index:3; }
.stay-detail-hero:hover .stay-detail-hero__nav { opacity:1; pointer-events:auto; }
.stay-detail-hero__nav--prev { left:32px; }
.stay-detail-hero__nav--next { right:32px; }
.stay-detail-hero__footer { position:absolute; right:32px; bottom:12px; display:flex; align-items:center; gap:14px; padding:10px 16px; border-radius:999px; background:rgba(0,0,0,.45); color:#fff; font-size:14px; backdrop-filter:blur(8px); z-index:3; }
.stay-detail-hero__pagination { display:flex; align-items:center; gap:4px; font-weight:600; }
.stay-detail-hero__more { color:#fff; border:none; border-radius:999px; font-size:13px; font-weight:600; cursor:pointer; transition:background .2s ease, color .2s ease; }
.stay-detail-hero__more:hover { background:#111; color:#fff; }

.stay-detail__container { max-width:1280px; margin:0 auto; padding: 30px 0 0 20px; display:grid; grid-template-columns:1fr 380px; gap:60px; }
.stay-detail__main { min-width:0; }
.stay-detail__sidebar { position:relative; }
.stay-detail__header { margin-bottom:32px; }
.stay-detail__header-top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:12px; }
.stay-detail__title { margin:0; font-size:32px; font-weight:700; line-height:1.3; color:var(--color-gray-900); }
.stay-detail__actions { display:flex; gap:0 }
.stay-detail__action-btn { position: static !important; background:none; border:none; padding:8px; cursor:pointer; color:var(--color-gray-600); transition:color 0.2s; display:flex; align-items:center; justify-content:center; }
.stay-detail__action-btn > img { height: 20px; width: 20px; object-fit: unset }
.stay-detail__action-btn:hover { color:var(--color-gray-900); }
.stay-detail__subtitle { margin:0 0 16px; font-size:16px; color:var(--color-gray-600); line-height:1.5; }
.stay-detail__meta { display:flex; align-items:center; gap:16px; border-bottom: 1px solid var(--color-gray-200); padding-bottom: 20px }
.stay-detail__rating { display:flex; align-items:center; gap:4px; }
.stay-detail__rating > img { padding-top: 1px; width: 12px;}
.stay-detail__rating-score { font-size:16px; font-weight:600; color:var(--color-gray-900); }
.stay-detail__rating-count { font-size:14px; color:var(--color-gray-600); }
.stay-detail__tag-title {padding: 0 0 20px 0;  font-size: 14px; font-weight: 600 }
.stay-detail__tags { display:grid; grid-template-columns: repeat(14, auto); gap:8px; margin-bottom:8px; font-size: 14px; font-weight: 600; align-items: center }
.stay-detail__tags span { margin-left: -30px }
.stay-detail__tags img { width: 18px; object-fit: unset; }
.stay-detail__tabs { display:flex; gap:24px; border-bottom:1px solid var(--color-gray-200); border-top:1px solid var(--color-gray-200); margin-bottom:40px; position: sticky; top: 76px; background-color: var(--color-white) }
.stay-detail__tab { background:none; border:none; padding:12px 4px; font-size:16px; color:var(--color-gray-600); cursor:pointer; position:relative; transition:color 0.2s; }
.stay-detail__tab--active { color:var(--color-gray-900); font-weight:600; }
.stay-detail__tab--active::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--color-gray-900); }
.stay-detail__tab:hover { color:var(--color-gray-900); }
.stay-detail__section { margin-bottom:60px; }
.stay-detail__section-title { margin:0 0 24px; font-size:20px; font-weight:500; color:var(--color-gray-900); }

.stay-detail__section-desc { margin:0 0 5px; font-size:15px; color:var(--color-gray-600); line-height:1.6; }
.stay-detail__main-image { margin-bottom:20px; border-radius:4px; overflow:hidden; }
.stay-detail__main-image img { width:100%; height:auto; display:block; aspect-ratio: 3 / 2;}
.stay-detail__description { margin:0; font-size:15px; color:var(--color-gray-700); line-height:1.8; }
.stay-detail__grid-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.stay-detail__grid-2 { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
.stay-detail__grid-item { border-radius:4px; overflow:hidden; aspect-ratio: 1/1 }
.stay-detail__grid-item img { width:100%; height:100%; object-fit:cover; display:block;  }
.stay-detail__room-card { display:flex; gap:0; border:1px solid var(--color-gray-200); border-radius:4px; overflow:hidden; margin-bottom:40px;}
.stay-detail__room-image { flex-shrink:0; flex-shrink: 0;width: 413px;aspect-ratio: 16 / 9; }
.stay-detail__room-image img { width:100%; height:100%; object-fit:cover; display:block; }
.stay-detail__room-info { flex:1; display:flex; flex-direction:column; padding:22px; background:var(--color-white); }
.stay-detail__room-header { flex:1; }
.stay-detail__room-details { margin-bottom:24px; }
.stay-detail__room-name { margin:0 0 12px; font-size:24px; font-weight:700; color:var(--color-gray-900); line-height:1.3; }
.stay-detail__room-type { margin:0 0 8px; font-size:14px; color:var(--color-gray-600); line-height:1.5; }
.stay-detail__room-specs { margin:0; font-size:14px; color:var(--color-gray-600); line-height:1.5; }
.stay-detail__room-footer { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.stay-detail__room-pricing { display:flex; flex-direction:column; gap:8px; }
.stay-detail__room-price-row { display:flex; align-items:baseline; gap:8px; }
.stay-detail__room-price-label { font-size:16px; font-weight:500; color: #0066ff; }
.stay-detail__room-price-value { font-size:16px; font-weight:500; color: var(--color-gray-900) }
.stay-detail__room-select { display: flex; justify-content: end; }
.stay-detail__room-select-btn { flex-shrink:0; padding:12px 12px; background:var(--color-gray-900); color:var(--color-white); border:none; border-radius:4px; font-size:15px; font-weight:600; cursor:pointer; transition:background 0.2s; }
.stay-detail__room-select-btn:hover { background:#000; }
.stay-detail__booking-card { position:sticky; top:100px; background:var(--color-white); border:1px solid var(--color-gray-200); border-radius:4px; padding:24px;}
.stay-detail__booking-date-container { display:flex; gap:0;  border: 1px solid var(--color-gray-300); border-radius: 4px 4px 0 0; border-bottom: 0; overflow:hidden; }
.stay-detail__booking-date-box { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:16px; background:var(--color-white); border:none; cursor:pointer; transition:background 0.2s; }
.stay-detail__booking-date-box + .stay-detail__booking-date-box { border-left:1px solid var(--color-gray-300); }
.stay-detail__booking-date-box:hover { background:var(--color-gray-50); }
.stay-detail__booking-date-label { font-size:12px; font-weight:600; color:var(--color-gray-900); margin-bottom:8px; }
.stay-detail__booking-date-value { font-size:14px; color:var(--color-gray-600); }
.stay-detail__booking-people-box { width:100%; display:flex; align-items:center; gap:12px; padding:16px; background:var(--color-white); border: 1px solid var(--color-gray-300); border-radius: 0 0 4px 4px; cursor:pointer; margin-bottom:24px; justify-content: end }
.stay-detail__booking-people-box > img { width:20px; height:20px; }
.stay-detail__booking-people-box > span { font-size:14px; color:var(--color-gray-900); }
.stay-detail__booking-people-box > svg { width:20px; height:20px; color:var(--color-gray-600); }
.stay-detail__booking-room { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; cursor:pointer; }
.stay-detail__booking-room-info { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.stay-detail__booking-room-thumb { width:48px; height:48px; object-fit:cover; flex-shrink:0; }
.stay-detail__booking-room-text { flex:1; min-width:0; }
.stay-detail__booking-room-name { margin:0 0 4px; font-size:15px; font-weight:600; color:var(--color-gray-900); line-height:1.3; }
.stay-detail__booking-room-desc { margin:0; font-size:13px; color:var(--color-gray-600); line-height:1.4; }
.stay-detail__booking-room-toggle { flex-shrink:0; background:none; border:none; padding:4px; cursor:pointer; color:var(--color-gray-600); display:flex; align-items:center; justify-content:center; transition:color 0.2s; }
.stay-detail__booking-room-toggle:hover { color:var(--color-gray-900); }
.stay-detail__booking-main-price { margin-bottom:24px; }
.stay-detail__booking-price-amount { font-size:22px; font-weight:700; color:var(--color-gray-900); }
.stay-detail__booking-price-amount--mobile {display: none}
.stay-detail__booking-price-unit { margin-left:4px; font-size:16px; color:var(--color-gray-600); }
.stay-detail__booking-price {margin-bottom: 10px; background: var(--color-gray-50)}
.stay-detail__booking-price-divider {display: none}
.stay-detail__booking-summary { padding: 20px 0; margin: 0 20px;}
.stay-detail__booking-summary-row { display:flex; justify-content:space-between; align-items:center; background: var(--color-gray-50);}
.stay-detail__booking-summary-label, .stay-detail__booking-summary-value { font-size:14px; color:var(--color-gray-600); }
.stay-detail__booking-total { display:flex; justify-content:space-between; align-items:center; background: var(--color-gray-50); padding: 20px 0;margin: 0 20px;border-top: 1px solid var(--color-gray-300);}
.stay-detail__booking-total-label { font-size:16px; font-weight:600; color:var(--color-gray-900); }
.stay-detail__booking-total-value { font-size:16px; font-weight:700; color:var(--color-gray-900); }
.stay-detail__booking-btn { width:100%; padding:16px; background:var(--color-gray-900); color:var(--color-white); border:none; border-radius:4px; font-size:16px; font-weight:600; cursor:pointer; transition:background 0.2s; }
.stay-detail__booking-btn:hover { background:#000; }
.stay-detail__booking-btn--unactive { background:var(--color-gray-200); }
.stay-detail__booking-btn--unactive:hover { background:var(--color-gray-200); }

.stay-detail__map-image { margin-top:24px; border-radius:8px; overflow:hidden; border:1px solid var(--color-gray-200); margin-bottom: 40px; width:100%; height:auto;}
.stay-detail__map-image img { display:block; width:100%; height:auto; }
.stay-detail__section-guide { margin-bottom:60px; }
.stay-detail__guide-list { border-top:1px solid var(--color-gray-200); }
.stay-detail__guide-item { border-bottom:1px solid var(--color-gray-200); }
.stay-detail__guide-item:last-child { border-bottom:none; }
.stay-detail__guide-toggle { width:100%; padding:18px 0; background:none; border:none; display:flex; align-items:center; justify-content:space-between; font-size:16px; font-weight:600; color:var(--color-gray-900); cursor:pointer; text-align:left; }
.stay-detail__guide-title { flex:1; }
.stay-detail__guide-icon { display:flex; align-items:center; justify-content:center; transition:transform 0.2s ease; color:var(--color-gray-500); }
.stay-detail__guide-item.is-open .stay-detail__guide-icon { transform:rotate(180deg); color:var(--color-gray-900); }
.stay-detail__guide-panel { display:none; margin:0 0 32px; padding:24px; background:var(--color-gray-50); border-radius:8px; line-height:1.7; }
.stay-detail__guide-item.is-open .stay-detail__guide-panel { display:block; }
.stay-detail__guide-subtitle { margin:0 0 12px; font-size:16px; font-weight:500; color:var(--color-gray-900); }
.stay-detail__guide-subtitle.small-txt {font-size:14px; }
.stay-detail__guide-list-disc { margin:0 0 16px; padding-left:18px; font-size:14px; color:var(--color-gray-600); line-height:1.7; position: relative }
.stay-detail__guide-list-disc li {position: relative;}
.stay-detail__guide-list-disc li::before {content: '•'; position: absolute; left: -8px; top: -2px; color: #999;}
.stay-detail__guide-list-disc:last-child { margin-bottom:0; }
.stay-detail__guide-list-txt { margin:0 0 16px; font-size:14px; color:var(--color-gray-600); line-height:1.7; position: relative }
.stay-detail__guide-text { margin:0 0 16px; font-size:14px; color:var(--color-gray-600); line-height:1.7; }
.stay-detail__guide-refund { margin:0 0 24px; }
.stay-detail__guide-refund table { width:100%; border-collapse:collapse; font-size:14px; color:var(--color-gray-700); table-layout:fixed; }
.stay-detail__guide-refund thead th { padding:12px 16px; font-weight:600; border:1px solid var(--color-gray-200); background:var(--color-gray-50); text-align:center; }
.stay-detail__guide-refund tbody td { padding:12px 16px; border:1px solid var(--color-gray-200); text-align:center; }
.stay-detail__guide-desc { margin:0 0 16px; font-size:14px; color:var(--color-gray-600); line-height:1.7; }
.stay-detail__guide-table { width:100%; border-collapse:collapse; font-size:14px; color:var(--color-gray-700); margin:0 0 24px; table-layout:fixed; }
.stay-detail__guide-table thead th { padding:12px 16px; font-weight:600; border:1px solid var(--color-gray-200); background:var(--color-gray-50); text-align:center; }
.stay-detail__guide-table tbody th { padding:12px 16px; border:1px solid var(--color-gray-200); text-align:center; width: 35%; }
.stay-detail__guide-table tbody td { padding:12px 16px; border:1px solid var(--color-gray-200); text-align:left; }

.stay-detail__related-title {font-size: 20px; font-weight: 500; margin-bottom: 20px}
.stay-detail__cards {display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px}
.stay-detail__media {border-radius: 10px}
.stay-detail__tags-note {margin: 10px 0}

.room-select-modal {position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 20px;}
.room-select-modal.active {display: flex;}
.room-select-modal__overlay {position: absolute; inset: 0; background: rgba(0,0,0,0.5);}
.room-select-modal__dialog {position: relative; width: 100%; max-width: 600px; max-height: 90vh; background: #fff; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column;}
.room-select-modal__header {padding: 20px 24px; border-bottom: 1px solid var(--color-gray-200); display: flex; align-items: center; justify-content: space-between;}
.room-select-modal__title {margin: 0 auto; font-size: 18px; font-weight: 600; color: var(--color-gray-900);}
.room-select-modal__close {background: none; border: none; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; color: var(--color-gray-700);}
.room-select-modal__close:hover {color: var(--color-gray-900);}
.room-select-modal__body {flex: 1; overflow-y: auto; padding: 24px;}
.room-select-list {display: flex; flex-direction: column; gap: 16px;}
.room-select-item {display: flex; gap: 16px; border-radius: 8px; cursor: pointer; transition: all 0.2s ease;}
.room-select-item.room-sold-out {opacity: 0.5}
.room-select-item:hover {border-color: var(--color-gray-400); box-shadow: 0 2px 8px rgba(0,0,0,0.08);}
.room-select-item__image {flex-shrink: 0; width: 100px; height: 100px; border-radius: 6px; overflow: hidden;}
.room-select-item__image img {width: 100%; height: 100%; object-fit: cover;}
.room-select-item__content {flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 10px;}
.room-select-item__name {margin: 0; font-size: 16px; font-weight: 600; color: var(--color-gray-900);}
.room-select-item__info {margin: 0; font-size: 14px; color: var(--color-gray-600);}
.room-select-item__price {margin: 0; font-size: 16px; font-weight: 600; color: var(--color-gray-900);}
.room-select-item__price > span {color: var(--color-gray-500); font-size: 14px}

/* Promotion Section */
.promotion-section { max-width:744px; margin:30px auto; padding:0 20px; }
.promotion-header { position:relative; margin-bottom:10px; }
.promotion-header__share-wrap {display: flex; justify-content: end}
.promotion-header .share-button { background:transparent; border:none; cursor:pointer; padding:8px; color:#666; transition:color 0.2s; }
.promotion-header .share-button > img { width: 24px }
.promotion-title { font-size:28px; font-weight:700; margin-bottom:16px; color:var(--color-gray-900); }
.promotion-description { font-size:14px; color:var(--color-gray-600); line-height:1.6; margin-bottom:24px; }
.promotion-count { font-size:14px; color:var(--color-gray-400); font-weight:500; margin: 15px 0;}
.promotion-stays { display:grid; gap:40px; }
.promotion-stay-item { background: var(--color-white); overflow:hidden; border-top: 1px solid var(--color-gray-200) }
.promotion-stay-header { display:flex; justify-content:space-between; align-items:flex-start; padding:24px 0 16px; }
.promotion-stay-info { flex:1; }
.promotion-stay-name { font-size:20px; font-weight:600; margin-bottom:8px; color:var(--color-gray-900); }
.promotion-stay-location { font-size:14px; color:var(--color-gray-600); }
.promotion-bookmark-btn { background:transparent; border:none; cursor:pointer; padding:4px; color:#666; transition:color 0.2s; }
.promotion-bookmark-btn > img { width: 22px;}
.promotion-section__stay-swiper { padding:0 24px; margin-bottom:20px; height:196px; }
.promotion-section__stay-swiper .swiper-wrapper { height:100%; }
.promotion-section__stay-swiper .swiper-slide { position:relative; height:196px; overflow:hidden; }
.promotion-section__stay-swiper .swiper-slide:first-child { border-radius: 8px 0 0 8px }
.promotion-section__stay-swiper .swiper-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.promotion-section__stay-swiper .promotion-more-slide { background:#f5f5f5; display:flex; align-items:center; justify-content:center; }
.promotion-more-btn { background:transparent; border:none; cursor:pointer; display:flex; align-items:center; gap:4px; font-size:16px; font-weight:600; color:#333; transition:color 0.2s; }
.promotion-more-btn svg { width:20px; height:20px; }
.promotion-stay-footer { display:flex; justify-content:space-between; align-items:center;}
.promotion-stay-footer:last-child { align-items:end;}
.promotion-stay-price { display:flex; flex-direction:column; gap:4px; }
.promotion-price-original { font-size:14px; color:#999; text-decoration:line-through; }
.promotion-price-current { font-size:20px; font-weight:600; color:var(--color-gray-900) }
.promotion-reserve-btn { background:var(--color-gray-900); color:var(--color-white); border:none; padding:12px 32px; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:background 0.2s; }


.featured_guide.jsx-681c37ae900e1b93 {
  position: relative;
  max-width: 1024px;
  padding: 0;
}
.featured_guide.jsx-681c37ae900e1b93 .guide_box.jsx-681c37ae900e1b93 {
  background: #333;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex
;
  padding: 36px;
}

.featured_guide.jsx-681c37ae900e1b93 .dt.jsx-681c37ae900e1b93 {
  font-size: 18px;
  width: 240px;
}
 .featured_guide.jsx-681c37ae900e1b93 .dd.jsx-681c37ae900e1b93 li.jsx-681c37ae900e1b93 {
   color: #fff;
   font-size: 16px;
   line-height: 1.75;
 }
.featured_guide.jsx-681c37ae900e1b93 .dd.jsx-681c37ae900e1b93 li.jsx-681c37ae900e1b93::before {
  content: "• ";
}
.featured_guide.jsx-681c37ae900e1b93 .dd.jsx-681c37ae900e1b93 li.jsx-681c37ae900e1b93 {
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
}


/* Room 정보 */
.room-info { margin-bottom:48px; }
.room-info.gray-box {background-color: var(--color-gray-50); border-radius: 4px; padding: 10px}
.room-info__title { font-size:18px; font-weight:700; color:#1a1a1a; margin-bottom:16px; line-height:1.4; }
.room-info__rules { display:flex; flex-direction:column; gap:8px; }
.room-info__rules li { font-size:15px; color:#333; line-height:1.6; padding-left:8px; position:relative; }
.room-info__rules li::before { content:'•'; position:absolute; left:0; color:#666; }
.room-info__specs { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px 24px; }
.room-info__specs li { font-size:15px; color:#333; line-height:1.6; padding-left:8px; position:relative; }
.room-info__specs li::before { content:'•'; position:absolute; left:0; color:#666; }
.room-info__amenities { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px 16px; }
.room-info__amenities li { font-size:15px; color:#333; line-height:1.6; padding-left:8px; position:relative; }
.room-info__amenities li::before { content:'•'; position:absolute; left:0; color:#666; }
.room-info__options { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px 24px; }
.room-info__options li { font-size:15px; color:#333; line-height:1.6; padding-left:8px; position:relative; }
.room-info__options li::before { content:'•'; position:absolute; left:0; color:#666; }


/*
---------------------------------------------------------------------------------
미디어 쿼리 반응형
---------------------------------------------------------------------------------
*/

@media (max-width: 1439px) {
  .promotion-wide {margin: unset}
  .promotion-detail__primary { grid-template-columns: 1fr; height: auto}
  .promotion-detail__primary-media { height: 600px }
  .promotion-detail__primary-aside {padding: 44px 44px 60px 44px }
  .promotion-detail { margin: unset }
}

@media (min-width: 1300px) {
  .container:not(.page-index) .hero-swiper {max-width: none; padding: 60px 0 140px;}
  .container:not(.page-index) .hero-swiper .swiper-slide {width: 1280px; transform: scale(0.92);}
  .container:not(.page-index) .hero-swiper .swiper-slide-prev {transform: scale(0.88);}
  .container:not(.page-index) .hero-swiper .swiper-slide-next {transform: scale(0.88);}
  .container:not(.page-index) .hero-swiper .swiper-slide-active {transform: scale(1);}
}

@media (max-width: 1280px) {
  .hero {margin-left:unset; margin-right: unset}
  .page-index .hero-progress {margin-top: 20px; margin-left: 20px}
  .page-index .hero-card__content {padding: 200px 0 0 20px;}
  .mypage {width: unset}
  .site-footer__inner {padding: 0 24px;}

  .stay-spotlight__header {padding: 0 24px;}
  .stay-swiper__viewport {padding: 0 24px;}
  .stay-swiper__viewport::before {left: 24px; right: 24px;}
  .stay-swiper__control--prev {left: 34px;}
  .stay-swiper__control--next {right: 34px;}
  .site-header__container {padding: 0 24px; gap: 24px;}

  .subscription__price-box {gap: 20px; min-width: 390px;}
  .subscription__price-sale {font-size: 36px}

  .stay-detail__hero {margin-left: 0; margin-right: 0; padding: 0}

  .stay-detail__tags {grid-template-columns: repeat(12, auto); }
}

@media (max-width: 1200px) {
  .stay-detail__tags span {margin-left: -10px;}
}

@media (max-width: 1112px) {
  .promotion__grid {grid-template-columns: repeat(2, minmax(328px, 510px)); gap: 28px;}
  .stay-detail__tags span {margin-left: 0px;}
}

@media (max-width: 1080px) {
  .about__content {grid-template-columns: 1fr;}
  .about__side {flex-direction: row; align-items: flex-end; gap: 48px; min-height: auto;}
  .about__mark {align-self: flex-end;}

  .stay-detail__tags span {margin-left: 0px;}

  .site-footer__inner {flex-direction: column; gap: 40px; align-items: stretch;}
  .site-footer__col--brand {align-items: flex-start; text-align: left; flex: none;}
  .site-footer__wordmark-subTitle {}

  .site-header {grid-template-columns: 1fr; justify-items: flex-start;}
  nav {order: 3; flex-wrap: wrap; justify-content: flex-start;}
  .actions {order: 2;}

}

@media (max-width: 1024px) {

  .site-header__logo-stxt {font-size: 11px; font-weight: bold; letter-spacing: 2px;}

  .room__main {grid-template-columns: 1fr; gap: 40px;}
  .room__sidebar {position: static;}
  .room-card {flex-direction: column;}
  .room-card__image {width: 100%; height: 240px;}
  .room-card__info {padding: 24px; flex-direction: column; align-items: flex-start; gap: 20px;}
  .room-card__booking {width: 100%; flex-direction: row; justify-content: space-between; align-items: center;}

  .site-header {background: transparent;}
  .site-header__container {display: none;}
  .site-header__small-container {display: block;}
  .site-main-header__small-container {display: block;}

  .header-menu {position: absolute; right: 20px}
  .contents {margin-top: 60px;}

  .hero {padding-top: 0; margin-top: 0; margin-bottom: 0; width: 100%;}
  .hero-swiper {padding: 0; margin: 0;}
  .hero-swiper .swiper-slide {width: 100vw; transform: none; opacity: 1;}
  .hero-card {border-radius: 0; height: 526px; justify-content: start; padding-left: 20px}
  .hero-card img {border-radius: 0px;}
  .hero-card__content {display: flex;flex-direction: column; text-align: start; justify-content: end; height:100%; width: 100%; padding: 0 20px 70px }
  .hero-card__title {font-size: 26px; font-weight: 500;}
  .hero-card__description {font-size: 16px; font-weight: 500;}
  .hero-progress {bottom: 12px;}

  .page-index .hero-progress {bottom: 10px; height: 30px}

  .site-header__small-container .header-wrap {position: fixed; top: 0; left: 0; height: 60px; width: 100vw; background-color: #fff; z-index: 10;}
  .site-header__small-container .header-wrap .header-inner {position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; height: 100%;}
  .header-prev {position: absolute; top: 50%; left: 0; display: flex; align-items: center; justify-content: center; padding: 0 4px; transform: translateY(-50%);}
  .header-prev button {display: flex;justify-content: center;align-items: center;width: 44px;height: 44px;}
  .header-prev button img {width: 24px;height: 24px;}
  .header-title__txt {margin: 0 auto; color: #000; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-wrap: break-word; font-size: 1.125rem !important; line-height: 1.625rem !important; font-weight: 500 !important;}
  .site-footer {display: none;}
  .site-footer--visible-mobile {display: block !important;}

  .stay-spotlight__header h2 {font-size: 1.35rem; line-height: 2.0rem}

  /*본인 인증확인*/
  .auth-container {position: fixed;bottom: 0;max-width: unset;padding: 12px 20px calc(env(safe-area-inset-bottom) + 20px);}

  /*마이페이지*/
  .mypage__container { grid-template-columns:1fr; gap:32px; padding:0 24px; }
  .mypage__sidebar { display: none }
  .mypage__nav { flex-direction:row; overflow-x:auto; gap:12px; padding-bottom:8px; }
  .mypage__nav-item { white-space:nowrap; padding:10px 16px; }
  .bookmark__grid { gap:20px; }

  .stay-detail__container { grid-template-columns:1fr; gap:40px; }
  .stay-detail__sidebar { position:static; }
  .stay-detail__booking-card { position:static; }
  .stay-detail__tabs {position: sticky; top:60px; left: 0; background: var(--color-white)}
  .stay-detail__room-info { padding:24px; }
  .stay-detail__room-footer { flex-direction:column; align-items:flex-start; gap:20px; }
  .stay-detail__tags {grid-template-columns: repeat(18, auto); }
  .stay-detail__tags span{margin-left: -20px}

  .scroll-top { bottom:24px; right:10px; width:48px; height:48px; }

  .promotion-detail__stay-header {flex-direction: column;}
  .promotion-detail__stay-body {padding: 36px 16px; display: block; }
  .promotion-detail__features {padding-left: 0; border: unset}
  .promotion-detail__stay-link {border: 1px solid var(--border-color-info); color: #000; max-width: 420px; margin: 28px auto 0; position: unset; line-height: 50px; text-align: center; font-size: 16px}

  .promotion-section { width: 100%; padding: 30px 0 0 20px; }

    /*갤러리*/
  .gallery { padding: 70px 16px; }
  .gallery__container { gap:60px; }
  .gallery__item { grid-template-columns:1fr; gap:24px; }
  .gallery__info { gap:6px; }
  .gallery__title { font-size:20px; }
  .gallery__desc { font-size:13px; }
  .gallery__location { font-size:12px; }
  .gallery__images { gap:10px; }
  .gallery__image-grid { gap:10px; }

  .gallery-lightbox__header { padding:32px 20px; }
  .gallery-lightbox__counter { font-size:16px; }
  .gallery-lightbox__close { right:20px; }
  .gallery-lightbox__swiper .swiper-slide img { max-width:100%; max-height:90vh; }
  .gallery-lightbox__caption { bottom:44px; font-size:13px; }
  .gallery-lightbox__caption-sub { bottom:24px; font-size:13px; }
  .gallery-lightbox__nav { display:none; }

  .account-edit { max-width:100%; }
  .account-edit__form { gap:24px;}
  .account-edit__field { gap:8px; }
  .account-edit__label { font-size:14px; }
  .account-edit__input { padding:10px 14px; font-size:14px; }
  .account-edit__btn-change { padding:10px 16px; font-size:13px; }
  .account-edit__select { padding:10px 14px; font-size:14px; }
  .account-edit__gender-btn { font-size:14px; }
  .account-edit__actions { flex-direction:column-reverse; gap:16px; align-items:stretch; margin-top:24px; }
  .account-edit__btn-submit { width:100%; padding:14px 24px; }
  .account-edit__withdraw { text-align:center;}

  /*booking-pay*/
  .booking-pay { padding:20px 16px 100px; }
  .booking-pay__content { grid-template-columns:1fr; gap:24px; padding-left: 0}
  .booking-pay__sidebar { position:static; order:-1; }
  .booking-pay__main { gap:24px; border: 1px solid #ccc}
  .booking-section { padding:20px; }
  .booking-date-info { flex-direction:column; gap:12px; align-items:stretch; }
  .booking-date-info__item { flex-direction:row; justify-content:space-between; align-items:center; }
  .booking-date-info__content { flex-direction:column; align-items:flex-end; gap:4px; }
  .booking-date-info__nights { padding:12px 0; border-top:1px solid var(--color-gray-200); border-bottom:1px solid var(--color-gray-200); justify-content:flex-start; }
  .booking-option { padding:12px; gap:12px; }
  .payment-method { padding:12px; gap:12px; }
  .booking-agreement { padding:12px; }
  .agreement-content { padding:16px;  line-height:1.7; }
  .agreement-table__header, .agreement-table__cell { padding:10px; font-size:13px;}
  .booking-summary__btn { position:fixed; bottom:0; left:0; right:0; width:auto; margin:10px 20px calc(env(safe-area-inset-bottom) + 20px); padding:16px 24px; font-size:18px; z-index:1001; border-radius:5px; }
  .mobile-payment-bar { display:block; position:fixed; bottom:0; left:0; right:0; height:calc(86px + env(safe-area-inset-bottom)); background:var(--color-white); border-top:1px solid var(--color-gray-200); z-index:1000; pointer-events:none; }

  .account-check {min-width: 600px}
  .account-check__confirmation {width: 80% }

  .stay-detail-hero__slider { height:clamp(260px, 70vw, 420px); }
  .stay-detail-hero__back { top:16px; left:16px; }
  .stay-detail-hero__nav--prev { left:16px; }
  .stay-detail-hero__nav--next { right:16px; }
  .stay-detail-hero__footer { right:16px; bottom:16px; padding:8px 14px; gap:10px; }

  /*마이페이지 취소 내역*/
  .booking-myinfo__card {gap:48px;}


  .page-index .hero-card__content { padding: 0 10px 60px 0}

   /*Room 정보*/
  .room-info { margin-bottom:32px; padding:0 20px; }
  .room-info__title { font-size:16px; margin-bottom:12px; }
  .room-info__rules li, .room-info__specs li, .room-info__amenities li, .room-info__options li { font-size:14px; }
  .room-info__specs { grid-template-columns:repeat(2, 1fr); gap:10px 16px; }
  .room-info__amenities { grid-template-columns:repeat(3, 1fr); gap:10px 12px; }
  .room-info__options { grid-template-columns:repeat(2, 1fr); gap:10px 16px; }  
}


@media (max-width: 980px) {
  .stay-swiper__control {display: none;}
  .stay-swiper__slider {padding: 20px 12px 28px;}
  .stay-swiper__slider .swiper-slide {width: min(340px, 82vw);}
}

@media (max-width: 820px) {

  .tab-bar {width: 100%; justify-content: space-between;}
  .hero-slider {border-radius: 24px; height: 420px;}
  .carousel-btn {display: none;}
  .card-row {grid-auto-flow: column; grid-auto-columns: 80%; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory;}
  .card {scroll-snap-align: start;}
}

@media (max-width: 768px) {
  .promotion__grid {grid-template-columns: repeat(1, minmax(328px, 510px)); gap: 16px 28px; max-width: 510px; margin: 0 auto 40px;}
  /*헤더*/
  .site-header__container {grid-template-columns: 1fr; justify-items: center;}
  .site-header__logo {font-size: 18px; color: var(--logo-color)}
  .site-header__search {width: 100%; max-width: 520px;}
  .site-header__nav {flex-wrap: wrap; justify-content: center;}
  .site-header__meta {gap: 12px;}

  /*검색*/
  .hero-slider {height: 360px;}
  .card-row {grid-auto-columns: 85%;}
  .stories {grid-template-columns: 1fr;}
  .collection-grid {grid-template-columns: 1fr;}

  .about {padding-top: 32px;}
  .about__content {margin-top: 0px;gap: 10px;}
  .about__side {flex-direction: column;justify-content: center;align-items: center;text-align: center;}
  .about__side-text {font-size: 16px;}
  .about__body {padding: 16px 0px; font-size: 14px;line-height: 1.8; text-align: center}

  /*로그인*/
  .sub_title {height: 103px; padding-top: 32px;}
  .sub_title .tit {letter-spacing: 12px; font-weight: 500;}
  .sub_title .txt {font-size: 16px;line-height: 14px; margin: 8px 0 0;}
  .login-new .login-new__text a {font-size: 16px; color: #4d4d4d;}
  .login-wrap {width: 100%; padding: 0 20px}
  .login-container {width: 100%}

  /*프로모션*/
  .promotion-detail__header-title {font-size: 22px;}
  .promotion-detail__header-title .txt {color:var(--color-white); text-align: center; line-height: 1.7; }
  .promotion-detail__header-title .date {font-size: 14px}
  .promotion-detail__header img {width: 100%; }/* height: 414px} */
  .promotion-detail__title {font-size: 24px;}
  .promotion-detail__lead {font-size: 16px; padding: 0 20px;}
  .promotion-detail__primary { height: unset; margin-top: 100px  }
  .promotion-detail__primary-media { height: auto }
  .promotion-detail__primary-media img { height: auto }
  .promotion-detail__primary-aside {padding: 28px 24px;}
  .promotion-detail__stay-body {padding: 28px 20px;}
  .promotion-detail__stay-title {font-size: 16px;}
  .promotion-detail__info {width: 100%; min-width: unset}
  .promotion-detail__info > li {font-size: 16px;display: flex; flex-direction: column; padding: 10px 0;}
  .promotion-detail__info-item .dd {padding-left: 16px}
  .promotion-share__btn { line-height: 50px; font-size: 16px; height: unset;margin: 0 20px;width: 100%; flex-shrink:unset}

  .promotion-section__slide-img {width: 294px}
  .promotion-stay-header {padding-right: 10px;}
  .promotion-section__stay-swiper .swiper-slide { width:294px !important; }
  .promotion-stay-footer {padding-right: 10px;}

  .featured-line { margin: 0 20px; width: unset }
  .featured_guide.jsx-681c37ae900e1b93 {
    padding: 0;
  }
  .featured_guide.jsx-681c37ae900e1b93 .guide_box.jsx-681c37ae900e1b93 {
    display: block;
    padding: 32px 20px;
  }
  .featured_guide.jsx-681c37ae900e1b93 .dt.jsx-681c37ae900e1b93 {
    font-size: 16px;
    width: auto;
  }
  /*푸터 영역*/
  .site-footer {padding: 48px 0 40px;}
  .site-footer__inner {padding: 0 20px;}
  .site-footer__contact-links a {text-align: center;}
  .site-footer__nav {gap: 8px;font-size: 14px;}


  /*room*/
  .room {padding: 20px 16px;}
  .room__amenities-grid {grid-template-columns: 1fr;}
  .room-card__info {padding: 20px;}
  .room-card__booking {flex-direction: column; align-items: flex-start; gap: 12px;}
  .room-card__btn {width: 100%;}

  /*agreements*/
  .agreement-content-inner {padding: 16px; font-size: 13px;}

  /*고객 센터*/
  .help { width:100%; }
  .help-tel { width:100%; height:auto; padding:16px; }
  .help-qna { font-size:20px; margin-top:32px; }
  .help-qna__contents { min-height:600px; }
  .help-menu__item { padding:12px 8px; font-size:13px; }
  .faq-item__question { padding:16px; gap:12px; }
  .faq-item__icon { width:28px; height:28px; font-size:14px; }
  .faq-item__text { font-size:14px; }
  .faq-item__toggle { width:28px; height:28px; }
  .faq-item__answer { padding: 15px 0px 10px 16px }
  .faq-item__answer-text p { font-size:13px; }



  /*마이페이지*/
  .mypage { padding: 20px 0 40px; width:100%; margin:0; }
  .mypage__container { padding:0 20px; }
  .mypage__header { margin-bottom:24px; }
  .mypage__title { font-size:20px; font-weight: 700}
  .mypage__title.title-mobile--hidden { display: none}
  .mypage__count { font-size:20px;}
  .bookmark__grid { grid-template-columns:1fr; gap:40px; margin-top: 40px }
  .mypage-card__content { padding:16px; }

  .mypage__main-footer { display: flex; gap: 10px; margin: 50px 0 0;}
  .mypage__main-footer .main-footer__btn { flex:1; padding:8px 5px; border:none; font-size:15px; font-weight:600; cursor:pointer; background:var(--color-white); border:1px solid var(--color-gray-300); color:var(--color-gray-700);}

  .policy { width: 100%; padding:0}

  /*구독*/
  .subscription__content { flex-direction:column; align-items:flex-start; gap:4px; margin-bottom:32px; }
  .subscription__info {width: 100%; border: unset; margin-bottom: 20px}
  .subscription__plan-name { font-size:24px; }
  .subscription__plan-desc { font-size:14px; }
  .subscription__price-box { gap:10px; padding:30px 20px; min-width: 100%; width: 100%; justify-content: space-between; }
  .subscription__price-left, .subscription__price-right { align-items:center; text-align:center; }
  .subscription__price-original { font-size:24px; }
  .subscription__price-sale { font-size:32px; }
  .subscription__benefits { margin-bottom:32px; }
  .subscription__benefit-item { font-size:13px; margin-bottom:10px; }
  .subscription__purchase-btn { font-size:16px; padding:16px 24px; }

  /*객실 상세*/
  .room-detail-modal__dialog { width:100%; max-width:none; height:100%; max-height:100%; border-radius:0; }
  .room-detail-modal__body { padding:24px 20px; gap:24px; }
  .room-detail-modal__footer { padding:0 20px 24px; }
  .room-detail__section--highlight { padding:20px; }
  .room-detail__list--columns { grid-template-columns:repeat(2, minmax(140px, 1fr)); gap:10px 16px; }
  .room-detail-swiper { border-radius:0; aspect-ratio:auto; height:280px; }
  .room-detail-swiper__control { width:36px; height:36px; }
  .room-detail-swiper__fraction { right:12px; bottom:12px; padding:6px 10px; font-size:12px; }

  /* 예약 결제 모바일 */
  .booking-pay__sidebar { padding: 15px;  }
  .booking-section-agreements { padding: 0;  }
  .booking-section-agreements .agreement-content { padding: 10px;  }
  
  /* 예약 완료 모바일 */
  .booking-complete { padding:30px 0 80px; }
  .booking-complete__container { padding:0 20px; }
  .booking-complete__title { font-size:20px; letter-spacing:4px; margin-bottom:40px; }
  .booking-complete__message { font-size:16px; margin-bottom:32px; }
  .booking-complete__div { margin:40px 0; }
  .booking-complete__reservation { flex-direction:column; gap:24px; margin-bottom:32px; }
  .booking-complete__reservation-image { width:100%; order:-1; }
  .booking-complete__reservation-image img { height:200px; }
  .booking-complete__details { grid-template-columns:repeat(2, 1fr); gap:20px; margin-bottom:32px; padding:24px 0; }
  .booking-complete__btn { max-width:100%; padding:16px 24px; font-size:15px; }

  /*취소 사유*/
  .cancel-reason__form {width: 100%}
  .cancel-reason__title, .refundment-policy__title { display: none; }
  .cancel-reason__question { font-size:14px; margin-bottom:20px; }
  .cancel-reason__option { padding:14px; }
  .cancel-reason__label { font-size:13px; }
  .cancel-reason__actions { margin-top:24px; width: 100% }


  /*환불 정책*/
  .refundment-policy__subtitle { font-size:15px; }
  .refundment-policy__th { padding:10px 8px; font-size:13px; }
  .refundment-policy__td { padding:10px 8px; font-size:12px; }
  .refundment-policy__notice { padding:16px; }
  .refundment-policy__notice-text { font-size:13px; }
  .refundment-policy__btn { width:100%; }

  /*스테이 상세 모바일*/
  .stay-detail { padding:0 0 60px; }
  .stay-detail__container { padding:0 16px; }
  .stay-detail__title { font-size:24px; }
  .stay-detail__subtitle { font-size:14px; }
  .stay-detail__meta { flex-direction:column; align-items:flex-start; gap:8px; }
  .reservation-people { gap:6px; }
  .stay-detail__tags {grid-template-columns: repeat(10, auto); }
  .stay-detail__tags span { margin-left: -40px }
  .stay-detail__tab { font-size:14px; white-space:nowrap; }
  .stay-detail__section { margin-bottom:40px; }
  .stay-detail__section-title { font-size:20px; margin-bottom:20px; }
  .stay-detail__section-desc { font-size:14px; }
  .stay-detail__description { font-size:14px; }
  .stay-detail__grid-3 { grid-template-columns:1fr; gap:12px; }
  .stay-detail__grid-2 { grid-template-columns:1fr; gap:12px; }
  .stay-detail__room-card {flex-direction: column}
  .stay-detail__room-image { width:100%; height:200px; }
  .stay-detail__room-info { padding:20px; }
  .stay-detail__room-name { font-size:20px; margin-bottom:10px; }
  .stay-detail__room-type { font-size:13px; margin-bottom:6px; }
  .stay-detail__room-specs { font-size:13px; }
  .stay-detail__room-footer { flex-direction:column; align-items:stretch; gap:20px; }
  .stay-detail__room-pricing { gap:6px; }
  .stay-detail__room-price-row { gap:6px; }
  .stay-detail__room-price-label { font-size:13px; }
  .stay-detail__room-price-value { font-size:14px; }
  .stay-detail__room-select { margin-top: 20px}
  .stay-detail__room-select-btn { width:100%; padding:12px 12px; }
  .stay-detail__booking-card { border: 0; padding: 0 }
  .stay-detail__booking-date-container { margin-bottom:0; }
  .stay-detail__booking-date-box { padding:12px; }
  .stay-detail__booking-date-label { font-size:11px; margin-bottom:6px; }
  .stay-detail__booking-date-value { font-size:13px; }
  .stay-detail__booking-people-box { padding:12px; margin-bottom:20px; }
  .stay-detail__booking-people-box > img { width:18px; height:18px; }
  .stay-detail__booking-people-box > span { font-size:13px; }
  .stay-detail__booking-people-box > svg { width:18px; height:18px; }
/*  .stay-detail__booking-room { display: none }*/
  .stay-detail__booking-room-thumb { width:40px; height:40px; }
  .stay-detail__booking-room-name { font-size:14px; }
  .stay-detail__booking-room-desc { font-size:12px; }
  .stay-detail__booking-main-price { display: none }
  .stay-detail__booking-price-amount { font-size:20px; }
  .stay-detail__booking-price-amount--mobile { color: var(--color-white); margin-right: 14px; display: unset }
  .stay-detail__booking-price-unit { font-size:14px; }
  .stay-detail__booking-price {display: none}
  .stay-detail__booking-price-divider {display: flex; border: 1px solid var(--color-gray-200); margin-bottom: 10px}

  .stay-detail__booking-divider { margin:16px 0; }
  .stay-detail__booking-summary-label, .stay-detail__booking-summary-value { font-size:13px; }
  .stay-detail__booking-total { margin-bottom:20px; }
  .stay-detail__booking-total-label { font-size:14px; }
  .stay-detail__booking-total-value { font-size:18px; }
  .stay-detail__booking-btn { padding:14px; font-size:15px; }
  .stay-detail__cards {grid-template-columns: repeat(1, 1fr); gap: 10px}
  .stay-detail__sidebar{position: fixed;bottom: 0;background: #fff;width: 100%; padding: 10px 10px 20px; left: 0; z-index: 3;}
  .stay-detail__main{margin-bottom: 200px}
  /*공통 모달 모바일 스타일*/
  .modal__dialog { width:90%; max-width:400px; }
  .modal__content { padding:50px 20px 20px; }
  .modal__text { font-size:14px; line-height:1.6; }
  .modal__actions { padding:20px; }
  .modal__btn { padding:12px 36px; font-size:14px; }

  /*약관 미동의 알림 모달*/
  .agreement-alert-modal .modal__dialog { max-width:350px; }

  /*예약 상태*/
  .booking-info__title { font-size:20px; margin-bottom:30px; display:none; }
  .booking-info__details { margin-top:40px; }
  .booking-info__details-title { font-size:16px; margin-bottom:20px; padding-bottom:12px; }
  .booking-info__item { grid-template-columns:1fr; gap:8px; padding:16px 0; }
  .booking-info__label { font-size:14px; font-weight:600; }
  .booking-info__value { font-size:14px; }
  .booking-info__agreement-title { font-size:14px; }
  .booking-info__agreement-text { font-size:13px; }
  .booking-info__text { font-size:13px; }
  .booking-info__pay { margin-top:32px; }
  .booking-info__pay-title { font-size:16px; padding-bottom:12px; margin-bottom:16px; }
  .booking-info__pay-card { padding:24px 20px; gap:24px; }
  .booking-info__pay-section { grid-template-columns:1fr; gap:16px; }
  .booking-info__pay-items { border-left:none; border-top:1px solid var(--color-gray-200); padding-left:0; padding-top:16px; }
  .booking-info__pay-item { grid-template-columns:1fr; gap:8px; }
  .booking-info__pay-amounts { align-items:flex-end; }
  .booking-info__pay-price { font-size:14px; text-align: end; }
  .booking-info__pay-meta { font-size:12px; }
  .booking-info__pay-meta--refund { padding-left:10px; }
  .booking-info__pay-meta--refund::before { top:7px; width:3px; height:3px; }
  .booking-info__pay-total { flex-direction:column; align-items:flex-start; gap:8px; padding-top:12px; }
  .booking-info__pay-total-label { font-size:15px; }
  .booking-info__pay-total-blank { display:none; }
  .booking-info__pay-total-amount { width: 100% ;font-size:18px; text-align: end; }



  .account-check {width: 100%; min-width: 0; margin: 0 auto}
  .account-check__confirmation {width: 100% }

  .account-edit__form { width: 100%}

  .stay-detail__hero {margin-bottom:32px; margin-left:0; margin-right:0; width:100%; }
  .stay-detail-hero__slider { height:clamp(220px, 82vw, 360px);  z-index:0 !important; }
  .stay-detail-hero__footer { flex-direction:column; align-items:flex-end; gap:6px;  z-index:0 !important; }
  .stay-detail-hero__more { width:100%; text-align:center; }
  .stay-detail-hero__back {top: 36px;}
  .stay-detail-hero__nav--prev { display: none}
  .stay-detail-hero__nav--next { display: none}

  /* About */
  .about {padding: 0}
  .about-header img {height: 414px; width: 100%}
  .about__content { margin: 40px 20px 40px}

  /*마이페이지 취소 내역*/
  .booking-myinfo {gap:32px;}
  #booking_before {gap:32px;}
  #booking_after {gap:32px;}
  .booking-myinfo__card {flex-direction: column}
  .booking-myinfo__media {order: 1; width: 100%}
  .booking-myinfo__details {width: 100%; order: 2}
  .booking-myinfo__tabs {gap:20px; padding-bottom:16px;}
  .booking-myinfo__tab {font-size:16px; padding-bottom:8px;}
  .booking-myinfo__title {font-size:28px;}
  .booking-myinfo__period {font-size:16px;}
  .booking-myinfo__cta {width:100%; justify-content:center;}

  /* 로그인 */
  .login-kakao {padding-top: 90px;}

  /* room 정보*/
  .room-info__amenities { grid-template-columns:repeat(2, 1fr); }  

  .stay-detail__tabs { gap:20px; }
}
@media (max-width: 640px) {
  .stay-detail__tags {grid-template-columns: repeat(6, auto); }
  .stay-detail__tags span { margin-left: -30px }
}
@media (hover:none) { .stay-detail-hero__nav { opacity:1; pointer-events:auto; } }








