/* ================== 全局重置 & 基础 ================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ================== 自定义 Web 字体：思源宋体（全站唯一字体） ==================
   由 tools/build_woff2.py 从 fonts/ 下的 OTF 源字体子集化 + 转 woff2 生成。
   仅打包页面实际用到的字符，故体积从 36MB 降到约 440KB。
   若后续新增/修改文案，请重新运行：py tools/build_woff2.py
   （改用 --safe 参数可并入 GB2312 一级汉字，避免改文案后缺字）
   ========================================================================== */
@font-face {
    font-family: "Noto Serif SC Regular";
    src: url(../fonts/noto-serif-sc-v22-latin_chinese-simplified-regular.woff2) format("woff2"),url(../fonts/noto-serif-sc-v22-latin_chinese-simplified-regular.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: "Noto Serif SC Bold";
    src: url(../fonts/noto-serif-sc-v22-latin_chinese-simplified-700.woff2) format("woff2"),url(../fonts/noto-serif-sc-v22-latin_chinese-simplified-700.woff) format("woff");
    font-style: normal
}

@font-face {
    font-family: "Noto Serif SC Italic";
    src: url(../fonts/noto-serif-sc-v22-latin_chinese-simplified-regular.woff2) format("woff2"),url(../fonts/noto-serif-sc-v22-latin_chinese-simplified-regular.woff) format("woff");
    font-weight: 400;
    font-style: italic
}

@font-face {
    font-family: "Noto Sans TC Regular";
    src: url(../fonts/noto-sans-tc-v26-latin_chinese-traditional-regular.woff2) format("woff2"),url(../fonts/noto-sans-tc-v26-latin_chinese-traditional-regular.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: "Noto Sans TC Bold";
    src: url(../fonts/noto-sans-tc-v26-latin_chinese-traditional-700.woff2) format("woff2"),url(../fonts/noto-sans-tc-v26-latin_chinese-traditional-700.woff) format("woff");
    font-style: normal
}

@font-face {
    font-family: "Noto Sans TC Italic";
    src: url(../fonts/noto-sans-tc-v26-latin_chinese-traditional-regular.woff2) format("woff2"),url(../fonts/noto-sans-tc-v26-latin_chinese-traditional-regular.woff) format("woff");
    font-weight: 400;
    font-style: italic
}

:root {
    --primary: #c8a96a;
    --primary-dark: #a88a4d;
    --text: #2c2c2c;
    --text-light: #2e2e2e;
    --bg: #ffffff;
    --bg-soft: #f8f6f2;
    --border: #e8e2d5;
    --shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 16px 50px rgba(0, 0, 0, 0.15);
    --transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --line-height: 1.7;
    --FuturaBook: "Noto Serif SC Regular";
    --FuturaMedium: "Noto Serif SC Bold";
    --FuturaBookItalic: "Noto Serif SC Italic";
    --AvenirRegular: "Noto Serif SC Regular";
    --AvenirBold: "Noto Serif SC Bold"
}

:lang(zh-cn) {
    --FuturaBook: "Noto Serif SC Regular";
    --FuturaMedium: "Noto Serif SC Bold";
    --FuturaBookItalic: "Noto Serif SC Italic";
    --AvenirRegular: "Noto Serif SC Regular";
    --AvenirBold: "Noto Serif SC Bold"
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--FuturaBook);
    color: var(--text);
    background: var(--bg);
    line-height: 1.7;
    width: 100%;
    overflow-x: hidden;
}
h1,h2,h3,h4,h5,h6 {
    font-family: var(--FuturaMedium);
    /*text-transform: uppercase;*/
    font-weight: 500
}
img {
    width: 100%;
    display: block;
}
.txtJ{text-align: justify;}
a {
    text-decoration: none;
    color: inherit;
    transition: color var(--transition);
}

ul, ol { list-style: none; }
.cp-icon{width: 1vw;margin-left:0.5vw;margin-right:0.2vw;}
.footer-info{display: flex!important;align-items: center;justify-content: center;}
.footer-info a{display: flex;align-items: center;}
.font-size-83{font-size:4.32vw;}
.font-size-56{font-size:2.92vw;margin-bottom: 2.29vw;line-height: 1.2;}
.font-size-47{font-size:2.45vw;}
.font-size-42{font-size:2.08vw;}
.font-size-38{font-size:1.98vw;}
.font-size-35{font-size:1.82vw;}
.font-size-32{font-size:1.677777777vw;line-height: 1.2;}
.font-size-30{font-size:1.56vw;}
.font-size-28{font-size:1.46vw;}
.font-size-24{font-size:1.25vw;}
.font-size-22{font-size:1.15vw;}
.font-size-20{font-size:1.04vw;}
.font-size-18{font-size:0.94vw;line-height: 1.5;letter-spacing: 1px;}
.font-size-17{font-size:0.89vw;line-height: 1.6;}
.font-size-16{font-size:0.83vw;line-height: 1.6;}
.font-size-15{font-size:0.78vw;line-height: 1.6;}
.font-size-14{font-size:0.73vw;line-height: 1.6;}

.font-weight-700{font-family: var(--FuturaMedium);font-weight: 500;}
.lianxin-item{display: flex;align-items: center;justify-content: start;margin-bottom: 0.26vw;}
.lianxin-item-icon{width: 1.5vw;margin-right: 0.2vw;}
.kangle-time .lianxin-item-icon{width: 0.8vw;margin-right: 0.5vw;}

.container {
    width: 81.25%;
    margin: 0 auto;
}

h2.font-size-42{display: flex;align-items: center;line-height: 1;margin-bottom: 1.25vw;}
h2.font-size-42 span{margin-left: 2.6vw;}
.section {
    opacity: 0;
    transform: translateY(40px);
    animation: fadeUp 1s ease forwards;
    width: 100%;
    overflow-x: hidden;
}

@keyframes fadeUp {
    to { opacity: 1; transform: translateY(0); }
}

/* ================== 通用动画 keyframes ================== */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideDown { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes scaleIn { from { opacity: 0; transform: scale(0.92); } to { opacity: 1; transform: scale(1); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes shimmer { 0% { background-position: -1000px 0; } 100% { background-position: 1000px 0; } }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }

body{padding-top: 4.8vw;}
body.vacation-page{padding-top: 8.09vw;}
body.vacation-page .header-topbar{background: #000;}
/* ================== 顶部导航 ================== */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    backdrop-filter: blur(5px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
    animation: slideDown 0.8s ease;
    height: 8.09vw;
}
.site-header.active{
    height: 100vh;
    background:url(../images/nav_bg.jpg) no-repeat center bottom rgba(0, 0, 0, 0.7);
}
.site-header.active:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
}
.header-inner {
    width: 100%;
    margin: 0 auto;
    height: 4.93vw;
    border-bottom: 2px solid #2b2323;
    background: #000;
}
.header-content{
    width: 81.25%;
    height:100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ============== 顶部预订按钮：独立一行 / 靠右 / 圆角 ============== */
.header-topbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding:0 9.375vw;
    background: rgba(0, 0, 0, 0.8);
}

/* ============== 页面向下滚动时隐藏 header-topbar，回到顶部恢复显示 ============== */
.site-header.topbar-hidden:not(.active){height: auto;}
.site-header.topbar-hidden:not(.active) .header-topbar{display:none;}

.logo {
    width: 10.3vw;
    gap: 12px;
    animation: fadeIn 1s ease 0s both;
}

.logo-icon { font-size: 32px; }

.logo-text {
    font-size: 18px;
    font-weight: 500;
    color: var(--text);
    line-height: 1.2;
}

.logo-text small {
    font-size: 10px;
    font-weight: 400;
    color: var(--text-light);
    letter-spacing: 1px;
}
.language{padding-top: 4%;}
.language a{
    font-size: 0.94vw;
}
.language a.active {
    color: var(--primary);
}
.header-content-right{display: flex;}

.header-content-right-item{display: flex;align-items: center;margin-right:1vw;cursor: pointer;}
.header-content-right-item-icon{width: 0.8vw;margin-right: 0.5vw;}
.header-content-right-item-txt{color: var(--primary);}
.header-content-right-item-arrow-down{width: 0.78vw;margin-left: 0.5vw;}

.main-nav {
    display: flex;
    gap: 32px;
    width: 100%;
    height: 3.17vw;
    align-items: center;
}

.main-nav .book-btn {
    margin-left: auto;
}
.nav-item {width: 81.25%; height: 4.17vw;}

.main-nav a {
    position: relative;
    font-size: 0.94vw;
    color: #fff;
    padding: 0.42vw 0;
    transition: color var(--transition);
}
.site-header.active .main-nav a:not(.menu-btn,.book-btn) {
    display: none;
}

.main-nav a:hover,
.main-nav a.active {
    color: var(--primary);
}

.main-nav .menu-open-icon{
    display: block;
}
.main-nav .menu-close-icon{
    display: none;
}

.site-header.active .main-nav .menu-open-icon{
    display: none;
}
.site-header.active .main-nav .menu-close-icon{
    display: block;
}

.top-book-btn {
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
    padding: 0 1.04vw;
    font-size: 14px;
    color: #fff;
    background: #a88a4d;
    border: none;
    height: 1.88vw;
    border-radius: 1.15vw;
    cursor: pointer;
    transition: all var(--transition);
    font-family: var(--FuturaMedium);
    display: none;
}
.topbar-hidden .top-book-btn{
    display: inline-flex;
}
.topbar-hidden .header-content-right{
    display: none;
}
.top-book-btn:before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background-color: #bc9d6c;
    transition: right .2s ease;
}

.top-book-btn:hover:before{
    right: 0;
    transition: right .2s ease;
}



.main-nav a.book-btn {
    display: inline-flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
    padding: 0 1.04vw;
    font-size: 14px;
    color: #fff;
    background: #a88a4d;
    border: none;
    height: 1.88vw;
    border-radius: 1.15vw;
    cursor: pointer;
    transition: all var(--transition);
    font-family: var(--FuturaMedium);
}

.main-nav a.book-btn:before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background-color: #bc9d6c;
    transition: right .2s ease;
}

.main-nav a.book-btn:hover:before{
    right: 0;
    transition: right .2s ease;
}


.main-nav a:hover::after,
.main-nav a.active::after {
    width: 100%;
}

.sidebar-nav{
    width: 100%;
    padding:2.04vw 9.375vw;
    display: none;
    position: relative;
}
.site-header.active .sidebar-nav{
    display: block;
}
.sidebar-nav-item{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1.56vw;
    cursor: pointer;
}
.sidebar-nav-item a{display: contents;}
.sidebar-nav-item-sub{
    display: none;
    opacity: 1;
    left: 21vw;
    top: 2vw;
    color: #fff;
    position: absolute;
    flex-direction: column;
    flex-wrap: wrap;
    height: 60vh;
}
.sidebar-nav-item.active .sidebar-nav-item-sub{
    display: flex;
}
.sidebar-nav-item-sub-item{margin-bottom: 1.8vw;margin-right: 2vw;height: 1.56vw;}
.sidebar-nav-item .sidebar-nav-item-icon{
    width: 1.56vw;
    height: 1.56vw;
    /* 用图标做遮罩，颜色由 background-color 控制，可精确跟随文字 */
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
    background-color: #fff;
    transition: background-color 0.2s ease;
}
.sidebar-nav-item .sidebar-nav-item-txt{
    color: #fff;
    transition: color 0.2s ease;
}
.sidebar-nav-item:hover .sidebar-nav-item-icon{
    background-color: var(--primary);
}
.sidebar-nav-item:hover .sidebar-nav-item-txt{
    color: var(--primary);
}
.sidebar-nav-item.active .sidebar-nav-item-icon{
    background-color: var(--primary);
}
.sidebar-nav-item.active .sidebar-nav-item-txt{
    color: var(--primary);
}
.contact-us{position: absolute;right: 9.375vw;bottom: 3.395vw;display: none;}
.site-header.active .contact-us{
    display: block;
}
.contact-us-item{display:flex;align-items: center;gap: 0.5vw;margin-bottom: 0.56vw;justify-content: flex-end;}
.contact-us-item .contact-us-item-icon{width: 0.83vw;}
.contact-us-item .contact-us-item-txt{color: #fff;}

.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}

.menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--text);
    margin: 5px 0;
    transition: all var(--transition);
}

/* ================== Hero 横幅 ================== */
.hero {
    position: relative;
    height: 40.63vw;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    text-align: center;
}

.hero-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.hero-bg .swiper,
.hero-bg .swiper-wrapper,
.hero-bg .swiper-slide {
    width: 100%;
    height: 100%;
}

.hero-bg .swiper-slide {
    overflow: hidden;
}

.hero-bg .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.08);
    transition: transform 6s ease;
}

/* 当前活动背景图缓慢推拉（Ken Burns 视觉） */
.hero-bg .swiper-slide-active img {
    transform: scale(1);
}

/* ============== Hero 切换按钮：左 / 右 ============== */
.left_btn,
.right_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 2.97vw;
    height: 2.97vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.78;
    transition: opacity 0.3s ease, transform 0.3s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.left_btn { left: 6.51%; }
.right_btn { right: 6.51%; }

.left_btn img,
.right_btn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    pointer-events: none;
    transition: transform 0.3s ease;
}

.left_btn:hover,
.right_btn:hover {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

.left_btn:active,
.right_btn:active {
    transform: translateY(-50%) scale(1);
}


.hero-content {
    position: relative;
    z-index: 2;
    animation: fadeIn 1.5s ease 0.4s both;
}

.hero-title {
    font-size: 3.91vw;
    letter-spacing: 4px;
    margin-bottom: 16px;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    animation: slideUp 1.2s ease 0.6s both;
}

.hero-subtitle {
    font-size: clamp(12px, 1.6vw, 18px);
    letter-spacing: 6px;
    color: var(--primary);
    margin-bottom: 24px;
    animation: slideUp 1.2s ease 0.8s both;
}

.hero-desc {
    font-size: clamp(14px, 1.4vw, 16px);
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 40px;
    animation: slideUp 1.2s ease 1s both;
}

.hero-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    animation: slideUp 1.2s ease 1.2s both;
}

.btn {
    display: inline-block;
    padding: 14px 36px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    border-radius: 0;
    cursor: pointer;
    transition: all var(--transition);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.btn-primary {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.btn-primary:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(200, 169, 106, 0.4);
}

.btn-ghost {
    background: transparent;
    color: #fff;
    border-color: #fff;
}

.btn-ghost:hover {
    background: #fff;
    color: var(--text);
    transform: translateY(-3px);
}

.hero-scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: #fff;
    text-align: center;
    animation: fadeIn 1.5s ease 1.5s both;
}

.hero-scroll span {
    font-size: 11px;
    letter-spacing: 4px;
    display: block;
    margin-bottom: 12px;
    opacity: 0.8;
}

.scroll-line {
    width: 1px;
    height: 50px;
    background: linear-gradient(to bottom, transparent, #fff);
    margin: 0 auto;
    animation: scrollMove 2s ease-in-out infinite;
}

@keyframes scrollMove {
    0% { transform: scaleY(0); transform-origin: top; }
    50% { transform: scaleY(1); transform-origin: top; }
    51% { transform-origin: bottom; }
    100% { transform: scaleY(0); transform-origin: bottom; }
}

/* ================== 章节标题 ================== */
.section-header {
    text-align: center;
    margin-bottom: 1.67vw;
}

.section-header.left {
    text-align: left;
}
.intro{padding: 1.67vw 0;}
.section-title {
    color: var(--text);
    margin-bottom: 1.25vw;
    position: relative;
    line-height: 1;
    display: inline-block;
}

.section-title.left {
    display: block;
}

.section-title .more {
    font-size: 1.04vw;
    font-weight: 400;
    color: var(--primary);
}

.section-sub,
.section-desc {
    color: var(--text-light);
    width: 100%;
}



.section-header.left .section-sub,
.section-header.left .section-desc {
    margin: 0;
}

/* ================== 酒店介绍 ================== */
.intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.intro-video{
    position: relative;
    background: #f7f4ef;
}
.intro-image {
    overflow: hidden;
    width: 55.7vw;
    margin: 0 auto;
}
.intro-image video{width: 100%;display: block;}
.intro-image img {
    object-fit: cover;
    transition: transform 0.8s ease;
}

.intro-image .play_btn {
    width: 6.2vw;
    height: 6.2vw;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, 0%);
    cursor: pointer;
}

.intro-image:hover img {
    transform: scale(1.05);
}

.intro-text h3 {
    font-size: 26px;
    margin-bottom: 20px;
    color: var(--text);
    position: relative;
    padding-left: 16px;
}

.intro-text h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    background: var(--primary);
}

.intro-text p {
    color: var(--text-light);
    margin-bottom: 16px;
    line-height: 1.9;
}

.intro-features {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.intro-features li {
    color: var(--text);
    font-size: 14px;
    padding: 8px 0;
    transition: all var(--transition);
}

.intro-features li:hover {
    color: var(--primary);
    transform: translateX(6px);
}

/* ================== 酒店客房 ================== */
.rooms-grid {
    width: 81.25%;
    margin: 0 auto;
}

.room-card {
    width: 32.5vw;
    overflow: hidden;
    background: #fff;
    opacity: 1;
}

.room-card.swiper-slide-active{opacity: 1;}

.room-image {
    height: auto;
}

.room-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.room-info {
    position: relative;
    background: #f5f5f5;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 1.25vw;
    min-height: 16vw;
    transition: all var(--transition);
}
.room-info .room-text{margin-bottom: 2.34vw;}
.room-info h3 {
    color: #000;
    line-height: 1;
    margin-bottom: 0.83vw;
}

.room-info p {
    color: var(--text-light);
    min-height: 4.2vw;
}

.room-actions {
    display: flex;
    gap: 1.30vw;
    flex-shrink: 0;
    border-top: 1px solid #e9e9e9;
    padding-top: 1.04vw;
    justify-content: flex-end;
    margin-top: auto;
}
.room-actions div{
    position: relative;
}
.room-btn {
    display: inline-flex;
    height: 2.29vw;
    line-height: 2.29vw;
    font-weight: 500;
    letter-spacing: 1px;
    padding: 0 1.25vw;
    text-align: center;
    color: #000;
    background: #fff;
    border-radius: 1.46vw;
    white-space: nowrap;
    z-index: 1;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
.room-btn:before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background-color: #e2d3c0;
    transition: right .2s ease;
}

.room-btn:hover:before{
    right: 0;
    transition: right .2s ease;
}

.room-btn1{
    color: #fff;
    background: #000;
}
.room-btn1:before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background-color: #2e3232;
    transition: right .2s ease;
}

.room-btn1:hover:before{
    right: 0;
    transition: right .2s ease;
}

.rooms-left,
.rooms-right {
    position: absolute;
    top: 28%;
    transform: translateY(-50%);
    z-index: 5;
    width: 2.97vw;
    height: 2.97vw;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s ease, transform 0.3s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.rooms-left { left: 3.51%; }
.rooms-right { right: 3.51%; }
.rooms-left.swiper-button-disabled { right: 23.51%; display:none!important; }
.rooms-right.swiper-button-disabled { right: 23.51%; display:none!important;}
.rooms-grid:hover .rooms-left,
.rooms-grid:hover .rooms-right {
    display: block;
}
.rooms-scrollbar{height: 0.26vw;margin-top:0;z-index: 8;}
.rooms-scrollbar .swiper-scrollbar-drag{cursor: grab;}
.rooms-scrollbar .swiper-scrollbar-drag:active{cursor: grabbing;}

.banquet-btn .banquet-btn-primary {
    cursor: pointer;
    display: inline-flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
    height: 2.29vw;
    padding: 0 1.25vw;
    border-radius: 1.46vw;
    background-color: #fff;
    transition: .4s ease;
    color: #000;
}
.banquet-btn .banquet-btn-primary:before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    transition: right .2s ease;
}

.banquet-btn .banquet-btn-primary:hover:before {
    background-color: #e2d3c0;
    right: 0;
}

/* ================== 宴会厅 ================== */
.banquet{padding:1.67vw 0;}
.banquet-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    overflow: unset;
}

.banquet-item {
    position: relative;
    overflow: hidden;
    width: 25.31vw;
    height: auto;
    cursor: pointer;
}

.banquet-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.banquet-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.98vw;
    color: #fff;
    opacity: 1;
    transition: opacity var(--transition);
}

.banquet-item:hover .banquet-overlay {
    opacity: 1;
}

.banquet-overlay h4 {
    line-height: 1;
    margin-bottom: 1.04vw;
}


.banquet-left,
.banquet-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 2.97vw;
    height: 2.97vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s ease, transform 0.3s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.banquet-left { left: 3.51%; display: none;}
.banquet-right { right: 3.51%;display: none; }
.banquet-left.swiper-button-disabled{display: none !important;}
.banquet-right.swiper-button-disabled{display: none !important;}
.banquet-grid:hover .banquet-left,.banquet-grid:hover .banquet-right{display: block;}

/* ================== 会议设施 ================== */
.meeting{background:#f7f4ef;margin-top: 1.67vw;}
.meeting-grid {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns: 1280fr 640fr;
    align-items: center;
    height: 100%;
    padding: 2vw 0;
}
.meeting-text{padding-left: 22%;padding-right: 9%;}
.meeting-text p {
    color: var(--text-light);
    line-height: 1.6;
}
.meeting-text .meeting-btn{
    display: inline-block;
    margin-top: 1.25vw;
}

.meeting-image {
    overflow: hidden;
    /*height: 100%;*/
    box-shadow: var(--shadow);
}

.meeting-image img {
    width: 100%;
    /*height: 100%;*/
    object-fit: cover;
    transition: transform 1s ease;
}

.meeting-image:hover img {
    transform: scale(1.05);
}

/* ================== 婚宴庆典 ================== */
.wedding{padding: 1.67vw 0;}
.wedding-banner {
    position: relative;
    height: 100%;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.wedding-banner img {
    width: 100%;
    height: 100%;
    /*object-fit: cover;*/
    transition: transform 0.8s ease;
}

.wedding-banner:hover img {
    transform: scale(1.05);
}

/* ================== 康乐设施 ================== */
.recreation{background:#f7f4ef;}
.recreation-grid {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns:640fr 1280fr;
    align-items: center;
    height: 100%;
    padding: 2vw 0;
}
.recreation-text{padding-left: 9%;padding-right: 22%;}
.recreation-text p {
    color: var(--text-light);
    line-height: 1.6;
}
.recreation-text .recreation-btn{
    display: inline-block;
    /*border: 1px solid var(--primary);*/
    transition: all 0.3s ease;
    margin-top: 1.25vw;
}
/*.recreation-text .recreation-btn:hover{*/
/*    background: var(--primary);*/
/*}*/
/*.recreation-text .recreation-btn a{display: block;width: 100%;height: 100%;padding: 0.3vw 2vw;}*/

.section-btn-primary {
    cursor: pointer;
    display: inline-flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
    height: 2.29vw;
    padding: 0 1.25vw;
    border-radius: 1.46vw;
    background-color: #fff;
    transition: .4s ease;
    color: #000;
}
.section-btn-primary:before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    transition: right .2s ease;
}

.section-btn-primary:hover:before {
    background-color: #e2d3c0;
    right: 0;
}

.recreation-image {
    overflow: hidden;
    /*height: 100%;*/
    box-shadow: var(--shadow);
}

.recreation-image img {
    width: 100%;
    /*height: 100%;*/
    /*object-fit: cover;*/
    transition: transform 1s ease;
}

.recreation-image:hover img {
    transform: scale(1.05);
}

/* ================== 艺术空间 ================== */
.art{background:url('../images/meeting_bg.jpg') no-repeat center/cover #f7f4ef;margin-top: 1.67vw;}
.art-grid {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns: 820fr 1100fr;
    align-items: center;
}
.art-text{padding-left: 22%;padding-right: 9%;}
.art-text p {
    color: var(--text-light);
    line-height: 1.6;
}
.art-text .art-btn{
    display: inline-block;
    border: 1px solid var(--primary);
    transition: all 0.3s ease;
    margin-top: 1.25vw;
}
.art-text .art-btn:hover{
    background: var(--primary);
}
.art-text .art-btn a{display: block;width: 100%;height: 100%;padding: 0.3vw 2vw;}

.art-image {
    overflow: hidden;
    box-shadow: var(--shadow);
    width: 100%;
}

.art-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);
}

.art-image:hover img {
    transform: scale(1.05);
    filter: saturate(1.2);
}

/* ================== 常年优惠 ================== */
.promotion{padding: 1.67vw 0;}
.promotion-banner {
    position: relative;
    height: 100%;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.promotion-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.promotion-banner:hover img {
    transform: scale(1.05);
}


/* ================== 城市微度假 ================== */
.vacation{background:#f7f4ef;margin-bottom:1.67vw;}
.vacation-grid {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns:640fr 1280fr;
    align-items: center;
    height: 100%;
    padding: 2vw 0;
}
.vacation-text{padding-left: 9%;padding-right: 22%;}
.vacation-text p {
    color: var(--text-light);
    line-height: 1.6;
}
.vacation-text .vacation-btn{
    display: inline-block;
    transition: all 0.3s ease;
    margin-top: 6vw;
}

.vacation-text .vacation-btn:hover{
    background: var(--primary);
}
.vacation-text .vacation-btn a{display: block;width: 100%;height: 100%;padding: 0.3vw 2vw;}

.vacation-image {
    overflow: hidden;
    box-shadow: var(--shadow);
    /*height: 100%;*/
}

.vacation-image img {
    width: 100%;
    /*height: 100%;*/
    /*object-fit: cover;*/
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);
}

.vacation-image:hover img {
    transform: scale(1.05);
    filter: saturate(1.2);
}

/* ================== 页脚 ================== */
.site-footer {
    background: #000000;
    color: #dbdbdb;
    padding: 1.88vw 0 0;
}

.footer-grid {
    display: grid;
    width: 50.9%;
    margin: 0 auto;
    grid-template-columns: 0fr 1.7fr;
    gap: 3.28vw;
    padding-bottom: 2.08vw;
    align-items: center;
}

.footer-logo {
    display: flex;
    align-items: center;
    width: 13.13vw;
}


.footer-col p {
    display: block;
    color: #ffffff;
    margin-bottom: 10px;
    transition: all var(--transition);
}

.footer-bottom {
    width: 94.79%;
    margin: 0 auto;
    padding: 1.67vw 0;
    text-align: center;
    color: #ffffff;
    border-top: 1px solid #646464;
}
.footer-bottom-nav{width: 42%;margin: 0 auto;display: flex;justify-content: space-between;padding: 0 0 1.67vw;}
.footer-bottom-nav a{display: block;}

.footer-bottom p{padding: 0 0 1.5vw;color: #676060;}

.food-kv-content{width: 100%;}
.food-left,
.food-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 2.97vw;
    height: 2.97vw;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s ease, transform 0.3s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.food-left { left: 3.51%; }
.food-right { right: 3.51%; }
.food-content{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;padding-bottom: 4.69vw;}
.food-content1{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;padding-bottom: 0;}
.food-title{padding-top: 2.29vw;padding-bottom:1.04vw;}
.food-title h2{line-height: 1;font-weight: 500;}
.food-item{width: 39.48vw;margin-bottom: 2.08vw;}
/* 卡片等高：.food-item 纵向 flex，文字区撑满剩余高度，同一行卡片底边齐平 */
.food-item{display: flex;flex-direction: column;}
.food-item .food-kv-text,
.food-item .food-kv-text1{flex: 1 1 auto;}
.food-item01{width: 100%;margin-bottom: 2.08vw;}
.food-item .food-img{
    overflow: hidden;
    box-shadow: var(--shadow);
    width: 100%;
}
.food-item .food-img img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.food-item:hover .food-img img{    transform: scale(1.05);
    filter: saturate(1.2);}
.food-kv-text{background: #f5f5f5;padding: 1.25vw 2.6vw;position: relative;}
.food-kv-text1{background: #f5f5f5;padding: 1.25vw 2.6vw;position: relative;}
.food-item01 .food-kv-text{height: 100%;background: #fff;}
.food-kv-text-desc1{color: rgba(0, 0, 0, 0.8);margin-bottom: 1.35vw;}
.food-kv-text-desc{color: rgba(0, 0, 0, 0.8);margin-bottom: 1.35vw;}
.food-kv-text-time{color: rgba(0, 0, 0, 1);}
/* 美食详情：简介（left）与营业信息（right）左右分栏 */
.food-kv-text-row{display: flex;justify-content: space-between;align-items: flex-start;gap: 4vw;}
.food-kv-text-row .food-kv-text-desc1{flex: 0 1 62%;margin-bottom: 0;}
.food-kv-text-row .food-kv-text-desc{flex: 0 1 30%;margin-bottom: 0;}
/* 营业时间：名称 / 内容两列对齐，取代原来的空格排版 */
.food-kv-text-row .food-kv-text-time{display: grid;grid-template-columns: max-content 1fr;column-gap: 2.6vw;row-gap: 0.42vw;align-content: start;}
.food-kv-text-time-label{white-space: nowrap;}
/* 美食列表：营业时间同样按 label / value 两列对齐 */
.food-kv-text-time-list{display: grid;grid-template-columns: max-content 1fr;column-gap: 1.6vw;align-content: start;}
.food-kv-text-btn{width: 100%;margin-top: 1.25vw;}

.food-kv-text-menu{position: relative; display: inline-block;margin-top: 0;}


.food-return{padding: 1.67vw 0 0;}


.food-show{width: 100%;display: flex;justify-content: space-between;padding-bottom: 4.69vw;}
.food-show-item{width: 39.48vw;overflow: hidden;
    box-shadow: var(--shadow);}
.food-show-item img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.food-show-item:hover img{    transform: scale(1.05);
    filter: saturate(1.2);}
.mb-1{margin-bottom: 1vw;}
.mb-15{margin-bottom: 1.5vw;}
.mb-2{margin-bottom: 2vw;}

.art-content{width: 100%;}
.art-content-image{width: 100%;overflow: hidden;
    box-shadow: var(--shadow);}
.art-content-image img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.art-content-image:hover img{    transform: scale(1.05);
    filter: saturate(1.2);}
.art-content-text{padding: 2.4vw 8.8vw;background: #f7f4ef;}


.art-show-content{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;padding-bottom: 4.69vw;}
.art-show-title{padding-top: 2.29vw;padding-bottom: 1.04vw;}
.art-show-title h2{line-height: 1;font-weight: 500;}
.art-show-item{width: 39.48vw;margin-bottom: 2.08vw;position: relative;overflow: hidden;border: 1px solid #f7f4ef;}
.art-show-text{padding: 1.25vw;background: #f7f4ef;}

.art-show-image{width: 100%;overflow: hidden;}
.art-show-item img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.art-show-item:hover img{    transform: scale(1.05);
    filter: saturate(1.2);}

.art-show-text h3{margin-bottom: 1.25vw;}
.art-show-btn{display: inline-block;}


.art-show-popup-title{margin-bottom: 1vw;margin-top: 1vw;}

/* 详情弹窗：默认隐藏，.active 时覆盖全屏；自身可滚动，并阻止滚动穿透到页面 */
.art-show-popup{
    display: none;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1001;
    background: #fff;
    overflow-y: auto;                 /* auto 而非 scroll：内容不超出时不显示滚动条 */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;     /* 滚动到边界时不把滚动传递给页面 */
}
.art-show-popup.active{ display: block; }

/* 关闭按钮：项目未引入 iconfont，.icon-close 为空标签，故隐藏它并用伪元素绘制 × */
.art-show-popup-close{
    position: fixed;
    top: 2vw;
    right: 6vw;
    z-index: 2;
    width: 3.28vw;
    cursor: pointer;

}

.art-show-popup-close .icon-close{ display: none; }

.art-show-popup-content{width: 81.25%;background: #f6f4ee;margin: 5vw auto;padding: 6vw;display: flex;justify-content: center;flex-direction: column;align-items: center;}



/* 弹窗打开时锁定页面滚动；用 padding 补偿滚动条宽度，避免开合时页面横向抖动 */
body.popup-open{
    overflow: hidden;
    padding-right: var(--scrollbar-width, 0px);
}

/* ================== 会议预定表单弹窗 ================== */
.meeting-popup{
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1100;
    background: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.meeting-popup.active{ display: flex; align-items: center; justify-content: center; padding: 2vw; }

.meeting-popup-panel{
    position: relative;
    width: 70%;
    background: #fff;
    padding: 2.6vw 4.2vw 3vw;
    border-radius: 4px;
}


.meeting-popup-close:hover{ color: #d4c1a4; }

.meeting-popup-title{
    font-size: 1.45vw;
    font-weight: 500;
    margin-bottom: 0.4vw;
    color: var(--text);
}
.meeting-popup-required{
    font-size: 0.78vw;
    color: var(--text-light);
    margin-bottom: 1.6vw;
}

.meeting-popup-form{ width: 100%; }
.meeting-popup-row{
    display: flex;
    gap: 1.2vw;
    margin-bottom: 1.1vw;
}
.meeting-popup-field{ flex: 1; min-width: 0; }

.meeting-popup-label{
    display: block;
    font-size: 0.83vw;
    color: var(--text);
    margin-bottom: 0.3vw;
}
.meeting-popup-label span{ color: #d44; margin-left: 0.2vw; }

.meeting-popup-form input,
.meeting-popup-form select{
    width: 100%;
    padding: 0.55vw 0.8vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2px;
    outline: none;
    transition: border-color 0.2s ease;
}
.meeting-popup-form input::placeholder{ color: #b3a78f; }
.meeting-popup-form input:focus,
.meeting-popup-form select:focus{ border-color: var(--primary); }
.meeting-popup-form input:invalid:not(:placeholder-shown){ border-color: #d44; }

.meeting-popup-submit{
    display: flex;
    margin: 1.4vw 0 1vw;
    border-radius: 2vw;
    width: 10vw;
    overflow: hidden;
}
.meeting-popup-btn{
    width: 10.5vw;
    padding: 0.55vw 0;
    font-size: 1.04vw;
    color: #fff;
    background:var(--primary);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}
.meeting-popup-btn:hover{ background: var(--primary); }

.meeting-popup-privacy{
    font-size: 0.73vw;
    line-height: 1.7;
    color: var(--text-light);
    margin-top: 0.6vw;
}

/* ---------- 活动日期双月日历 ---------- */
.meeting-popup-field{ position: relative; }
.meeting-popup-date-display{ cursor: pointer; caret-color: transparent; }

.meeting-popup-calendar{
    position: absolute;
    top: calc(100% + 0.2vw);
    left: 0;
    z-index: 5;
    width: 38vw;
    padding: 0.9vw 1.2vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.meeting-popup-calendar-nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.6vw;
}
.meeting-popup-calendar-months{
    display: flex;
    gap: 5vw;
    font-size: 0.94vw;
    color: var(--text);
}
.meeting-popup-calendar-prev,
.meeting-popup-calendar-next{
    width: 1.6vw;
    height: 1.6vw;
    min-width: 22px;
    min-height: 22px;
    font-size: 1.1vw;
    line-height: 1;
    color: #8a7d68;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
}
.meeting-popup-calendar-prev:hover,
.meeting-popup-calendar-next:hover{ color: var(--primary); border-color: #d4c1a4; }

.meeting-popup-calendar-grids{ display: flex; gap: 1.6vw; }
.meeting-popup-calendar-grid{
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 0.78vw;
    color: var(--text);
}
.meeting-popup-calendar-weekday{
    padding: 0.3vw 0;
    margin-bottom: 0.45vw;
    color: var(--text-light);
    font-weight: 600;
    font-size: 0.72vw;
    letter-spacing: 0.12em;
}
.meeting-popup-calendar-day{
    padding: 0.5vw 0;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s ease;
}
.meeting-popup-calendar-day.blank{ cursor: default; }
.meeting-popup-calendar-day.disabled{ color: #c9c1b0; cursor: not-allowed; }
.meeting-popup-calendar-day:not(.blank):not(.disabled):hover{ background: #efe7d8; }
.meeting-popup-calendar-day.today{ background: #f4ecdc; font-weight: 600; }
.meeting-popup-calendar-day.selected{ background: #d4c1a4; color: #fff; font-weight: 600; }
.meeting-popup-calendar-day.selected:hover{ background: var(--primary); }

/* ---------- 电话号码：区号下拉 + 号码输入 ---------- */
.meeting-popup-phone{ display: flex; gap: 0.6vw; }
.meeting-popup-phone-code{ position: relative; flex: 0 0 12vw; max-width: 180px; min-width: 130px; }
.meeting-popup-phone-code > select{ display: none; }
.meeting-popup-phone input[type="tel"]{ flex: 1; min-width: 0; }

.meeting-popup-select-trigger{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4vw;
    width: 100%;
    padding: 0.55vw 0.8vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}
.meeting-popup-select-trigger:hover{ border-color: var(--primary); }
.meeting-popup-select-trigger[aria-expanded="true"]{ border-color: var(--primary); }
.meeting-popup-select-text{ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.meeting-popup-select-arrow{
    flex: 0 0 auto;
    width: 0; height: 0;
    border-left: 0.26vw solid transparent;
    border-right: 0.26vw solid transparent;
    border-top: 0.32vw solid #8a7d68;
    transition: transform 0.2s ease;
}
.meeting-popup-select-trigger[aria-expanded="true"] .meeting-popup-select-arrow{ transform: rotate(180deg); }

.meeting-popup-select-panel{
    position: absolute;
    top: calc(100% + 0.2vw);
    left: 0;
    z-index: 6;
    width: 17vw;
    min-width: 220px;
    padding: 0.4vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.meeting-popup-select-search{
    width: 100%;
    padding: 0.4vw 0.6vw;
    margin-bottom: 0.3vw;
    font-size: 0.83vw;
    color: var(--text);
    background: #faf7f1;
    border: 1px solid #e8e2d5;
    border-radius: 2px;
    outline: none;
}
.meeting-popup-select-search:focus{ border-color: var(--primary); }

.meeting-popup-select-list{
    max-height: 12vw;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.meeting-popup-select-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6vw;
    padding: 0.34vw 0.6vw;
    font-size: 0.83vw;
    color: var(--text);
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s ease;
}
.meeting-popup-select-item:hover{ background: #efe7d8; }
.meeting-popup-select-item.selected{ background: #d4c1a4; color: #fff; font-weight: 600; }
.meeting-popup-select-name{ overflow: hidden; text-overflow: ellipsis; }
.meeting-popup-select-code{ color: var(--text-light); }
.meeting-popup-select-item.selected .meeting-popup-select-code{ color: #fff; }
.meeting-popup-select-group{
    padding: 0.3vw 0.6vw;
    font-size: 0.73vw;
    font-weight: 600;
    color: var(--primary);
    background: #faf7f1;
}
.meeting-popup-select-empty{
    padding: 0.6vw;
    font-size: 0.83vw;
    color: var(--text-light);
    text-align: center;
}


/* ================== 客房预定表单弹窗 ================== */
.room-popup{
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1100;
    background: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.room-popup.active{ display: flex; align-items: center; justify-content: center; padding: 2vw; }

.room-popup-panel{
    position: relative;
    width: 85%;
    background: #fff;
    padding: 2.6vw 10vw 3vw;
    border-radius: 4px;
}

.room-popup-close{
    position: absolute;
    top: 1.2vw;
    right: 1.4vw;
    width: 3.28vw;
    display: flex;
    cursor: pointer;
}


.room-popup-title{
    font-size: 1.45vw;
    font-weight: 500;
    margin-bottom: 0.4vw;
    color: var(--text);
}
.room-popup-required{
    font-size: 0.9vw;
    color: var(--text-light);
    margin-bottom: 1.6vw;
}
.room-popup-required span{ color: #d44; }

.room-popup-form{ width: 100%; }
.room-popup-row{
    display: flex;
    gap: 1.2vw;
    margin-bottom: 1.1vw;
}
.room-popup-row-3 > .room-popup-field{ flex: 1 1 0; }
.room-popup-field{ flex: 1; min-width: 0; position: relative; border: 1px solid #333;}

.room-popup-label{
    display: block;
    font-size: 0.83vw;
    color: var(--text);
    margin-left: 1vw;
}
.room-popup-label span{ color: #d44; margin-left: 0.2vw; }

.room-popup-form input,
.room-popup-form select{
    width: 100%;
    padding: 0.55vw 1vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #fff;
    border-radius: 2px;
    outline: none;
    transition: border-color 0.2s ease;
}
.room-popup-form input::placeholder{ color: #333; }
.room-popup-form input:focus,
.room-popup-form select:focus{ border-color: #fff; }
.room-popup-form input:invalid:not(:placeholder-shown){ border-color: #d44; }

/* 住客下拉：trigger + 面板（成人/儿童计数器 + 确定） */
.room-popup-guests{ position: relative; }
.room-popup-guests-trigger{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6vw;
    width: 100%;
    padding: 0.55vw 1vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #fff;
    border-radius: 2px;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s ease;
}
.room-popup-guests-trigger:hover,
.room-popup-guests-trigger[aria-expanded="true"]{ border-color: #fff; }
.room-popup-guests-text{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #333;
}
.room-popup-guests-text.filled{ color: var(--text); }
.room-popup-guests-arrow{
    width: 0;
    height: 0;
    flex: none;
    border-left: 0.32vw solid transparent;
    border-right: 0.32vw solid transparent;
    border-top: 0.42vw solid var(--primary);
    transition: transform 0.2s ease;
}
.room-popup-guests-trigger[aria-expanded="true"] .room-popup-guests-arrow{ transform: rotate(180deg); }

.room-popup-guests-panel{
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.4vw);
    left: 0;
    width: 22vw;
    min-width: 230px;
    padding: 1vw;
    background: #fff;
    border: 1px solid #efe7d8;
    box-shadow: 0 0.6vw 1.6vw rgba(0, 0, 0, 0.12);
    border-radius: 2px;
}
.room-popup-guests-confirm{
    width: 100%;
    margin-top: 1vw;
    padding: 0.5vw 1vw;
    font-size: 0.94vw;
    color: #fff;
    background: var(--primary);
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: background 0.15s ease;
}
.room-popup-guests-confirm:hover{ background: #bda47f; }

/* 住客计数器：成人 + 儿童 两行 */
.room-popup-counter-group{
    display: flex;
    flex-direction: column;
    gap: 0.6vw;
}
.room-popup-counter{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8vw;
    padding: 0.45vw 0;
    border-bottom: 1px solid #efe7d8;
}
.room-popup-counter-title{
    font-size: 0.83vw;
    color: var(--text);
    white-space: nowrap;
}
.room-popup-counter-control{
    display: flex;
    align-items: center;
    gap: 0.6vw;
    margin-left: auto;
}
.room-popup-counter-btn{
    width: 1.6vw;
    height: 1.6vw;
    min-width: 22px;
    min-height: 22px;
    padding: 0;
    border: 1px solid #d4c1a4;
    background: #fff;
    color: var(--primary);
    font-size: 1.1vw;
    line-height: 1;
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.room-popup-counter-btn:hover:not(:disabled){
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.room-popup-counter-btn:disabled{
    color: #c9c1b0;
    border-color: #e6e1d4;
    cursor: not-allowed;
    background: #faf8f3;
}
.room-popup-counter-value{
    min-width: 1.4vw;
    text-align: center;
    font-size: 0.94vw;
    color: var(--primary);
    font-weight: 600;
}

.room-popup-price{
    font-size: 0.94vw;
    color: var(--text);
    margin: 1.4vw 0 0.6vw;
}
.room-popup-price span{ color: var(--primary); font-weight: 600; }

.room-popup-submit{
    display: flex;
    margin: 1.4vw 0 1vw;
    border-radius: 2vw;
    width: 10vw;
    overflow: hidden;
}
.room-popup-btn{
    width: 11vw;
    min-width: 160px;
    padding: 0.55vw 0;
    font-size: 1.04vw;
    color: #fff;
    background: var(--primary);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}
.room-popup-btn:hover{ background: var(--primary); }

/* ---------- 双月日历 ---------- */
.room-popup-date-display{ cursor: pointer; caret-color: transparent; }
.room-popup-calendar{
    position: absolute;
    top: calc(100% + 0.2vw);
    left: 0;
    z-index: 5;
    width: 38vw;
    padding: 0.9vw 1.2vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.room-popup-calendar-nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.6vw;
}
.room-popup-calendar-months{
    display: flex;
    gap: 5vw;
    font-size: 0.94vw;
    color: var(--text);
}
.room-popup-calendar-prev,
.room-popup-calendar-next{
    width: 1.6vw;
    height: 1.6vw;
    min-width: 22px;
    min-height: 22px;
    font-size: 1.1vw;
    line-height: 1;
    color: #8a7d68;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
}
.room-popup-calendar-prev:hover,
.room-popup-calendar-next:hover{ color: var(--primary); border-color: #d4c1a4; }
.room-popup-calendar-grids{ display: flex; gap: 1.6vw; }
.room-popup-calendar-grid{
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 0.78vw;
    color: var(--text);
}
.room-popup-calendar-weekday{
    padding: 0.3vw 0;
    margin-bottom: 0.45vw;
    color: var(--text-light);
    font-weight: 600;
    font-size: 0.72vw;
    letter-spacing: 0.12em;
}
.room-popup-calendar-day{
    padding: 0.5vw 0;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s ease;
}
.room-popup-calendar-day.blank{ cursor: default; }
.room-popup-calendar-day.disabled{ color: #c9c1b0; cursor: not-allowed; }
.room-popup-calendar-day:not(.blank):not(.disabled):hover{ background: #efe7d8; }
.room-popup-calendar-day.today{ background: #f4ecdc; font-weight: 600; }
.room-popup-calendar-day.selected{ background: #d4c1a4; color: #fff; font-weight: 600; }
.room-popup-calendar-day.selected:hover{ background: var(--primary); }

/* ---------- 电话号码：区号下拉 + 号码输入 ---------- */
.room-popup-phone{ display: flex; gap: 0.6vw; }
.room-popup-phone-code{ position: relative; flex: 0 0 12vw; max-width: 180px; min-width: 130px; }
.room-popup-phone-code > select{ display: none; }
.room-popup-phone input[type="tel"]{ flex: 1; min-width: 0; }

.room-popup-select-trigger{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4vw;
    width: 100%;
    padding: 0.55vw 1vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #fff;
    border-radius: 2px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}
.room-popup-select-trigger:hover{ border-color: #fff; }
.room-popup-select-trigger[aria-expanded="true"]{ border-color: #fff; }
.room-popup-select-text{ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.room-popup-select-arrow{
    flex: 0 0 auto;
    width: 0; height: 0;
    border-left: 0.26vw solid transparent;
    border-right: 0.26vw solid transparent;
    border-top: 0.32vw solid #8a7d68;
    transition: transform 0.2s ease;
}
.room-popup-select-trigger[aria-expanded="true"] .room-popup-select-arrow{ transform: rotate(180deg); }

.room-popup-select-panel{
    position: absolute;
    top: calc(100% + 0.2vw);
    left: 0;
    z-index: 6;
    width: 17vw;
    min-width: 220px;
    padding: 0.4vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.room-popup-select-search{
    width: 100%;
    padding: 0.4vw 0.6vw;
    margin-bottom: 0.3vw;
    font-size: 0.83vw;
    color: var(--text);
    background: #faf7f1;
    border: 1px solid #e8e2d5;
    border-radius: 2px;
    outline: none;
}
.room-popup-select-search:focus{ border-color: var(--primary); }

.room-popup-select-list{
    max-height: 12vw;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.room-popup-select-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6vw;
    padding: 0.34vw 0.6vw;
    font-size: 0.83vw;
    color: var(--text);
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s ease;
}
.room-popup-select-item:hover{ background: #efe7d8; }
.room-popup-select-item.selected{ background: #d4c1a4; color: #fff; font-weight: 600; }
.room-popup-select-name{ overflow: hidden; text-overflow: ellipsis; }
.room-popup-select-code{ color: var(--text-light); }
.room-popup-select-item.selected .room-popup-select-code{ color: #fff; }
.room-popup-select-group{
    padding: 0.3vw 0.6vw;
    font-size: 0.73vw;
    font-weight: 600;
    color: var(--primary);
    background: #faf7f1;
}
.room-popup-select-empty{
    padding: 0.6vw;
    font-size: 0.83vw;
    color: var(--text-light);
    text-align: center;
}


/* 详情按钮是可点击控件，给一个可聚焦样式 */
.art-show-btn:focus-visible{ outline: 2px solid var(--primary); outline-offset: 2px; }
.recreation-content-text{background: #f7f4ef;padding: 2.92vw 8.85vw; position: relative;}
.recreation-content-text1{background: #fff;padding: 1.5vw 0 5.5vw; position: relative;}
.recreation-content-title{font-weight: 500;display: flex;align-items: center;line-height: 1;margin-bottom: 1.25vw;}
.recreation-content-title span{margin-left: 2.6vw;}
.recreation-content-des{width: 49%;}
.recreation-content-des1{width: 100%;text-align: center;}
.kangle-time{position: absolute;top:21%;left: 52vw;width: 19.53vw;}

.recreation-content01{padding-top: 2.29vw;padding-bottom: 1.67vw;}
.recreation-content02{margin: 1.67vw 0; }
.recreation-content03{margin: 0 0 1.67vw; }
.recreation-content04{margin: 0 0 1.67vw;padding: 0 16px; }

.recreation-content-image{width: 100%;overflow: hidden;
    box-shadow: var(--shadow);}
.recreation-content-image img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.recreation-content-image:hover img{    transform: scale(1.05);
    filter: saturate(1.1);}
.recreation-content-grid01 {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns: 1fr 1fr;
    align-items: center;
    background: #f7f4ef;
}
.recreation-content-grid02 {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns: 1fr 1fr;
    align-items: center;
    background: #f7f4ef;
}
.recreation-content-grid-text{padding: 3.13vw;}
.recreation-content-grid-text p {
    color: var(--text-light);
    line-height: 1.6;
}
.recreation-content-grid-text .recreation-content-grid-btn{
    display: inline-block;
    margin-top: 1.25vw;
}

.recreation-content-grid-image {
    overflow: hidden;
    box-shadow: var(--shadow);
    width: 100%;
}

.recreation-content-grid-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);
}

.recreation-content-grid-image:hover img {
    transform: scale(1.05);
    filter: saturate(1.1);
}

.wedding-content-text{background: #f7f4ef;padding: 2.92vw 8.85vw; position: relative;}
.wedding-lianxi{position: absolute;top:2.92vw;left: 56vw;}
.recreation-content-des{width: 49%;}


.activity-space-content{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;}
.activity-space-content1{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;}
.activity-space-title{padding-top: 2.29vw;padding-bottom:1.04vw;}
.activity-space-title1{padding-top: 4.95vw;}
.activity-space-title h2{line-height: 1;font-weight: 500;}
.activity-space-item{width: 39.48vw;margin-bottom: 2.08vw;position: relative;overflow: hidden;border: 1px solid #f7f4ef;background: #f7f4ef;}
.activity-space-text{padding: 2.3vw;background: #f7f4ef;padding-bottom: 4.17vw;}
.activity-space-text h3{margin-bottom: 0.83vw;line-height: 1;}
.activity-space-content1 .activity-space-image{width: 39.53vw;}
.activity-space-content1 .activity-space-text{width: calc(100% - 39.53vw);display: flex;
    flex-direction: column;
    justify-content: center;padding-bottom: 2.3vw;}

.activity-space-image{width: 100%;overflow: hidden;
    box-shadow: var(--shadow);}
.activity-space-item img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.activity-space-item:hover img{    transform: scale(1.05);
    filter: saturate(1.1);}
.activity-space-content1 img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.activity-space-content1:hover img{    transform: scale(1.05);
    filter: saturate(1.1);}

.pic-show{width: 100%;padding-bottom: 4.69vw;}
.pic-show-content{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;}
.pic-show-content-box1{display: flex;justify-content: space-between;flex-wrap: wrap;width: 44vw;}
.pic-show-content-box2{width: 15.31vw;display: flex;justify-content: space-between;flex-direction: column;}
.pic-show-content-box3{width: 20.42vw;display: flex;justify-content: space-between;flex-direction: column;}
.pic-show-content-item{margin-bottom: 0.3vw;cursor: pointer;}
.pic-show-content-item1{width: 26.88vw;}
.pic-show-content-item2{width: 16.7vw;}
.pic-show-content-item3{width: 100%;}

/* 详情弹窗：默认隐藏，.active 时覆盖全屏；自身可滚动，并阻止滚动穿透到页面 */
.pic-show-popup{
    display: none;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1001;
    background: #fff;
    overflow-y: auto;                 /* auto 而非 scroll：内容不超出时不显示滚动条 */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;     /* 滚动到边界时不把滚动传递给页面 */
}
.pic-show-popup.active{ display: block; }

/* 关闭按钮：项目未引入 iconfont，.icon-close 为空标签，故隐藏它并用伪元素绘制 × */
.pic-show-popup-close{
    position: fixed;
    top: 2vw;
    right: 6vw;
    z-index: 2;
    width: 3.28vw;
    cursor: pointer;

}

.pic-show-popup-close .icon-close{ display: none; }

.pic-show-popup-content{width: 81.25%;margin: 2vw auto;display: flex;justify-content: center;flex-direction: column;align-items: center;}

/* 图片库弹窗：容器同时是 swiper，需覆盖上面的纵向 flex，否则横向轮播失效 */
.pic-show-popup .pic-show-popup-content{
    display: block;
}
.pic-show-popup .swiper-slide{
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pic-show-popup .pic-show-popup-image{ width: 100%; }
.pic-show-popup .pic-show-popup-image img{
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    display: block;
}

/* 弹窗翻页条：上一张 / < 当前 / 总数 > / 下一张 */
.pic-show-popup-nav{
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.4vw;
    margin: 0 auto 3vw;
    user-select: none;
}

/* 只有一张图片时隐藏翻页栏（箭头与计数均无意义） */
.pic-show-popup.is-single .pic-show-popup-nav{ display: none; }

.pic-show-popup-arrow{
    width: 0.94vw;
    height: 0.94vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    cursor: pointer;
    transition: all var(--transition);
}

/* 计数由 Swiper pagination(fraction) 渲染；还原 .swiper-pagination 默认的绝对定位 */
.pic-show-popup-counter{
    position: static;
    bottom: auto;
    left: auto;
    width: auto;
    transform: none;
    display: flex;
    align-items: center;
    gap: 0.4vw;
    font-size: 1.15vw;
    letter-spacing: 2px;
    color: var(--text);
    white-space: nowrap;
}
.pic-show-popup-counter .swiper-pagination-current{ color: var(--primary); font-weight: 600; }

.room-content{width: 100%;margin: 0 auto;display: flex;justify-content: space-between;flex-wrap: wrap;padding-bottom: 0;}
.room-content1{width: 81.25%;margin: 0 auto;display: flex;justify-content: space-between;flex-wrap: wrap;padding-bottom: 0;}
.room-title{padding-top: 2.29vw;padding-bottom:1.42vw;}
.room-item{width: 39.48vw;margin-bottom: 2vw;}
.room-kv-text{position: relative;width: 100%;overflow: hidden;background: #f5f5f5;}
.room-kv-text-body{position: relative;padding: 1.25vw 2.6vw;}
.room-kv-text-body .font-size-24{margin-bottom: 0.83vw;line-height: 1;}
.room-kv-text-btn-boxs{position: relative;width: 100%;display: flex;align-items: center;}
.room-kv-text-time{margin-top: 2.4vw;}
.room-kv-text-btn-boxs .room-kv-text-btn{}
.room-kv-text-btn-boxs .room-kv-text-btn a{line-height: unset;}
.room-item .room-img{width: 100%;overflow: hidden;
    box-shadow: var(--shadow);}
.room-item .room-img img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.room-item:hover .room-img img{    transform: scale(1.05);
    filter: saturate(1.1);}

.rule-content-grid {
    display: grid;
    /* 设计稿 1920 下：左侧文字区 820 / 右侧图片区 1100，两列铺满整行 */
    grid-template-columns: 788fr 774fr;
    align-items: center;
    background: #f7f4ef;
    margin-bottom: 5.69vw;
}
.rule-content-grid-text{padding: 3.13vw;}
.rule-content-grid-text p {
    color: var(--text-light);
    line-height: 1.6;
}
.rule-content-grid-text .rule-content-grid-btn{
    display: inline-block;
    transition: all 0.3s ease;
    margin-top: 1.25vw;
}

.rule-content-grid-text .section-title{margin-bottom: 1vw;}

.rule-content-grid-image {
    overflow: hidden;
    box-shadow: var(--shadow);
    width: 100%;
}

.rule-content-grid-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);
}

.rule-content-grid-image:hover img {
    transform: scale(1.05);
    filter: saturate(1.1);
}

.tags{width: 100%;display: flex;justify-content: start;margin: 2.6vw auto;}
.tags-item{margin-right: 5vw;display: flex; align-items: center;}
.tags-item-icon{margin-right: 0.5vw;transform: scale(0.8);}
.tags-item-icon1{width: 1.98vw;}
.tags-item-icon2{width: 1.46vw;}
.tags-item-icon3{width: 1.56vw;}
.tags-item-text{font-weight: 500;}
.room-item01{width: 100%;padding: 1.25vw 2.6vw 2.4vw;}
.room-text-menu{position: relative; display: inline-block;}

.room-xian{width: 100%;height: 1px;background:#dddddd;margin-top: 4vw;margin-bottom: 4vw;}
.room-light-boxs{display:flex;justify-content: space-between;margin-top: 2.6vw;}
.room-light-boxs-item{display:flex; flex-direction: column;width: 50%;}
.room-light-boxs-item:nth-child(1){width: 50%;border-right: 1px solid #dddddd;}
.room-light-boxs-item:nth-child(2){width: 46%;}
.room-light-title{margin-bottom: 1vw;margin-top: 0;}
.room-light-point{width: 100%;display: flex;justify-content: start;align-items: center;flex-wrap: wrap;}
.room-light-point1{width: 107%;display: flex;justify-content: start;align-items: center;flex-wrap: wrap;}
.room-light-point .room-light-point-item{width: 50%;margin-bottom: 0.83vw;}
.room-light-point1 .room-light-point-item{width: 25%;margin-bottom: 0.83vw;}
.room-light-point-item span{color: var(--primary);font-weight:700;}

.pic-show-content-box11{width: 20.73vw; display: flex;justify-content: space-between;flex-direction: column;}
.pic-show-content-box22{width: 59.1vw;height: 60vw; display: flex;justify-content: space-between;flex-wrap: wrap;align-content: space-between;}
.pic-show-content-item4{width: 32.81vw;}
.pic-show-content-item5{width: 25.57vw;}
.pic-show-content-item6{width: 20.63vw;}
.pic-show-content-item7{width: 37.76vw;height: 39.7vw; display: flex;justify-content: space-between;flex-wrap: wrap;align-content: space-between;}
.pic-show-content-item8{width: 18.6vw;}
.pic-show-content-item9{width: 18.39vw;}

.vacation-content{width: 100%;background: #f1f3f5;padding-bottom: 5.94vw;}
.vacation-content1{width: 100%;background: #f1f3f5;display: flex;justify-content: space-between;}
.vacation-content .container{width: 100%;display: flex;align-items: center;flex-direction: column;flex-wrap:wrap; }
.vacation-content-text{padding: 2.4vw 0 2.29vw;}
.vacation-content-des{text-align: center;}
.vacation-btn{position: relative; display: block;margin-bottom: 2.29vw;}

.vacation-content-title{padding: 2.4vw 0 1.04vw;;}
.vacation-content-title h2{line-height: 1;}
.vacation-list-box{margin-left: 1.46vw;height: 55.65vw;overflow:hidden;}
.vacation-content-list{width: 44.47vw;height: 46.8vw; overflow-y: scroll;}
.vacation-content-list {
    overflow-y: scroll;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

.vacation-content-list::-webkit-scrollbar {
    width: 0;
    height: 0;
}
.vacation-content-list .vacation-content-item{background: #fff;padding: 1.25vw 2.6vw;margin-bottom: 2.08vw;cursor: pointer;}
.vacation-content-list .vacation-content-item .room-actions{justify-content: start;margin-top: 1.25vw;}
.vacation-content-list .vacation-content-item.active{border: 1px solid #d4c1a4;}
.vacation-content-item-text .font-size-24{margin-bottom: 0.83vw;line-height: 1;}
.food-kv-text .font-size-24{margin-bottom: 0.83vw;line-height: 1;margin-top: 0.42vw;}
.food-kv-text1 .font-size-24{margin-bottom: 0.83vw;line-height: 1;}
.vacation-content-item-btn{cursor: pointer;}
.vacation-map-box{width: 53.02vw;}
.vacation-map-box .vacation-map-image{width: 100%;display:none;}
.vacation-map-box .vacation-map-image img{width: 100%;}
.vacation-map-box .vacation-map-image.active{display: block;}

.meeting-content-text{background: #f7f4ef;padding: 2.92vw 8.85vw; position: relative;}
.meeting-lianxi{position: absolute;top:2.92vw;left: 55vw;}


.meeting_venue-content{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;}
.meeting_venue-content1{width: 100%;display: flex;justify-content: space-between;flex-wrap: wrap;}
.meeting_venue-title{padding-top: 2.29vw;padding-bottom: 1.42vw;}
.meeting_venue-title h2{line-height: 1;font-weight: 500;}
.meeting_venue-item{width: 38.65vw!important;margin-bottom: 3.08vw;position: relative;overflow: hidden;border: 1px solid #f7f4ef;background: #f7f4ef;}
.meeting_venue-text{padding:1.25vw 2.3vw;height: 17vw; background: #f7f4ef;padding-bottom: 6.25vw;position: relative;}

.meeting_venue-content1 .meeting_venue-image{width: 38.65vw;}
.meeting_venue-content1 .meeting_venue-text{width: calc(100% - 39.53vw);display: flex;
    flex-direction: column;
    justify-content: center;padding-bottom: 2.3vw;}

.meeting_venue-image{width: 100%;overflow: hidden;
    box-shadow: var(--shadow);}
.meeting_venue-item img{
    transition: transform 1s ease, filter 0.6s ease;
    filter: saturate(0.9);}
.meeting_venue-item:hover img{    transform: scale(1.05);
    filter: saturate(1.1);}

.meeting_venue-box{position: absolute;left: 2.3vw;width: calc(100% - 4.6vw);bottom: 1.25vw;display: flex;justify-content: space-between;}
.meeting_venue-box-item{width: 8.59vw;text-align: center;cursor: pointer;}
.floor—pic{margin-left: 17vw;}

/* ================== 会议场地：筛选栏 ================== */
.meeting-filter{
    width: 100%;
    margin-bottom: 2.08vw;
}

/* 单行排列：空间大小 / 接待能力 / 单位 / 重置 */
.meeting-filter-row{
    display: flex;
    align-items: center;
    gap: 1.2vw;
    flex-wrap: wrap;
}

/* ---------- 下拉多选 ---------- */
.meeting-filter-field{ position: relative; }

.meeting-filter-trigger{
    display: inline-flex;
    align-items: center;
    gap: 0.5vw;
    min-width: 9.4vw;
    padding: 0.55vw 1vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #d4c1a4;
    cursor: pointer;
    transition: all var(--transition);
}
.meeting-filter-trigger:hover{ border-color: var(--primary); }
.meeting-filter-field.open .meeting-filter-trigger{ border-color: var(--primary); }
.meeting-filter-field.has-value .meeting-filter-trigger{ background: #efe7d8; }

.meeting-filter-trigger-badge{
    min-width: 1.15vw;
    height: 1.15vw;
    padding: 0 0.3vw;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 0.73vw;
    line-height: 1.15vw;
    text-align: center;
}

.meeting-filter-trigger-arrow{
    width: 0;
    height: 0;
    margin-left: auto;
    border-left: 0.26vw solid transparent;
    border-right: 0.26vw solid transparent;
    border-top: 0.34vw solid #8a7d68;
    transition: transform 0.25s ease;
}
.meeting-filter-field.open .meeting-filter-trigger-arrow{ transform: rotate(180deg); }

/* 下拉面板 */
.meeting-filter-panel{
    display: none;
    position: absolute;
    top: calc(100% + 0.4vw);
    left: 0;
    z-index: 20;
    min-width: 100%;
    padding: 0.4vw 0;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 0.4vw;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.meeting-filter-field.open .meeting-filter-panel{ display: block; }

.meeting-filter-option{
    display: flex;
    align-items: center;
    gap: 0.6vw;
    padding: 0.45vw 1vw;
    font-size: 0.94vw;
    color: var(--text);
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.2s ease;
}
.meeting-filter-option:hover{ background: #f7f4ef; }
.meeting-filter-option.checked{ color: var(--primary); font-weight: 600; }
.meeting-filter-option input{
    width: 0.9vw;
    height: 0.9vw;
    min-width: 13px;
    min-height: 13px;
    accent-color: #d4c1a4;
    cursor: pointer;
}

/* ---------- 单位：椭圆开关 ---------- */
.meeting-unit-switch{
    position: relative;
    display: inline-flex;
    padding: 0.2vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2vw;
}
.meeting-unit-thumb{
    position: absolute;
    top: 0.2vw;
    left: 0.2vw;
    width: calc(50% - 0.2vw);
    height: calc(100% - 0.4vw);
    border-radius: 2vw;
    background: #bc9d6c;
    transition: transform var(--transition);
}
.meeting-unit-switch[data-unit="feet"] .meeting-unit-thumb{
    transform: translateX(100%);
}
.meeting-unit-btn{
    position: relative;
    z-index: 1;
    padding: 0.4vw 1.8vw;
    font-size: 0.94vw;
    color: var(--text);
    background: none;
    border: none;
    border-radius: 2vw;
    cursor: pointer;
    transition: color var(--transition);
}
.meeting-unit-btn.active{ color: #fff; }

.meeting-filter-reset{
    padding: 0.55vw 1.4vw;
    font-size: 0.94vw;
    color: var(--primary);
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2vw;
    cursor: pointer;
    transition: all var(--transition);
}
.meeting-filter-reset:hover{ background: #efe7d8; }

.meeting-filter-meta{
    margin-top: 0.8vw;
    padding-top: 0.7vw;
    border-top: 1px solid #e8e2d5;
    font-size: 0.94vw;
    color: var(--text-light);
    display: none;
}

.meeting-filter-empty{
    width: 100%;
    padding: 5vw 0;
    text-align: center;
    color: var(--text-light);
    font-size: 1.15vw;
}

/* ---------- 按楼层分组：每组横向排列，超过 2 个启用轮播 ---------- */
.meeting_venue-floor{ width: 85vw; margin-bottom: 2.6vw; }

.meeting_venue-floor-bar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.1vw;
    margin-bottom: 1.4vw;
}
.meeting_venue-floor-title{
    font-weight: 500;
    line-height: 1;
    color: var(--text);
}

/* 不超过 2 个：直接横向平铺 */
.meeting_venue-row{ display: flex; justify-content: space-between; flex-wrap: wrap; }

/* 轮播组：卡片宽度交由 slide 控制 */
.meeting_venue-swiper{ width: 100%; }
.meeting_venue-swiper .swiper-slide{ height: auto; }
.meeting_venue-swiper .meeting_venue-item{ width: 100%; margin-bottom: 0; }

/* 翻页箭头 */
.meeting_venue-nav{ display: flex; gap: 0.6vw; }
.meeting_venue-arrow{
    position: absolute;
    top: 30%;
    left: 3%;
    transform: translateY(-50%);
    width: 2.3vw;
    height: 2.3vw;
    min-width: 32px;
    min-height: 32px;
    cursor: pointer;
    z-index: 11;
    transition: all var(--transition);
}
.meeting_venue-next{left: auto; right: 6%;}

/* Swiper 在首尾自动置灰不可用箭头 */
.meeting_venue-arrow.swiper-button-disabled{ opacity: 0; cursor: default; }
.meeting_venue-arrow.swiper-button-disabled:hover{ background: transparent; }
.meeting_venue-arrow.swiper-button-disabled:hover::before{ color: #8a7d68; }


/* ================== 会议预定表单弹窗 ================== */
.meeting-popup{
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1100;
    background: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.meeting-popup.active{ display: flex; align-items: center; justify-content: center; padding: 2vw; }

.meeting-popup-panel{
    position: relative;
    width: 85%;
    background: #fff;
    padding: 2.6vw 10vw 3vw;
    border-radius: 4px;
}

.meeting-popup-close{
    position: absolute;
    top: 1.2vw;
    right: 1.4vw;
    width: 3.28vw;
    display: flex;
    cursor: pointer;
}


.meeting-popup-title{
    font-size: 1.45vw;
    font-weight: 500;
    margin-bottom: 0.4vw;
    color: var(--text);
}
.meeting-popup-required{
    font-size: 0.9vw;
    color: var(--text-light);
    margin-bottom: 1.6vw;
}
.meeting-popup-required span{color: #d44;}

.meeting-popup-form{ width: 100%; }
.meeting-popup-row{
    display: flex;
    gap: 1.2vw;
    margin-bottom: 1.1vw;

}
.meeting-popup-field{ flex: 1; min-width: 0;border: 1px solid #333;}

.meeting-popup-label{
    display: block;
    font-size: 0.83vw;
    color: var(--text);
    margin-bottom:0;
    margin-left: 0.8vw;
    padding-top: 0.2vw;
}
.meeting-popup-label span{
    color: #d44;
    margin-left: 0.2vw;
}

.meeting-popup-form input,
.meeting-popup-form select{
    width: 100%;
    padding: 0.55vw 0.8vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #fff;
    border-radius: 2px;
    outline: none;
    transition: border-color 0.2s ease;
}
.meeting-popup-form input::placeholder{ color: #333; }
.meeting-popup-form input:focus,
.meeting-popup-form select:focus{ border-color: #fff; }

.meeting-popup-form input:invalid:not(:placeholder-shown){ border-color: #d44; }


.meeting-popup-privacy{
    font-size: 0.68vw;
    line-height: 1.6;
    color: var(--text-light);
    margin-top: 0.6vw;
}

/* ---------- 电话号码：区号下拉 + 号码输入 复合控件 ---------- */
.meeting-popup-phone{
    display: flex;
    gap: 0.6vw;
}

.meeting-popup-phone-code{
    position: relative;
    flex: 0 0 12vw;
    max-width: 180px;
    min-width: 130px;
}

/* 原生 select 仅作为数据源与表单字段，界面由自定义面板呈现 */
.meeting-popup-phone-code > select{ display: none; }

.meeting-popup-phone input[type="tel"]{ flex: 1; min-width: 0; }

/* ---------- 区号自定义下拉：高度可控，约为原生下拉的一半 ---------- */
.meeting-popup-select-trigger{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4vw;
    width: 100%;
    padding: 0.55vw 0.8vw;
    font-size: 0.94vw;
    color: var(--text);
    background: #fff;
    border: 1px solid #fff;
    border-radius: 2px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}
.meeting-popup-select-trigger:hover{ border-color: #fff; }
.meeting-popup-select-trigger[aria-expanded="true"]{ border-color: #fff; }

.meeting-popup-select-text{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.meeting-popup-select-arrow{
    flex: 0 0 auto;
    width: 0;
    height: 0;
    border-left: 0.26vw solid transparent;
    border-right: 0.26vw solid transparent;
    border-top: 0.32vw solid #8a7d68;
    transition: transform 0.2s ease;
}
.meeting-popup-select-trigger[aria-expanded="true"] .meeting-popup-select-arrow{
    transform: rotate(180deg);
}

.meeting-popup-select-panel{
    position: absolute;
    top: calc(100% + 0.2vw);
    left: 0;
    z-index: 6;
    width: 17vw;
    min-width: 220px;
    padding: 0.4vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.meeting-popup-select-search{
    width: 100%;
    padding: 0.4vw 0.6vw;
    margin-bottom: 0.3vw;
    font-size: 0.83vw;
    color: var(--text);
    background: #faf7f1;
    border: 1px solid #e8e2d5;
    border-radius: 2px;
    outline: none;
}
.meeting-popup-select-search:focus{ border-color: var(--primary); }

/* 约 10 行可见（原生下拉约 20 行），超出滚动 */
.meeting-popup-select-list{
    max-height: 12vw;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.meeting-popup-select-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6vw;
    padding: 0.34vw 0.6vw;
    font-size: 0.83vw;
    color: var(--text);
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s ease;
}
.meeting-popup-select-item:hover{ background: #efe7d8; }
.meeting-popup-select-item.selected{
    background: #d4c1a4;
    color: #fff;
    font-weight: 600;
}
.meeting-popup-select-name{
    overflow: hidden;
    text-overflow: ellipsis;
}
.meeting-popup-select-code{ color: var(--text-light); }
.meeting-popup-select-item.selected .meeting-popup-select-code{ color: #fff; }

.meeting-popup-select-group{
    padding: 0.3vw 0.6vw;
    font-size: 0.73vw;
    font-weight: 600;
    color: var(--primary);
    background: #faf7f1;
}

.meeting-popup-select-empty{
    padding: 0.6vw;
    font-size: 0.83vw;
    color: var(--text-light);
    text-align: center;
}

/* ---------- 活动日期双月日历 ---------- */
.meeting-popup-field{ position: relative; }
.meeting-popup-date-display{
    cursor: pointer;
    caret-color: transparent;   /* 不可编辑，无需插入符 */
}

.meeting-popup-calendar{
    position: absolute;
    top: calc(100% + 0.2vw);
    left: 0;
    z-index: 5;
    width: 38vw;
    /*max-width: 560px;*/
    padding: 0.9vw 1.2vw;
    background: #fff;
    border: 1px solid #d4c1a4;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.meeting-popup-calendar-nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.6vw;
}
.meeting-popup-calendar-months{
    display: flex;
    gap: 5vw;
    font-size: 0.94vw;
    color: var(--text);
}
.meeting-popup-calendar-prev,
.meeting-popup-calendar-next{
    width: 1.6vw;
    height: 1.6vw;
    min-width: 22px;
    min-height: 22px;
    font-size: 1.1vw;
    line-height: 1;
    color: #8a7d68;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
}
.meeting-popup-calendar-prev:hover,
.meeting-popup-calendar-next:hover{ color: var(--primary); border-color: #d4c1a4; }

.meeting-popup-calendar-grids{
    display: flex;
    gap: 1.6vw;
}
.meeting-popup-calendar-grid{
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 0.78vw;
    color: var(--text);
}
.meeting-popup-calendar-weekday{
    padding: 0.3vw 0.1vw;
    margin-bottom: 0.45vw;
    color: var(--text-light);
    font-weight: 600;
    font-size: 0.72vw;
    letter-spacing: 0.12em;
}
.meeting-popup-calendar-day{
    padding: 0.5vw 0;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s ease;
}
.meeting-popup-calendar-day.blank{ cursor: default; }
.meeting-popup-calendar-day.disabled{
    color: #c9c1b0;
    cursor: not-allowed;
}
.meeting-popup-calendar-day:not(.blank):not(.disabled):hover{
    background: #efe7d8;
}
.meeting-popup-calendar-day.today{
    background: #f4ecdc;
    font-weight: 600;
}
.meeting-popup-calendar-day.selected{
    background: #d4c1a4;
    color: #fff;
    font-weight: 600;
}
.meeting-popup-calendar-day.selected:hover{ background: var(--primary); }

.meeting_venue-floor .swiper{overflow: unset;}

.erweima_box{position: fixed;width: 16vw;display: flex;justify-content: end;top:50%;right: 5%;z-index: 999;pointer-events: none;}
.erweima_box_img{width: 12.03vw;display: none;}

/* 默认隐藏按钮，滚过 Hero 横幅后（.is-visible）淡入显示；
   无 Hero 的页面由脚本直接加 .is-visible，保持原有常显行为 */
.erweima_box_btn{
    width: 3.23vw;
    margin-left: 1%;
    opacity: 0;
    visibility: hidden;
    transform: translateX(0.8vw);
    pointer-events: none;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
}
.erweima_box.is-visible .erweima_box_btn{
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
    cursor: pointer;
}

/* ================== 语言选择面板 ================== */
.lang-popup{
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1200;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.lang-popup.active{ opacity: 1; visibility: visible; }

.lang-popup-panel{
    position: absolute;
    top: 0; right: 0;
    height: 100%;
    width: 25vw;
    background: #fff;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.lang-popup.active .lang-popup-panel{ transform: translateX(0); }

/* 深色头部：关闭按钮 + 首选语言搜索 */
.lang-popup-head{
    position: relative;
    flex: none;
    background: #2b2b2b;
    padding: 3.51vw 2.08vw;
}
.lang-popup-close{
    position: absolute;
    top: 1.25vw; right: 1.25vw;
    width:1.2vw; height: 1.2vw;
    padding: 0;
    border: none;
    background: transparent;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}
.lang-popup-close:hover{ color: var(--primary); }
.lang-popup-close svg{ width: 100%; height: 100%; }

.lang-popup-search{
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.98vw;
    padding-bottom: 0.8vw;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}
.lang-popup-input{
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-family: inherit;
    color: #fff;
}
.lang-popup-input::placeholder{ color: rgba(255, 255, 255, 0.72); }
.lang-popup-input:focus::placeholder{
    opacity: 0.3;
}
.lang-popup-search-icon{ flex: none; display: flex; color: #fff;}
.lang-popup-search-icon svg{ width: 1.25vw; height: 1.25vw; }

/* 语言列表 */
.lang-popup-body{
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: #fff;
    padding: 0.4rem 0 2rem;
}
.lang-popup-body::-webkit-scrollbar{ width: 8px; }
.lang-popup-body::-webkit-scrollbar-track{ background: #f2f2f2; }
.lang-popup-body::-webkit-scrollbar-thumb{ background: #c4c4c4; border-radius: 4px; }

.lang-popup-list{ list-style: none; margin: 0; padding: 0 2.08vw; }
.lang-popup-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25vw 0;
    border-bottom: 1px solid #e8e8e8;
    color: var(--text);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.lang-popup-empty{
    padding: 2.4rem;
    font-size: 1.05rem;
    color: #999;
    text-align: center;
}


.vacation-text .vacation-btn1{
    display: inline-block;
    margin-top: 1.25vw;
}
.vacation-content-image{width: 72%;border: none;}

.highlights{display: flex;justify-content: space-between;flex-wrap: wrap;margin-top: 0.63vw;}
.highlights .highlight-item{width: 33.3%;display: flex;align-items: center;margin-bottom: 0.63vw;}
.highlights .highlight-item-icon{width: 1.04vw;margin-right: 0.3vw;}

.media-center{padding-top: 7.6vw;}

.footer-col-pc{display: block;}
.footer-col-mobile{display: none!important;}
/* ==========================================================================
   移动端适配（<=768px）
   背景：整站按 1920 设计稿以 vw 排版，窄屏下 vw 会等比缩小到不可读
         （例：.font-size-18 = 0.94vw，375px 屏上仅 3.5px；.room-card 32.5vw 仅 122px）。
   本段为纯 CSS 覆盖，不改动任何 HTML 内容与结构，仅在窄屏生效：
         1) 字号由 vw 改为固定 px，保证可读；
         2) 多列网格与固定 vw 宽度改为单列 / 全宽；
         3) 顶部导航压缩为单行（Logo + 汉堡），导航入口收进侧栏菜单。
   ========================================================================== */
@media (max-width: 768px) {

    .media-center{padding-top: 24.6vw;}

    .cp-icon{width: 3vw;margin-left:0;margin-right:0.7vw;}
    /* ---------- 1. 字号：vw -> px ---------- */
    .font-size-83{font-size:5.1875rem;}
    .font-size-56{font-size:6vw;margin-bottom:3vw;}
    .font-size-47{font-size:2.9375rem;}
    .font-size-42{font-size:6vw;}
    .font-size-38{font-size:2.375rem;}
    .font-size-35{font-size:2.1875rem;}
    .font-size-32{font-size:4.5vw;line-height: 1.5;}
    .font-size-30{font-size:6vw;}
    .font-size-28{font-size:1.75rem;}
    .font-size-24{font-size:4.5vw;line-height: 1.5;}
    .font-size-22{font-size:1.375rem;}
    .font-size-20{font-size:3.5vw;letter-spacing:.5px;}
    .font-size-18{font-size:3.5vw;letter-spacing:.5px;}
    .font-size-17{font-size:1.0625rem;}
    .font-size-16{font-size:3.5vw;}
    .font-size-15{font-size:3vw;}
    .font-size-14{font-size:3vw;}
    .font-size-12{font-size:3.5vw;}
    .art-show-popup-title .font-size-56{margin-bottom: 0;}
    .footer-col-pc{display: none!important;}
    /* ---------- 2. 全局容器 ---------- */
    body{padding-top:52px;}
    .container{width:100%;padding:0 20px;}
    .section{padding:3.5vw 0 0;}
    .section-header{margin-bottom:3vw;}
    .section-title{margin-bottom:3vw;font-size: 6vw!important;line-height: 1.2;}
    h2.font-size-42{margin-bottom:3vw;line-height:1.3;}
    h2.font-size-42 span{margin-left:10px;}
    .section-title .more{font-size:12px;}
    /* 首页简介：去掉文案里强制的 <br> 换行，改为两端对齐自然换行 */
    .section-sub{text-align:left;text-justify:inter-ideograph;}
    .section-sub br{display:none;}
    /* ---------- 3. 顶部导航：与 PC 一致的两行（Logo+图标 ｜ 汉堡+预定） ---------- */
    .site-header{height:96px;}
    .header-inner{height:52px;border-bottom:none;}
    .header-content{width:100%;padding:0 16px;}
    .logo{width:104px;}
    /* 右侧入口只显示图标，隐藏文字标签 */
    .header-content-right-item{margin-right:14px;}
    .header-content-right-item:last-child{margin-right:0;}
    .header-content-right-item-icon{width:18px;margin-right:0;}
    .header-content-right-item-txt{display:none;}
    .header-content-right-item-arrow-down{width:10px;margin-left:3px;}
    /* header-topbar 独占一行：左侧汉堡，右侧预定按钮（沿用 .book-btn 的 margin-left:auto） */
    .header-topbar{position:static;width:100%;height:44px;padding:0 16px;background:rgba(0,0,0,.8);}
    .main-nav{width:100%;height:44px;gap:0;}
    .main-nav a:not(.menu-btn):not(.book-btn){display:none;}   /* 窄屏只保留汉堡与预定 */
    .main-nav a.book-btn{height:30px;line-height:30px;padding:0 16px;border-radius:18px;}
    .main-nav .menu-btn img{width:24px;height:auto;}
    .top-book-btn{height:30px;padding:0 14px;font-size:12px;border-radius:18px;}

    /* 侧栏菜单（展开态） */
    .sidebar-nav{overflow-y: unset!important;}
    .sidebar-nav{padding:16px 20px;max-height:calc(100vh - 96px);overflow-y:auto;}
    .sidebar-nav-item{margin-bottom:14px;}
    .sidebar-nav-item .sidebar-nav-item-icon{width:20px;height:20px;}
    .sidebar-nav-item-sub{height:auto;flex-wrap:wrap;margin-top:8px;left:40vw;}
    .sidebar-nav-item-sub-item{height:auto;margin:0 16px 10px 0;}
    .sidebar-nav-item-sub-item a{font-size: 1rem!important;}
    .contact-us{right:20px;bottom:20px;}
    .contact-us-item .contact-us-item-icon{width:16px;}

    /* ---------- 4. Hero 横幅 ---------- */
    .hero{height:56vh;min-height:300px;}
    .hero-title{font-size:6vw;letter-spacing:2px;}
    .food-left,.food-right{width:32px;height:32px;top:48.5%;}

    /* ---------- 5. 酒店介绍（视频） ---------- */
    .intro{padding:4vw 0 0;}
    .intro-image{position:relative;width:100%;}
    .intro-image video{width:100%;height:auto;display:block;}
    .intro-image .play_btn{width:56px;height:56px;top:50%;transform:translate(-50%,-50%);}

    /* ---------- 6. 酒店客房（Swiper） ---------- */
    .rooms-grid{width:calc(100% - 40px);margin:0 20px;overflow: unset;}
    /* 卡片等高：取消 Swiper 幻灯片固定高度，靠 align-items:stretch 取「内容最多」的那张 */
    .rooms-grid .swiper-slide{height:auto;}
    .room-card{width:78vw;display:flex;flex-direction:column;}
    .room-info{min-height:0;padding:3.5vw 16px 0.75rem;flex:1 1 auto;}
    .room-info .room-text{margin-bottom:14px;}
    .room-info h3{margin-bottom:3vw;}
    .room-info p{min-height:0;}
    /* 「详情 / 预定」贴卡片底部：卡片等高时各卡片按钮落在同一水平线 */
    .room-actions{padding-top: 0.75rem;}
    .room-info .room-actions{padding-top: 0.75rem;
        margin-top: auto;position: relative;left: unset;bottom: unset;}
    .floor—pic{margin-left: 8vw;}
    .room-btn{height:30px;line-height:30px;padding:0 16px;border-radius:18px;}
    .rooms-scrollbar{height:4px;}
    /* 左右切换按钮：尺寸与美食天地板块一致，并在无 hover 的窄屏常显 */
    .rooms-left,.rooms-right{width:32px;height:32px;top:20%;display: none;}
    .rooms-left{left: 0.5%;}
    .rooms-right{right: 0.5%;}
    /* ---------- 7. 美食天地 / 更多精彩（Swiper） ---------- */
    .banquet{padding-bottom: 6vw;}
    .banquet-item{width:78vw;}
    .banquet-overlay{padding:16px;}
    .banquet-overlay h4{margin-bottom:12px;}
    /* 「查看更多」按钮：对齐客房「详情」按钮（.room-btn）的移动端样式 */
    .banquet-btn .banquet-btn-primary{height:30px;line-height:30px;padding:0 16px;border-radius:18px;font-weight:500;letter-spacing:1px;color:#000;background:#fff;}
    .banquet-left,.banquet-right{width:32px;height:32px;display: none;}

    /* ---------- 8. 会议活动 / 婚礼庆典 / 艺术空间：双列改单列 ---------- */
    .meeting{height:auto;padding:20px 0;margin-top:6vw;}
    .recreation{height:auto;padding:20px 0;}
    .vacation{height:auto;padding:20px 0;}
    .meeting-grid,.recreation-grid,.vacation-grid{grid-template-columns:1fr;gap:20px;padding:0;}
    /* 婚礼庆典：DOM 中文字在前、图片在后，单列后用 order 把图片提到上方 */
    .meeting-image{order:-1;}
    .meeting-text,.recreation-text,.vacation-text{padding:0 20px;}
    .recreation-image,.meeting-image,.vacation-image{padding:0 20px;box-shadow:unset;overflow: hidden;}
    .meeting-text .meeting-btn{margin-top:3vw;}
    .recreation-text .recreation-btn{margin-top:3vw;}
    .vacation{margin-bottom: 0;}
    .vacation-text .vacation-btn1{margin-top:3vw;}
    .section-btn-primary{height:30px;padding:0 16px;border-radius:18px;}

    /* ---------- 9. 页脚 ---------- */
    .site-footer{padding:24px 0 0;}
    .footer-grid{width:100%;grid-template-columns:1fr;gap:16px;padding:0 20px 20px;}
    .footer-col{display: flex;justify-content: center;}
    .footer-col-mobile{display: flex!important;flex-direction: column;align-items: center;}
    .footer-col-pc{display: none;}
    .footer-logo{width:140px;}
    .footer-bottom{width:100%;padding:16px 0;}
    .footer-bottom-nav a{width: 100%;}
    .footer-bottom-nav{width:100%;justify-content:center;flex-wrap:wrap;gap:8px 16px;padding:0 0 12px;}
    .footer-bottom p{padding:0 20px 12px;}

    /* ---------- 10. 客房预定弹窗：铺满整屏、无圆角 ---------- */
    .room-popup.active{padding:0;align-items:stretch;}
    .room-popup-panel{width:100%;height:100%;max-height:100%;padding:10vw 16px;border-radius:0;overflow-y:auto;}
    .room-popup-close{top:14px;right:14px;width:50px;}
    .room-popup-title{font-size:18px;margin-bottom:6px;}
    .room-popup-required{font-size:12px;margin-bottom:12px;}
    .room-popup-row{flex-direction:column;gap:12px;margin-bottom:12px;}
    .room-popup-label{font-size:12px;margin-left: 14px;}
    .room-popup-form input,
    .room-popup-form select{font-size:14px;padding:10px 12px;}

    /* 下拉：触发器文字与三角箭头图标改为合适大小 */
    .room-popup-select-trigger,
    .room-popup-guests-trigger{font-size:14px;padding:10px 12px;gap:10px;}
    .room-popup-select-arrow{border-left-width:5px;border-right-width:5px;border-top-width:6px;}
    .room-popup-guests-arrow{border-left-width:5px;border-right-width:5px;border-top-width:6px;}
    .room-popup-select-panel,
    .room-popup-guests-panel{min-width:0;width: calc(100% + 2px);left: -1px;}
    .room-popup-select-list{max-height:45vh;}
    .room-popup-select-item{padding:10px 12px;gap:10px;font-size:14px;}
    .room-popup-select-group{padding:8px 12px;font-size:12px;}
    .room-popup-select-empty{padding:16px;font-size:13px;}

    /* 住客（租客）选择：面板内文字与 +/- 按钮、确定按钮调整 */
    .room-popup-guests-panel{padding:12px;}
    .room-popup-counter-group{gap:14px;}
    .room-popup-counter{padding:12px 0;gap:12px;}
    .room-popup-counter-title{font-size:14px;line-height:1.4;white-space:normal;}
    .room-popup-counter-control{gap:12px;}
    .room-popup-counter-btn{width:32px;height:32px;min-width:32px;min-height:32px;font-size:18px;line-height:1;}
    .room-popup-counter-value{min-width:28px;font-size:16px;}
    .room-popup-guests-confirm{height:36px;margin-top:14px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;letter-spacing:1px;border-radius:18px;}
    .room-popup-phone{flex-direction:column;gap:0;}
    .room-popup-phone-code{flex:1 1 auto;width:100%;max-width:none;min-width:0;}

    /* 日期选择组件：双月上下排列，格子放大便于点按 */
    .room-popup-calendar{width:100%;min-width:0;padding:12px;max-height:70vh;overflow-y:auto;}
    .room-popup-calendar-nav{margin-bottom:10px;}
    .room-popup-calendar-months{gap:16px;font-size:14px;}
    .room-popup-calendar-prev,
    .room-popup-calendar-next{width:32px;height:32px;font-size:16px;}
    .room-popup-calendar-grids{flex-direction:column;gap:16px;}
    .room-popup-calendar-grid{font-size:14px;}
    .room-popup-calendar-weekday{font-size:12px;padding:6px 0;margin-bottom:6px;}
    .room-popup-calendar-day{padding:8px 0;}

    /* 价格与提交按钮 */
    .room-popup-price{font-size:15px;margin:18px 0 10px;}
    .room-popup-price span{font-size:22px;font-weight:700;}
    .room-popup-submit{width:100%;margin:16px 0 8px;border-radius:18px;}
    .room-popup-btn{width:100%;min-width:0;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:15px;letter-spacing:1px;border-radius:18px;}

    /* ---------- 11. 语言选择弹窗：满高抽屉，宽 60% ---------- */
    .lang-popup-panel{width:80%;}
    .lang-popup-head{padding:60px 16px;}
    .lang-popup-close{top:14px;right:14px;width:20px;height:20px;}
    .lang-popup-search{margin-top:16px;padding-bottom:10px;gap:10px;}
    .lang-popup-search-icon svg{width:20px;height:20px;}
    .lang-popup-list{padding:0 16px;}
    .lang-popup-item{padding:14px 0;}
    .lang-popup-empty{padding:32px 16px;font-size:14px;}

    /* ---------- 12. 浮动二维码：窄屏会遮挡内容，隐藏 ---------- */
    .erweima_box{display:none;}
    /* ---------- 13. 内页 KV 与内容区（客房详情 / 美食天地） ---------- */
    .recreation-content .container{padding:0;}
    .food-kv .container{padding:0;}
    .art-content .container{padding:0;}
    .wedding-content .container{padding:0;}
    .meeting-content .container{padding:0;}
    .food-title{padding-top: 3.5vw;padding-bottom: 0;}
    .food-content,
    .food-content1{flex-direction:column;flex-wrap:nowrap;gap:16px;padding-bottom:0;}
    .food-item{width:100%;margin-bottom:16px;}
    .food-item01{width:100%;margin-bottom:0;}
    .food-item01 .food-kv-text{height:auto;}
    .food-kv-text,
    .food-kv-text1{padding:3vw 16px;}
    .food-kv-text-menu{position: relative; display: inline-block;margin-top: 5%;}
    .food-item01 .food-kv-text{padding:3vw 0;}
    .food-item01 .food-kv-text1{padding:3vw 0;}
    .food-kv-text .font-size-24,
    .food-kv-text1 .font-size-24{margin:3vw 0;line-height: 1.5;}
    .food-show{display: flex;flex-direction: column;gap: 3vw;}
    .food-show-item{width: 100%;}
    .meeting_venue-text .font-size-24{margin:3vw 0;line-height: 1.5;}
    .food-kv-text-desc,
    .food-kv-text-desc1{margin-bottom:1.125rem;}
    .food-kv-text-btn{width:100%;margin-top:1.125rem;padding-top: 3vw;}
    .food-return{padding:3.5vw 0 0;}
    .food-return1{padding: 3.5vw 16px 0;}
    /* ---------- 14. 客房详情正文 ---------- */
    .room-content{flex-direction:column;flex-wrap:nowrap;padding-bottom:0;}
    .room-item01{width:100%;padding:3vw 0 3vw;}
    .tags{flex-wrap:wrap;gap:10px 18px;margin:16px 0;}
    .tags-item{margin-right:0;}
    .tags-item-icon{width:18px;height:18px;margin-right:6px;}
    .room-light-boxs{flex-direction:column;gap:18px;margin-top:3vw;}
    .room-light-boxs-item,
    .room-light-boxs-item:nth-child(1),
    .room-light-boxs-item:nth-child(2){width:100%;}
    .room-light-boxs-item:nth-child(1){border-right:none;border-bottom:1px solid #dddddd;padding-bottom:14px;}
    .room-light-title{margin-bottom:10px;}
    .room-light-point1{width:100%;}
    .room-light-point .room-light-point-item{margin-bottom:2vw;}
    .room-light-point .room-light-point-item:last-child{margin-bottom:0;}
    .room-light-point1 .room-light-point-item{width:50%;margin-bottom:2vw;}

    .room-order-rule{display: none;}

    /* ---------- 15. 客房列表页 ---------- */
    .food-kv-content{height:31vh;min-height:300px; }
    .food-kv-content .swiper-slide{width: 100%;height: 100%;}
    .food-kv-content .swiper-slide img{width: 100%!important;height: 100%;display: block;object-fit: cover;}
    .recreation-content-title,.activity-space-title,.room-title{padding-top: 3.5vw;padding-bottom: 0;}
    .recreation-content-grid-text .recreation-content-grid-btn{margin-top: 1.5rem;}
    .recreation-content-title{margin-bottom: 3vw;}
    .recreation-content02{margin-top: 5vw;}
    .recreation-content03{margin-top:  5vw;margin-bottom:  5vw;}
    .room-item{width:100%;margin-bottom:18px;}
    .room-kv-text-body{padding:3.5vw 24px 0.75rem;}
    .vacation-content-item-text .font-size-24{margin-bottom:1rem;}
    .room-kv-text-body .font-size-24{margin-bottom:3vw;}
    .activity-space-text .font-size-24{margin-bottom:3vw;}
    .room-kv-text-time{margin-top:3vw;}
    .room-kv-text-desc br{display:none;}
    .highlights{margin-top: 0.75rem;}
    .highlights .highlight-item{width:50%;margin-bottom: 0.5rem;}
    .highlights .highlight-item-icon{width:3.5vw;margin-right:6px;}
    .room-kv-text-btn-boxs{flex-wrap:wrap;gap:10px;padding-top: 0.75rem; }
    .rule-content-grid-text .section-title{margin-bottom: 1.25rem;}
    .rule-content-grid-text .rule-content-grid-btn{margin-top: 1.5rem;}

    /* ---------- 16. 预订须知 ---------- */
    .rule-content-grid{grid-template-columns:1fr;margin-bottom:24px;}
    .rule-content-grid-text{padding:3.75rem 16px;}

    /* ---------- 17. 会议 / 婚宴 / 康乐 / 度假 / 艺术：双列改单列 ---------- */
    /* 说明：统一用「grid 单列 + flex 纵向」，块级容器上这些属性会被忽略，不会误伤 */
    .meeting-content,
    .wedding-content,
    .recreation-content,
    .recreation-content01,
    .recreation-content02,
    .recreation-content03,
    .vacation-content,
    .vacation-content1,
    .vacation-list-box,
    .vacation-content-list,
    .art-content,
    .art-show,
    .art-show-content,
    .activity-space,
    .activity-space-content{grid-template-columns:1fr;flex-direction:column;flex-wrap:nowrap;gap:0;}
    .meeting-content-text,
    .wedding-content-text,
    .recreation-content-text{padding:3.5vw 16px 3vw;}
    .recreation-content-text1{padding:3vw 16px 3vw;}
    .meeting_venue-text{padding:0 16px 0.75rem!important;height:auto;}
    .meeting-content-des{width: 100% !important;}
    .wedding-content-des{width: 100% !important;}
    .activity-space-content1 .activity-space-image{width: 100%;}
    .activity-space-content1 .activity-space-text{width: 100%;}
    /* 康乐设施：水疗中心 / Salon —— 图片置顶、满宽，文字在下方 */
    .recreation-content-grid01,
    .recreation-content-grid02{display:flex;flex-direction:column;align-items:stretch;}
    .recreation-content-grid-image{order:-1;width:100%;}
    .recreation-content-grid-text{padding:3vw 16px;}
    /* 健身中心（.recreation-content-inset）：文字仍在上、图片在下，且图片宽度与「水幕环形泳池」一致
       —— 容器左右各留 20px，不通栏 */
    .recreation-content-inset .container{padding:0 20px;}
    .meeting-lianxi{position: relative;margin-top: 1rem;left:0;top:unset;}
    .vacation-content-title{padding:18px 0 10px;}
    .activity-space-title1{padding-top:5vw;}
    .art-show-item,
    .vacation-content-item,
    .activity-space-item{width:100%;margin-bottom:5vw;}
    .activity-space-content .activity-space-text{padding:4vw 24px 3vw;}
    .activity-space-content1 .activity-space-text{padding:4vw 24px 3vw;}
    .recreation-content-image{height:31vh;min-height:300px; }
    .recreation-content-image img{width: 100%!important;height: 100%;display: block;object-fit: cover;}
    .art-content-image{height:31vh;min-height:300px; }
    .art-content-image img{width: 100%!important;height: 100%;display: block;object-fit: cover;}
    .meeting-content-image{height:31vh;min-height:300px; }
    .meeting-content-image img{width: 100%!important;height: 100%;display: block;object-fit: cover;}
    .wedding-content-image{height:31vh;min-height:300px; }
    .wedding-content-image img{width: 100%!important;height: 100%;display: block;object-fit: cover;}
    .recreation-content-des{width: 100%!important;margin-bottom: 3vw!important;}
    .recreation-content-des br{display:none;}
    .recreation-content-des br:first-child{display:block;}
    .vacation-content-des{text-align: left;}
    .vacation-content-des br{display: none;}
    .vacation-content-text{padding: 3vw 0;}
    .vacation-btn{margin-bottom: 4vw;}
    .vacation-list-box{padding: 4vw 16px 0;margin-left: 0;height: auto;}
    .vacation-content-title{padding: 0;}
    .vacation-map-box{padding: 4vw 16px 4vw;width: 100%;}
    .vacation-content-list{width: 100%;height: 20rem;}
    .vacation-content-list .vacation-content-item{ padding: 3vw 24px 0.75rem;
        margin-bottom:5vw;}
    .vacation-content-list .vacation-content-item:last-child{margin-bottom: 0;}
    .vacation-content-list .vacation-content-item .room-actions{margin-top: 0.75rem;}
    /* 绝对定位的联系方式 / 营业时间在窄屏改为常规流，避免溢出屏幕 */
    .kangle-time,
    .wedding-lianxi{position:static;top:auto;left:auto;width:100%;margin-top:3vw;}
    .kangle-time{width: 100%!important;}
    /* 度假页 body 有额外的 padding-top，需与两行头部一致 */
    body.vacation-page{padding-top:96px;}
    /* 联系方式条目 */
    .lianxin-item{margin-bottom:10px;}
    .lianxin-item:last-child{margin-bottom:0;}
    .lianxin-item-icon{width:20px;margin-right:8px;}
    .kangle-time .lianxin-item-icon{width:14px;margin-right:11px;}
    .meeting_venue{width: 100%;overflow:hidden;}
    /* 会议场地筛选区：筛选行两列排布，下拉/单位/重置尺寸放大到可点按 */
    .meeting-filter{margin-bottom:5vw;}
    .meeting-filter-row{gap:10px;}                                   /* 取消旧的纵向堆叠，恢复换行两列 */
    .meeting-filter-field{flex:1 1 45%;min-width:0;}
    .meeting-filter-trigger{width:100%;min-width:0;padding:9px 12px;font-size:14px;gap:8px;}
    .meeting-filter-trigger-badge{min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px;}
    .meeting-filter-trigger-arrow{border-left-width:5px;border-right-width:5px;border-top-width:6px;}
    .meeting-filter-panel{top:calc(100% + 6px);padding:6px 0;max-height:50vh;overflow-y:auto;}
    .meeting-filter-option{gap:10px;padding:10px 12px;font-size:14px;white-space:normal;}
    .meeting-filter-option input{width:18px;height:18px;min-width:18px;min-height:18px;}
    .meeting-unit-switch{padding:3px;border-radius:20px;}
    .meeting-unit-thumb{top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:20px;}
    .meeting-unit-btn{padding:7px 18px;font-size:13px;border-radius:20px;}
    .meeting-filter-reset{padding:9px 16px;font-size:14px;border-radius:20px;}
    .meeting-filter-meta{margin-top:10px;padding-top:8px;font-size:13px;}
    .meeting-filter-empty{font-size:14px;padding:32px 0;}
    /* 场地列表：一行一个 */
    .meeting_venue-title{padding-top:3.5vw;padding-bottom: 0;}
    .meeting_venue-content{grid-template-columns:1fr;}
    .meeting_venue-floor{width:100%;margin-bottom:5vw;}
    .meeting_venue-floor-bar{padding-bottom:0;margin-bottom:5vw;}
    .meeting_venue-item{width:100%!important;margin-bottom:18px;}
    /* 卡片底部按钮行：与客房卡片保持一致——改为常规流、贴卡片底边，四周留白统一 16px */
    .meeting_venue-text{padding:14px 16px 16px;height:auto;display:flex;flex-direction:column;}
    /* 场地简介与按钮行之间留出间距 */
    .meeting_venue-text .font-size-18:not(.font-weight-700){margin-bottom:0.75rem;}
    .meeting_venue-box{position:static;left:auto;bottom:auto;width:100%;margin-top:auto;padding-top: 0.75rem;}
    .meeting_venue-nav{gap:10px;}
    .meeting_venue-arrow{width:32px;height:32px;display: none;}
    .meeting_venue-content1 .meeting_venue-image,
    .meeting_venue-content1 .meeting_venue-text{width:100%;}
    /* 轮播卡片等高：slide 拉伸到最高的一张，item 填满 slide，文字区撑开剩余高度 */
    .meeting_venue-swiper{width: 90%;margin-left: 0;}
    .meeting_venue-swiper .swiper-slide{display: flex;height: auto;}
    .meeting_venue-swiper .meeting_venue-item{width: 100%!important;height: 100%;display: flex;flex-direction: column;}
    .meeting_venue-swiper .meeting_venue-text{flex: 1 1 auto;}
    .meeting_venue-box-item{width: auto!important;}
    .food-kv-text-time{font-size: 3.5vw;}
    /* 美食详情：移动端简介与营业信息上下排列 */
    .food-kv-text-row{flex-direction: column;gap: 1rem;}
    .food-kv-text-row .food-kv-text-desc1,
    .food-kv-text-row .food-kv-text-desc{flex: 0 0 auto;width: 100%;margin-bottom: 0;}
    .food-kv-text-row .food-kv-text-time{column-gap: 1.25rem;row-gap: 0.5rem;}
    .food-kv-text-time-list{column-gap: 1rem;row-gap: 0.4rem;}
    .pc-show{display: none!important;}

    /* ---------- 18. 艺术空间页 ---------- */
    .art-grid{grid-template-columns:1fr;gap:16px;}
    .art-content-text{padding:3.5vw 16px 3vw;}
    .art-show-text h3{margin-bottom: 3vw;}
    .art-show-content{flex-direction:column;gap:0;padding-bottom:0;}
    .art-show-title{padding:3.5vw 0 0;}
    .art-show-item{width:100%;}
    .art-show-text{padding:3vw 16px 0.75rem;}
    .offers-title{margin-top: 0!important;}

    /* ---------- 19. 图片浏览弹窗（pic-show / art-show） ---------- */
    .pic-show{padding-bottom:0;}
    /* 图片库：移动端两列瀑布流（wedding 与客房详情页图库通用，多列布局自动平衡两列高度） */
    .pic-show-content{display:block;column-count:2;column-gap:8px;}
    /* 打散分栏容器（box1/2/3 属 wedding，box11/22 与 item7 属客房详情页），让图片直接进入两列 */
    .pic-show-content-box1,
    .pic-show-content-box2,
    .pic-show-content-box3,
    .pic-show-content-box11,
    .pic-show-content-box22,
    .pic-show-content-item7{display:contents;}
    .pic-show-content-item1,
    .pic-show-content-item2,
    .pic-show-content-item4,
    .pic-show-content-item5,
    .pic-show-content-item6,
    .pic-show-content-item8,
    .pic-show-content-item9{width:100%;height:auto;}
    /* 图片不被分列切断 */
    .pic-show-content-item{margin-bottom:8px;break-inside:avoid;-webkit-column-break-inside:avoid;}
    /* 启用 JS 瀑布流（js/pic-show-masonry.js）后：改为 flex 两列，列容器由 JS 生成，两列底部对齐 */
    .pic-show-content.js-masonry{display:flex;column-count:auto;gap:8px;align-items:flex-start;margin-bottom: 20px;}
    .pic-show-content.js-masonry .pic-show-col{flex:1 1 0;min-width:0;}
    .pic-show-content.js-masonry .pic-show-content-item:last-child{margin-bottom:0;}
    /* 图片库弹窗：一屏一张、图片满宽并上下居中；关闭按钮 / 翻页箭头 / 计数随屏宽缩放 */
    .pic-show-popup.active{display:flex;flex-direction:column;justify-content:center;}
    .pic-show-popup-content{width:100%;margin:0;padding:0;}
    .pic-show-popup-close{position:fixed;top:14px;right:14px;width:14vw;height:auto;}
    .art-show-popup-close{position:fixed;top:14px;right:14px;width:12vw;height:auto;}
    .pic-show-popup-nav{gap:16px;margin:12px auto 20px;justify-content:center;}
    .pic-show-popup-arrow{width:3vw;height:auto;}
    .pic-show-popup-counter{font-size:4vw;gap:6px;}
    .art-show-popup-content{width:100%;margin:0;padding:3rem 16px;height:100%;overflow-y:auto;justify-content: start;}
    .art-show-popup-title{margin:3vw 0;}

    /* ---------- 20. 会议预定弹窗 ---------- */
    .meeting-popup.active{padding:0;align-items:stretch;}
    .meeting-popup-panel{width:100%;height:100%;max-height:100%;padding:10vw 16px;border-radius:0;overflow-y:auto;}
    .meeting-popup-close{top:14px;right:14px;width:14vw;}
    .meeting-popup-title{font-size:18px;margin-bottom:6px;}
    .meeting-popup-required{font-size:12px;margin-bottom:12px;}
    .meeting-popup-row{flex-direction:column;gap:12px;margin-bottom:12px;}
    .meeting-popup-label{font-size:12px;margin-left:12px;}
    .meeting-popup-form input,
    .meeting-popup-form select,
    .meeting-popup-select-trigger{font-size:14px;padding:10px 12px;}
    .meeting-popup-select-trigger{gap:10px;}
    .meeting-popup-select-arrow{border-left-width:5px;border-right-width:5px;border-top-width:6px;}
    .meeting-popup-select-panel{width:100%;min-width:0;}
    .meeting-popup-select-list{max-height:45vh;}
    .meeting-popup-select-search{font-size:14px;padding:10px;}
    .meeting-popup-select-item{padding:10px 12px;gap:10px;font-size:14px;}
    .meeting-popup-phone{flex-direction:column;gap:0;}
    .meeting-popup-phone-code{width:100%;max-width:none;min-width:0;}
    .meeting-popup-calendar{width:100%;padding:12px;max-height:70vh;overflow-y:auto;}
    .meeting-popup-calendar-grids{flex-direction:column;gap:16px;}
    .meeting-popup-calendar-months{gap:16px;font-size:14px;}
    .meeting-popup-calendar-prev,
    .meeting-popup-calendar-next{width:32px;height:32px;font-size:16px;}
    .meeting-popup-calendar-grid{font-size:14px;}
    .meeting-popup-calendar-weekday{font-size:12px;padding:6px 0;margin-bottom:6px;}
    .meeting-popup-calendar-day{padding:8px 0;}
    .meeting-popup-submit{width:100%;margin:16px 0 8px;border-radius:18px;}
    .meeting-popup-btn{width:100%;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;letter-spacing:1px;border-radius:18px;}
    .meeting-popup-privacy{font-size:12px;margin-top:10px;}
    .recreation-content-des1{text-align: left;}
}
