/* 通用 */
* {
    padding: 0;
    margin: 0;
    border: 0;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

input,
select,
button {
    outline: 0;
}

button {
    border: 0;
    background-clip: padding-box;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

img {
    border: none;
    vertical-align: baseline;
}

textarea,
input {
    word-wrap: break-word;
    word-break: break-all;
}

span,
p,
div {
    word-wrap: break-word;
}

.lf {
    float: left;
}

.rt {
    float: right;
}

html,
body,
div,
p,
ul,
ol,
li {
    list-style: none;
}

body {
    overflow: auto !important;
    position: sticky !important;
}

/* 锁定底层屏幕：当弹出一个自定义或自带的弹窗时，切断它的上下滚动能力 */
body.no-scroll {
    overflow: hidden !important;
}

a {
    text-decoration: none;
    cursor: pointer;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden
}

@font-face {
    font-family: 'MyTTFFont';
    src: url('../../../../fonts/font1.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

html {
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0 auto;
}

.section {
    width: 100%;
    height: 100%;
}

#fullpage {
    height: 100%;
}

.popup {
    /* 核心：让Popup居中显示 */
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) scale(0) !important;
    /* 初始缩放到0，准备动画 */
    -webkit-transform: translate(-50%, -50%) scale(0);
    width: 50% !important;
    height: 50% !important;
    /* 自定义宽度，按需调整 */
    max-width: 20rem;
    background: transparent !important;
}

.popup.modal-out {
    transform: translate(-50%, -50%) scale(0) !important;
}

.popup.modal-in {
    transform: translate(-50%, -50%) scale(1) !important;
    /* 缩放至1，居中显示 */
    -webkit-transform: translate(-50%, -50%) scale(1) !important;
}

/* 可选：遮罩层样式（保持默认即可） */
.popup-overlay {
    background: rgba(0, 0, 0, 0.6) !important;
}

/*
.page {
  background-color: #0a385c !important;
} */

/* html {
  font-size: calc(100 / 750 * 100vw) !important;
} */
.swiper {
    position: relative;
}

.swiper .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
}

.index {
    width: 20rem;
    height: 60.9333rem;
    background: url(../../../../images/m/activity/reservation/index.jpg) center no-repeat;
    background-size: 100% 100%;
    position: relative;
    padding-top: .48rem;
}

.header {
    width: 100%;
    padding-left: .4533rem;
    padding-right: .4533rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header .header-right {
    display: flex;
    align-items: center;
}

.header .header-right>a:nth-child(1) {
    display: inline-block;
    background: url("../../../../images/m/activity/reservation/btn-user.png");
    background-size: 100% 100%;
    width: 1.8933rem;
    height: 1.8933rem;
}

.header .header-right>a:nth-child(2) {
    display: inline-block;
    background: url("../../../../images/m/activity/reservation/index.png");
    background-size: 100% 100%;
    width: 4.2133rem;
    height: 1.4133rem;
    margin-left: .4533rem;
}

.header > a {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/logo.png);
    background-size: 100% 100%;
    width: 5.4933rem;
    height: 2.8533rem;
}

.card1 {
    background: url(../../../../images/m/activity/reservation/card-top.png);
    background-size: 100% 100%;
    width: 18.4267rem;
    height: 11.6533rem;
    text-align: center;
    padding-top: 4.8333rem;
    margin: auto;
    margin-top: 18.6667rem;
}

.card1-p {
    color: #e1f2fd;
    font-size: .64rem;
    line-height: 1.3;
}

.card1-a {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/btn-yy.png);
    background-size: 100% 100%;
    width: 10.6933rem;
    height: 3.04rem;
    margin-top: .4333rem;
}

.card1-a.geted {
    background: url(../../../../images/m/activity/reservation/btn-yy-geted.png) !important;
    background-size: 100% 100% !important;
}

.card2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1.6333rem;
}

.card2 > img {
    width: 18.1067rem;
    height: 4rem;
}

.card2-btn {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding-right: .8rem;
    margin-top: -0.4267rem;
}

.card2-btn > a {
    background: url(../../../../images/m/activity/reservation/btn-sm.png);
    background-size: 100% 100%;
    width: 3.84rem;
    height: 1.12rem;
}

.card2-title {
    background: url(../../../../images/m/activity/reservation/card1.png);
    background-size: 100% 100%;
    width: 18.6667rem;
    height: 3.8933rem;
    margin: auto;
    margin-top: .1333rem;
    padding: 1.0667rem 0 0 .7467rem;
    display: flex;
    color: #206da3;
    font-size: .48rem;
}

.card2-title img {
    background: url(../../../../images/m/activity/reservation/icon-ju.png);
    background-size: 100% 100%;
    width: .32rem;
    height: .32rem;
    margin: .1333rem .2667rem 0 0;
}

.card3-top {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0 .5333rem;
    margin-top: -0.8333rem;
}

.card3-top p {
    font-family: 'MyTTFFont', Arial, sans-serif;
    font-size: 1.04rem;
    color: #fff;
    letter-spacing: .0267rem;
    -webkit-text-stroke: .2667rem transparent;
    background-image: linear-gradient(to bottom, #6ad0f6, #058ce4);
    -webkit-background-clip: text;
    background-clip: text;
    text-shadow: none;
}

.card3-top span {
    font-size: 2.7467rem;
    color: #fff36b;
}

.card3-top > a {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/btn-jl.png);
    background-size: 100% 100%;
    width: 5.6533rem;
    height: 1.7333rem;
    margin-top: 1.4rem;
}

.card-top {
    display: flex;
    width: max-content;
    padding: 0 0 0 .5333rem;
}

.card-top > a {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/card-bottom.png);
    background-size: 39.4933rem;
    width: 4.26rem;
    height: 6.4rem;
    margin-right: 0.77033rem;
    flex-shrink: 0;
    background-repeat: no-repeat;
}

.card-top > a.geted {
    background-position-y: -10.7rem;
}

.card-top > a:nth-child(1) {
    background-position-x: -0.0667rem;
}

.card-top > a:nth-child(2) {
    background-position-x: -5.0rem;
}

.card-top > a:nth-child(3) {
    background-position-x: -10.1333rem;
}

.card-top > a:nth-child(4) {
    background-position-x: -15.1067rem;
}

.card-top > a:nth-child(5) {
    background-position-x: -20.1rem;
}

.card-top > a:nth-child(6) {
    background-position-x: -25.133rem;
}

.card-top > a:nth-child(7) {
    background-position-x: -30.0667rem;
}

.card-top > a:nth-child(8) {
    background-position-x: -35.1rem;
}

.card-view {
    width: 20rem;
    height: 9.26rem;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: auto;
    cursor: grab;
    user-select: none;
    position: relative;
}

.card-view::-webkit-scrollbar {
    display: block;
    height: 0.16rem;
    border-radius: 0.16rem;
    /* 设置细滚动条（约6px高） */
    -webkit-appearance: none;
    /* 强制覆盖原生样式，阻止自动隐藏 */
}

.card-view::-webkit-scrollbar-track {
    background-color: #ffffff;
    border-radius: 0.16rem;
    margin-left: .8333rem;
    padding-right: 2.6667rem;
}

/* 亮蓝色的滑块 */
.card-view::-webkit-scrollbar-thumb {
    background-color: #38e1ff;
    border-radius: 0.16rem;
}

.card-line {
    width: 35.5933rem;
    height: .4267rem;
    background-color: #cfccc5;
    border: .0533rem solid #fff;
    margin-top: 0.9867rem;
    margin-left: 2.4rem;
    position: relative;
}

.node-items {
    position: absolute;
    width: 100%;
    height: 100%;
    top: -0.7133rem;
    left: 0;
    pointer-events: none;
}

.node-item {
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2.7467rem;
    height: 4.24rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: .9333rem;
    font-size: .6133rem;
    color: #fff;
    text-shadow: 0 0 .1067rem #048dfd, 0 0 .1067rem #048dfd, 0 0 .1067rem #048dfd;
}

/* 使用 ::before 承载原本的父级背景，置于 -1 层级 */
.node-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../../../../images/m/activity/reservation/icon-y.png);
    background-size: 100% 100%;
    z-index: -1;
}

/* 此时 ::after 的 z-index 设为 -2 就能自然被 ::before 遮挡在最下面 */
.node-item.active::after {
    content: "";
    position: absolute;
    bottom: .6967rem;
    left: 0.07667rem;
    background: url(../../../../images/m/activity/reservation/icon-y-geted.png) center no-repeat;
    background-size: 100% 100%;
    z-index: -2;
    width: 2rem;
    height: 1.4933rem;
}

.card-line-yellow {
    width: 10%;
    height: 100%;
    background-color: #ffd132;
}

.btn-bottom {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/btn-fx.png);
    background-size: 100% 100%;
    width: 10.6933rem;
    height: 3.04rem;
    margin-top: .2667rem;
}


.a-16 {
    padding-left: 1.0667rem;
    margin-top: 1.0667rem;
}

.a-16 a {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/16+.png);
    background-size: 100% 100%;
    width: 1.7333rem;
    height: 2.32rem;
}


.popup-title {
    color: #666666;
    font-size: .3733rem;
    line-height: 1.3;
}

.popup-title > p {
    padding-left: 1.86rem;
    color: #206da3;
    font-size: .48rem;
    height: 13.7067rem;
    overflow-y: scroll;
}


.popup-center {
    background: url(../../../../images/m/activity/reservation/popup1.png) !important;
    background-size: 100% 100% !important;
    width: 18.5333rem !important;
    height: 18.5333rem !important;
}

.popup-center-top1 {
    height: 3.14rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .7467rem;
    position: relative;
    margin-bottom: .4033rem;
}

.close-icon {
    width: .7467rem;
    height: .7467rem;
    position: absolute;
    top: 1.6667rem;
    right: 1.2867rem;
}


.popup-ewm {
    background: url(../../../../images/m/activity/reservation/popup-2.png) !important;
    background-size: 100% 100% !important;
    width: 19.7333rem !important;
    height: 15.28rem !important;
    position: relative;
}

.close-ewm {
    width: .7467rem;
    height: .7467rem;
    position: absolute;
    top: 1.2667rem;
    right: 2.2867rem;
}

.ewm-box {
    width: 6.2133rem;
    height: 6.24rem;
    background: url(../../../../images/m/activity/reservation/bg-ewm.png) center no-repeat;
    background-size: 100% 100%;
    margin: auto;
    margin-top: 2.4667rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ewm-box-xz {
    text-align: center;
    margin-top: .1333rem;
}

.ewm-box-download {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/btn-hb.png) center no-repeat;
    background-size: 100% 100%;
    width: 4.1867rem;
    height: 1.36rem;
}

.ewm-bottom {
    text-align: center;
}

.ewm-bottom>a {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/icon-wb.png) center no-repeat;
    background-size: 100% 100%;
    width: .88rem;
    height: .7467rem;
}

.ewm-bottom>a:nth-child(2) {
    display: inline-block;
    background: url(../../../../images/m/activity/reservation/icon-QQ.png) center no-repeat;
    background-size: 100% 100%;
    width: .96rem;
    height: .9067rem;
    margin-left: 1.0667rem;
}

.ewm-box img {
    width: 5.6533rem;
    height: 5.6533rem;
}

.ewm-box-p {
    width: 16.1867rem;
    height: 1.28rem;
    border-radius: 1.28rem;
    border: 1px solid #1a7ebd;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #2571a4;
    font-size: .46rem;
    margin: auto;
    margin-top: 0rem;
}

.ewm-box-a {
    display: inline-block;
    margin: auto;
    margin-top: .1467rem;
    margin-bottom: .1333rem;
    background-color: #1a7ebd;
    width: 6.2933rem;
    height: 1.5467rem;
    border-radius: 1.5467rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #cffafd;
    font-size: .64rem;
}

.toast {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 20005 !important;
}

.custom-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 20000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.custom-overlay.show {
    opacity: 1;
    pointer-events: auto;
}

.custom-popup {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 20rem;
    height: 23.9rem;
    background-color: #ffffff;
    z-index: 20001;
    border-radius: .5333rem .5333rem 0 0;
    transform: translateY(100%);
    transition: transform 0.3s ease-out;
}

.custom-popup.show {
    transform: translateY(0);
}

.bag-header {
    position: relative;
    height: 2.1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bag-title {
    background: url(../../../../images/m/activity/reservation/popup-title.png) no-repeat center;
    background-size: 100% 100%;
    width: 4rem;
    height: 1.1rem;
}

.bag-close-icon {
    position: absolute;
    right: .8rem;
    top: .65rem;
    width: .8rem;
    height: .8rem;
    cursor: pointer;
}

.bag-list {
    padding: .2rem 0.6rem .2rem 0.4rem;
    height: calc(100% - 2.1rem);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.bag-item {
    display: flex;
    align-items: center;
    padding: .4rem 0;
}

.bag-icon {
    width: 3rem;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bag-icon img {
    object-fit: contain;
}

.bag-info {
    flex-grow: 1;
    padding-left: .6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bag-name {
    color: #206da3;
    font-size: .7467rem;
    font-weight: 600;
}

.bag-code {
    display: none;
    color: #206da3;
    font-size: .64rem;
    margin-top: .1rem;
}

.bag-btn-copy {
    display: none;
    width: 4.1067rem;
    height: .8267rem;
    background: url(../../../../images/m/activity/reservation/btn-fz.png) no-repeat center;
    background-size: 100% 100%;
    flex-shrink: 0;
    cursor: pointer;
}

.bag-item.unlocked .bag-code,
.bag-item.unlocked .bag-btn-copy {
    display: block;
}
#invite-qrcode {
    width: 5.65rem;
    height: 5.65rem;
}
#invite-qrcode img,
#invite-qrcode canvas,
#invite-qrcode table{
    width: 100% !important;
    height: 100% !important;
}
a.geted {
    pointer-events: none;
}
