/***============ ziranxunzong.com default_style ============***/
:root {
	--font-sans: 'AliFangYuan', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', sans-serif;/*-- 页面默认字体阿里妈妈方园体 --*/
    --container-margin: clamp(10px, 0.555vw + 8.34px, 15px);
    --container-padding: clamp(10px, 0.555vw + 8.34px, 15px);
    --logo-padding: clamp(2rem, 4vw + 0.8rem, 5.6rem);
    --banner-text-paddingTD: clamp(2.85rem, 10.444vw - 0.2828rem, 12.25rem);
    --banner-text-paddingLR: clamp(1rem, 1.666vw + 0.5008rem, 2.5rem);
    --banner-text-font-size: clamp(1.3rem, 3.888vw + 0.1344rem, 4.8rem);
    --banner-nav-width: clamp(1.5rem, 1.111vw + 1.1667rem, 2.5rem);
    --banner-nav-height: clamp(2.1rem, 1.555vw + 1.6335rem, 3.5rem);
    --nav-menu-a: clamp(1.6rem, 0.444vw + 1.4668rem, 2rem);
    --nav-submenu-a: clamp(1.5rem, 0.111vw + 1.4668rem, 1.6rem);
    --nav-submenu-suba: clamp(1.4rem, 0.111vw + 1.3668rem, 1.5rem);
    --nav-submenu-bg: rgba(0, 0, 0, 0.65);
    --booking-img-h4: clamp(1.7rem, 2.111vw + 1.0667rem, 3.6rem);
    --booking-img-p: clamp(1.5rem, 0.555vw + 0.3335rem, 2rem);
    --about-title-padding: clamp(3rem, 4.444vw + 1.6668rem, 7rem);
    --about-title-h3: clamp(1.7rem, 2.111vw + 1.0667rem, 3.6rem);
    --about-text-h4: clamp(1.6rem, 0.888vw + 0.5336rem, 2.4rem);
    --about-text-p: clamp(1.5rem, 0.555vw + 0.3335rem, 2rem);
    --cruise-tour-label: clamp(1.3rem, 0.333vw + 0.2001rem, 1.6rem);
    --cruise-tour-btn:clamp(1.3rem, 0.222vw + 0.1334rem, 1.5rem);
    --section-text-w3l-UD-padding: clamp(3rem, 1.111vw + 2.6677rem, 4rem);
    --section-text-w3l-LR-padding: clamp(1rem, 1.111vw + 0.6677rem, 2rem);
    --section-main-all-padding: clamp(1rem, 2.222vw + 0.3354rem, 3rem);
    --section-main-all-margin: clamp(1rem, 3.333vw + 0.0004rem, 4rem);
    --product-title-h3: clamp(1.6rem, 0.666vw + 1.4008rem, 2.2rem);
    --product-description-p: clamp(1.4rem, 0.222vw + 1.3336rem, 1.6rem);
    --paragraph-size-20-26: clamp(2rem,  0.666vw + 1.4008rem, 2.6rem);
    --paragraph-size-18-22: clamp(1.8rem, 0.444vw + 1.6672rem, 2.2rem);
    --paragraph-size-16-22: clamp(1.6rem, 0.666vw + 1.4008rem, 2.2rem);
    --paragraph-size-16-18: clamp(1.6rem, 0.222vw + 1.5336rem, 1.8rem);
    --paragraph-size-15-17: clamp(1.5rem, 0.222vw + 1.4336rem, 1.7rem);
    --h2-size-22-32: clamp(2.2rem, 1.111vw + 1.8668rem, 3.2rem);
    --h2-size-16-30: clamp(1.6rem, 1.555vw + 1.134rem, 3rem);
    --h4-size-18-24: clamp(1.8rem, 0.666vw + 1.6008rem, 2.4rem);
    --h4-size-18-20: clamp(1.8rem, 0.222vw + 1.7336rem, 2rem);
    --h4-size-16-20: clamp(1.6rem, 0.444vw + 1.4672rem, 2rem);
    --h4-size-16-18: clamp(1.6rem, 0.222vw + 1.5336rem, 1.8rem);
    --h4-size-12-16: clamp(1.2rem, 0.444vw + 1.0672rem, 1.6rem);
    --h4-size-10-14: clamp(1rem, 0.444vw + 0.8672rem, 1.4rem);
    --padding-up-down: clamp(2rem, 2.222vw + 1.3336rem, 4rem);
    --padding-left-right: clamp(1rem, 3.333vw + 0.0004rem, 4rem);
    --main-carousel-container-padding: clamp(9px, 12.5vw - 51px, 99px);
    --highlight-carousel-container-padding: clamp(9px, 8.333vw - 30.996px, 69px);
    --highlight-slide-img-height: clamp(234px, 36.944vw + 56.672px, 500px);
    --highlight-carousel-counter-bottom: clamp(5px, 1.388vw - 1.656px, 15px);
    --highlight-carousel-counter-right: clamp(5px, 2.083vw - 4.996px, 20px);
    --highlight-carousel-counter-padding-UD: clamp(5px, 0.416vw + 3.008px, 8px);
    --highlight-carousel-counter-padding-LR: clamp(12px, 1.111vw + 6.668px, 20px);
    --highlight-carousel-counter-font-size: clamp(1.2rem, 0.277vw + 1.0676rem, 1.4rem);
    --highlight-current-slide-font-size: clamp(1.4rem, 0.277vw + 1.2676rem, 1.6rem);
    --fullscreen-counter-padding-UD: clamp(5px, 0.694vw + 1.672px, 10px);
    --fullscreen-counter-padding-LR: clamp(15px, 1.388vw + 8.344px, 25px);
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	font-family: var(--font-sans);
    font-size: 10px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    color: 333;
    line-height: 1.42857143;
    letter-spacing: 1px;
    background-color: #fff;
    
}
body a {
	transition: 0.5s all;
	-webkit-transition: 0.5s all;
	-moz-transition: 0.5s all;
	-o-transition: 0.5s all;
	-ms-transition: 0.5s all;
	text-decoration: none;
    background-color: transparent;
}
body a:hover {
	text-decoration: none;
}
body a:active, a:focus, a:hover {
	text-decoration: none;
	outline:none;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
	line-height: 2;
	font-size: 1.4rem;
	color:#222;
}
ul {
	margin: 0;
	padding: 0;
}
label {
	margin: 0;
}
img {
    vertical-align: middle;
    border: 0;
}

.container {
    padding-right: var(--container-padding);
    padding-left: var(--container-padding);
    margin-right: auto;
    margin-left: auto;
    max-width: 1170px;
}
@media screen and (max-width: 1200px) {
    .container {
        margin-right: var(--container-margin);
        margin-left: var(--container-margin);
    }
}
.text-center {
	text-align: center;
}
.body-subpage-BG {
    background:linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(../images/galapagos-body-bg.webp) no-repeat center fixed;
    /*background-attachment: fixed;*/
    background-size:cover;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
}

/*================================================
    page_index，两个主地区Galapagos和Amazon
    故使用每个单词前三个字母合成home页的主
    词根galama-*，构成home页的各部分类名，
    如：galama-header、galama-footer等……
================================================*/

/*========== galama_header ==========*/
.galama-header {
	background-image: url(../images/header-BG.webp);
    background-attachment: fixed;
    background-size: cover;
    -webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media (max-width: 992px) {
    .galama-header {
        background-size: contain;
        -webkit-background-size: contain;
        -moz-background-size: contain;
        -o-background-size: contain;
        -ms-background-size: contain;
        background-position: 0 0;
    }
}
/*-- galama_home_logo --*/
.galama-home-logo {
	padding: var(--logo-padding) 0 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
.galama-home-logo a {
    flex-basis: auto;
	font-size: 1.4rem;
	color:#fff;
	position: relative;
	text-transform: capitalize;
}
.galama-home-logo a img {
    width: 100%;
    padding: 0 4rem;
}
/*-- galama_banner --*/
.galama-banner-text {
    padding: var(--banner-text-paddingTD) var(--banner-text-paddingLR);
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
.galama-banner-text h3 {
    flex: 0 1 auto;
	color: #fff;
    font-size: var(--banner-text-font-size);
	margin: 0;
	font-weight: 700;
    line-height: 1.1;
	text-transform: capitalize;
	/*letter-spacing: 2px;*/
}
    /*-- slider --*/
.events {
	list-style: none;
}
.callbacks_container {
	position: relative;
	float: none;/*left;*/
	width: 100%;
    display: flex;
    align-items: center;
}
.callbacks {
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	padding: 0;
	margin: 0;
}
.callbacks li {
	position: absolute;
	width: 100%;
}
.callbacks_nav {
    position: absolute;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    /*bottom: 43%;*/
    left: 0;
    z-index: 3;
    text-indent: -9999px;
    overflow: hidden;
    text-decoration: none;
    background: url(../images/prev.png) right 0px;
    width: var(--banner-nav-width);
    height: var(--banner-nav-height);
    background-size: cover;
}
.callbacks_nav:hover{
	opacity: 0.3;
}
.callbacks_nav.next {
    left: auto;
    background: url(../images/next.png) left 0px;
    right: 0;
    background-size: cover;
}
.callbacks_nav.prev {
    right: auto;
    left: 0;
}
.callbacks_tabs{
	list-style: none;
	position: absolute;
	top: 90%;
	left: 48%;
	padding: 0;
	margin: 0;
	display: block;
	z-index: 999;
}
.slider-top span{
	font-weight:600;
}
.callbacks_tabs li{
    display: none;
    margin: 0;
}
.callbacks_tabs a{
 visibility: hidden;
}
.callbacks_tabs a:after {
	content: "\f111";
	font-size: 0;
	font-family: FontAwesome;
	visibility: visible;
	display: block;
	height: 10px;
	width: 10px;
	display: inline-block;
	background: rgba(255, 255, 255, 0.14);
	border: 2px solid #ffffff;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-o-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
}
.callbacks_here a:after{
    background: #ff5301;
    border: 2px solid #ff5301;
}
    /*-- //slider --*/

/*========== galama_navigation ==========*/
.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-image: url(../images/header-BG.webp);
    background-attachment: fixed;
    background-size: cover;
    -webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
@media (max-width: 992px) {
    .navbar {
        background-size: contain;
        -webkit-background-size: contain;
        -moz-background-size: contain;
        -o-background-size: contain;
        -ms-background-size: contain;
        background-position: 0 0;
    }
}
.navbar.sticky-at-top {
    background-image: none !important;
    background-color: rgba(0, 0, 0, 0.65);
}
body.sub-page-mode .navbar {
    background-image: none !important;
    background-color: rgba(0, 0, 0, 0.65);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.main-nav {
    max-width: 1200px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    height: 56px;
}
    /*-- galama_navigation_brand --*/
.nav-brand {
    display: none;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    margin-right: 24px;
    /*display: flex;
    align-items: center;
    gap: 8px;*/
}
.nav-brand .brand-icon {
    width: 34px;
    height: 34px;
    /*background: #e8870b;*/
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    /*font-size: 18px;
    font-weight: 700;*/
}
.nav-brand .brand-icon img {
    width: 100%;
    height: auto;
}
    /*-- galama_navigation_hamburger --*/
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 22px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
    z-index: 1001;
}
.hamburger span {
    display: block;
    height: 3px;
    width: 100%;
    background: #fff;
    border-radius: 3px;
    transition: all 0.3s ease;
    transform-origin: center;
}
.hamburger.hidden-on-mobile {
    display: none !important;
}
    /*-- galama_navigation_desktopmenu --*/
.nav-menu-container {
    display: flex;
    align-items: center;
}
.main-menu {
    display: flex;
    list-style: none;
    gap: 0;
    margin: 0;
    padding: 0;
}
.main-menu > li {
    position: relative;
    white-space: nowrap;
}
    /* 关闭按钮项（移动端显示） */
.mobile-close-item {
    display: none !important;  /*** 提高移动端关闭按钮的不显示级别 ***/
}
.main-menu a {
    display: block;
    padding: 1.37rem 1.2rem;
    color: #fff;
    text-decoration: none;
    font-size: var(--nav-menu-a);
    font-weight: 600;
    transition: all 0.15s ease;
    border-radius: 6px;
    margin: 0 2px;
}
.main-menu > li > a span::before {
    background: transparent;
    width: 6px;
    height: 6px;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border-left: 2px solid #e8870b;
    border-top: 2px solid #e8870b;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
}
.main-menu > li > a span::after {
    background: transparent;
    width: 6px;
    height: 6px;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    border-right: 2px solid #e8870b;
    border-bottom: 2px solid #e8870b;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
}
.main-menu > li > a::before {
    background: transparent;
    width: 6px;
    height: 6px;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    border-right: 2px solid #e8870b;
    border-top: 2px solid #e8870b;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
}
.main-menu > li > a::after {
    background: transparent;
    width: 6px;
    height: 6px;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    border-left: 2px solid #e8870b;
    border-bottom: 2px solid #e8870b;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
}
.main-menu > li > a:hover::before,
.main-menu > li.active > a::before,
.main-menu > li.open > a::before {
	opacity: 1;
	right: 6px;
	top: 6px;
}
.main-menu > li > a:hover::after,
.main-menu > li.active > a::after,
.main-menu > li.open > a::after {
	opacity: 1;
	left: 6px;
	bottom: 6px
}
.main-menu > li > a:hover span::before,
.main-menu > li.active > a span::before,
.main-menu > li.open > a span::before {
	opacity: 1;
	left: 6px;
	top: 6px;
}
.main-menu > li > a:hover span::after,
.main-menu > li.active > a span::after,
.main-menu > li.open > a span::after {
	opacity: 1;
	right: 6px;
	bottom: 6px;
}
.main-menu > li:hover > a,
.main-menu > li.active > a,
.main-menu > li.open > a {
    color: #e8870b;
    font-weight: 600;
    background: transparent;
}
.main-menu > li.has-submenu > a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}
.main-menu > li.has-submenu > a > .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    transition: transform 0.25s ease;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    opacity: 0.85;
}
.main-menu > li.has-submenu.open > a > .arrow {
    transform: rotate(180deg);
    opacity: 1;
}
.main-menu > li.has-submenu > .submenu > li.has-submenu > a > .sub-switch {
    display: none;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    transition: transform 0.25s ease;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    opacity: 0.85;
}
    /* 子菜单通用 */
.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateY(0);
    background: var(--nav-submenu-bg);
    list-style: none;
    padding: 0.5rem 0;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    min-width: 200px;
    z-index: 1010;
}
.submenu li {
    position: relative;
}
.submenu .submenu {
    top: 0;
    left: 100%;
    border-radius: 0 8px 8px 8px;
}
.main-menu > li > ul.submenu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 1rem 1.8rem;
    width: 100%;
    font-size: var(--nav-submenu-a);
    border-radius: 0;
    white-space: nowrap;
}
.main-menu > li > ul.submenu > li > a:hover {
    background: transparent;
    color: #e8870b;
    font-weight: 600;
    padding-left: 22px;
}
.main-menu > li > ul.submenu > li.has-submenu > a::after {
    content: '›';
    font-size: 20px;
    font-weight: 600;
    transition: transform 0.95s ease;
    margin-left: 12px;
    opacity: 0.85;
}
.main-menu > li > ul.submenu > li.has-submenu:hover > a::after {
    content: '›››';
    font-size: 20px;
    opacity: 1;
}
.main-menu > li > ul.submenu > li > ul.submenu > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
    padding: 1rem 1.8rem;
    color: #fff;
    text-decoration: none;
    font-size: var(--nav-submenu-suba);
    border-radius: 0;
}
.main-menu > li > ul.submenu > li > ul.submenu > li > a:hover {
    background: transparent;
    color: #e8870b;
    font-weight: 600;
    padding-left: 22px;
}
.main-menu > li > ul.submenu > li > ul.submenu > li > a::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #e8870b;
    margin-right: 12px;
    opacity: 0;
    transform: scale(0);
    transition: all 0.15s ease;
    /*vertical-align: middle;*/
}
.main-menu > li > ul.submenu > li > ul.submenu > li > a:hover::before {
    opacity: 1;
    transform: scale(1.1);
}
    /* 凡是支持 hover 的设备（含鼠标），隐藏小箭头，启用纯 CSS 悬停菜单 */
@media (hover: hover) and (pointer: fine) {
    .submenu-toggle {
        display: none;
    }

    .main-menu li:hover > .submenu {
        display: block;
    }
}

    /* 凡是触摸设备（无 hover），统一处理为：箭头可保留或隐藏，但必须靠点击展开 */
@media (hover: none), (pointer: coarse) {
    /* 强制所有子菜单默认不显示（如果之前有 display: block 残留） */
    .submenu {
        display: none;
    }

    /* 箭头可以选择保留（给一个视觉提示），也可以隐藏 */
    .submenu-toggle {
        display: inline-flex;   /* 如果你想保留箭头提示 */
        /* 或者完全隐藏，靠整个菜单项点击：display: none; */
    }

    /* 当 <li> 拥有 .open 类时，显示子菜单 */
    li.open > .submenu {
        display: block;
    }
}
    /* 移动端样式 */
@media screen and (max-width: 992px) {
    .main-nav {
        justify-content: space-between;
    }
    .hamburger {
        display: flex;
    }
    .nav-brand {
        display: block;
    }
    .nav-menu-container {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.4);
        backdrop-filter: blur(6px);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
        z-index: 999;
        justify-content: flex-end;
    }
    .nav-menu-container.show {
        opacity: 1;
        visibility: visible;
    }
    .main-menu {
                flex-direction: column;
                background: var(--nav-submenu-bg);
                width: 320px;
                max-width: 82vw;
                height: 100%;
                overflow-y: auto;
                padding: 2rem 1rem;
                box-shadow: -5px 0 30px rgba(0,0,0,0.5);
                transform: translateX(100%);
                transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
                gap: 0.2rem;
    }
    .nav-menu-container.show .main-menu {
        transform: translateX(0);
    }
/*.main-menu > li {
    position: static;
}/*
    /* 关闭按钮项样式 */
    .mobile-close-item {
        display: flex !important;   /*** 提高移动端关闭按钮的显示级别 ***/
        align-items: center;
        justify-content: center;
        padding: 0 16px 10px;
    }
    .mobile-close-item .close-panel-btn {
        background: none;
        border: none;
        color: #fff;
        font-size: 24px;
        cursor: pointer;
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        transition: background 0.2s;
    }
    .mobile-close-item .close-panel-btn:hover {
        background: rgba(255,255,255,0.1);
    }
            /*.main-menu a {
                padding: 0.8rem 1rem;
                border-radius: 6px;
                margin: 0;
            }*/

            .submenu {
                display: none;
                position: static;
                background: rgba(255,255,255,0.03);
                box-shadow: none;
                border-radius: 6px;
                margin: 4px 0 4px 1rem;
                padding: 0.2rem 0;
                min-width: auto;
            }

            .submenu .submenu {
                margin-left: 1.5rem;
                left: auto;
            }

            li.open > .submenu {
                display: block;
            }

            .submenu-toggle {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 32px;
                height: 32px;
                margin-left: 0.5rem;
                cursor: pointer;
                color: var(--text);
                font-size: 1.2rem;
                transition: transform 0.3s;
                user-select: none;
                vertical-align: middle;
                border-radius: 4px;
                background: rgba(255,255,255,0.05);
                flex-shrink: 0;
            }

            .submenu-toggle:hover {
                background: var(--hover-bg);
            }

            .open > .submenu-toggle {
                transform: rotate(180deg);
                background: rgba(233,69,96,0.3);
            }

            .main-menu li.has-submenu > a {
                display: inline-flex;
                align-items: center;
                justify-content: space-between;
                width: 100%;
            }

    .main-menu li.has-submenu {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
    .main-menu > li.has-submenu > a .arrow {
        padding: 0 3rem;
    }

    .main-menu li.has-submenu > .submenu {
        width: 100%;
        margin: 0 1rem 1rem;
    }

            .submenu li.has-submenu {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
            }

            .submenu li.has-submenu > a {
                display: inline-flex;
                width: calc(100% - 48px);
            }

    .submenu li.has-submenu > .submenu {
        width: 100%;
        margin: 0 1rem;
        border-radius: 6px;
    }
    .main-menu > li > ul.submenu > li.has-submenu > a::after {
        display: none !important;
    }
    .main-menu > li.has-submenu > .submenu > li.has-submenu > a > .sub-switch {
        display: flex;
        margin-right: 3rem;
    }
    .main-menu > li.has-submenu > .submenu > li.has-submenu.open > a > .sub-switch {
        transform: rotate(45deg);
        transition: transform 0.3s ease;
    }
}

/*========== galama_main ==========*/
    /*-- galama_booking --*/
.galama-booking {
    
}
.galama-booking-flexs {
    padding: 0;
    display: flex;
    flex-flow: column nowrap;
}
.galama-booking-grids {
    display: grid;
    gap: 0;
    width: 100%;
}
@media screen and (max-width:667px) {
    .galama-booking-grids {
        grid-template-columns: 1fr !important;
    }
}
.gridsL {
    grid-template-columns: 1.4fr 1fr;
}
.gridsR {
    grid-template-columns: 1fr 1.4fr;
}
.img1,.img2,.img3,.img4 {
	padding:0;
	background-size: cover !important;
}
.img1 {
	background: url(../images/home-BG1.webp) center;
}
.img2 {
	background: url(../images/home-BG2.webp) center;
}
.img3 {
	background: url(../images/home-BG3.webp) center;
}
.img4 {
	background: url(../images/home-BG4.webp) center; 
}
.galama-booking-img-text {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    padding: 12.8rem 0;
	transition: 0.5s all;
	-webkit-transition: 0.5s all;
	-moz-transition: 0.5s all;
	-o-transition: 0.5s all;
	-ms-transition: 0.5s all;
	background: rgba(78, 54, 54, 0.85);
}
.img1 .galama-booking-img-text {
	background:rgba(40, 141, 145, 0.69);
}
.img2 .galama-booking-img-text,.img3 .galama-booking-img-text {
	background: rgba(0, 51, 102, 0.6);
}
.img4 .galama-booking-img-text {
	background:rgba(51, 102, 153, 0.6)
}
.galama-booking-img-text h4 {
	color: #fff;
	font-size: var(--booking-img-h4);
	margin: 0;
	font-weight: 600;
	text-transform: capitalize;
	letter-spacing: 2px;
}
.galama-booking-img-text span {
    width: 30%;
    height: 2px;
    background: rgba(255, 255, 255, 0.39);
    display: inline-block;
    margin: 2rem 0 0.7rem;
	transition: 0.5s all;
	-webkit-transition: 0.5s all;
	-moz-transition: 0.5s all;
	-o-transition: 0.5s all;
	-ms-transition: 0.5s all;
}
.img-grid:hover .galama-booking-img-text span {
    width: 50%;
}
.galama-booking-img-text p {
	color: #fff;
	font-size: var(--booking-img-p);
	margin: 0.7rem;
	letter-spacing: 2px;
	text-transform: capitalize;
	font-weight: 600;
}
.img-grid:hover .galama-booking-img-text {
    background: rgba(43, 91, 162, 0.2);
}
    /*-- galama_about --*/
.galama-about {
    padding-top: var(--about-title-padding);
}
.galama-about .container {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
}
.galama-about-title {
    padding-bottom: var(--about-title-padding);
    font-size: var(--about-title-h3);
    font-weight: 600;
    line-height: 1;
}
.galama-about-title i {
    padding-right: 1.4rem;
}
.galama-about-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
}
@media screen and (max-width:667px) {
    .galama-about-main {
        grid-template-columns: 1fr !important;
    }
}
.galama-about-BG {
	background: url(../images/about-BG.webp) no-repeat 100% 100%;
	background-size: 90%;
    padding: 0 7% 22% 0;
}
.galama-about-pic {
    width: 100%;
    height: auto;
}
.galama-about-text {
    
}
.galama-about-text h4 {
    font-size: var(--about-text-h4);
    font-weight: 600;
    padding-bottom: 1rem;
}
.galama-about-text p {
    font-size: var(--about-text-p);
    font-weight: 600;
    color: #666;
}
/*-- galama_team --*/
.galama-team {
    padding: 4rem 0 7rem 0;
}
.galama-team-main {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    gap: 40px;
}
@media screen and (max-width:1120px) {
    .galama-team-main {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}
.galama-team-content {
    display: grid;
    grid-template-rows: auto 1fr 12rem;
    justify-items: center;
    align-items: start;
    padding-top: 2rem;
}
.galama-team-pic {
    display: inline-block;
    max-width: 35%;
    height: auto;
    text-decoration: none;
    z-index: 1;
    -webkit-transition: .5s all;
	-moz-transition: .5s all;
	transition: .5s all;
}
.galama-team-content h5 {
	font-size: var(--about-text-h4);
	margin: 1.8rem 0 0.9rem;
	color: #00bcd4;
	font-weight: 600;
	letter-spacing: 2px;
}
.galama-team-content p {
    color: #666;
    font-size: var(--about-text-p);
    font-weight: 600;
}
.galama-team-content:hover  .galama-team-pic {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}
/*-- galama_gallery --*/
.galama-gallery {
    padding: var(--about-title-padding) 0;
}
.galama-gallery .container {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
}
.galama-gallery-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
}
.galama-gallery-title {
    padding-bottom: var(--about-title-padding);
    font-size: var(--about-title-h3);
    font-weight: 600;
    line-height: 1;
}
.galama-gallery-title i {
    padding-right: 1.4rem;
}
.galama-gallery-pic {
    display: grid;
    grid-template-rows: minmax(auto, 1fr);
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
}
.galama-gallery-pic2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
}
@media screen and (max-width:385px) {
    .galama-gallery-main {
        grid-template-columns: 1fr;
    }
    .galama-gallery-pic {
        grid-template-rows: 1fr;
    }
    .galama-gallery-pic2 {
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width:667px) {
    .galama-gallery-pic2 {
        grid-template-columns: 1fr;
    }
}
.galama-gallery-pic-sub .cm-overlay img {
    width: 100%;
    height: auto;
}
/*.galama_gallery_pic2 .galama_gallery_pic_sub img {
    height: 100%;
}*/
.grid-1 a {
    display: block;
    overflow: hidden;
    position: relative;
}
.grid-1:hover .galama-gallery-pictext {
    bottom: 0%;
}
.galama-gallery-pictext {
    display: flex;
    align-items: center;
    justify-content: center;
	background: rgba(0, 0, 0, 0.58);
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: -100%;
	left: 0;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}
.grid-1 .galama-gallery-pictext h5 {  /*-- 修改文字大小和内距 --*/
	/*font-size: 2.5em;
	padding: 5.02em 0;*/
    font-size: clamp(1rem, 3vw, 1.7rem);
    padding: 0 1.4rem;
	color: #fff;
	text-align: center;
}
.galama-gallery-pictext.w3agile-text-small h5,.grid-w3l .galama-gallery-pictext h5{ /*-- 修改文字大小和内距 --*/
	/*font-size: 2em;
	padding: 5.5em 0;*/
    font-size: 1.7rem;
    padding: 17rem 1.4rem;
}


    /*lightbox*/
/* overlay - centered modal dialog*/
.overlay-visible{
    overflow:hidden !important;
}
#cm-overlay-mask,#cm-wrap{
    position: fixed;
    left: 0;
    top: 0;
    width:100%;
    height:100%;
    z-index: 9991;
    text-align:center;
/* IE<9 support hack */
}
/* chrome bug fix causing overlay-mask to not appear 
@media screen and (-webkit-min-device-pixel-ratio:0) {
#cm-overlay-mask
{
    overflow:scroll;
}
#cm-overlay-mask::-webkit-scrollbar
{
    width:0px; 
}}*/
#cm-wrap
{
    visibility:hidden;
    white-space:nowrap;
}
#cm-wrap *
{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    
}
#cm-wrap .cm-box,
#cm-wrap .cm-scale
{
    white-space:normal;
    vertical-align:middle;
    position:relative;
    display:inline-block;

}
#cm-wrap .cm-scale
{
    height:100%;
    line-height:100%;
    width:0;
}
#cm-wrap .cm-box img,
#cm-wrap .cm-box iframe
{
    display:block;
}

/* customise mask colour */
#cm-overlay-mask
{
    background-color:#000000;
}
/* customise loader GIF */
#cm-wrap
{
    background:none;
}
#cm-wrap.cm-loaded
{
    background-image:none;
}
/* overlay border and shadow */
#cm-overlay
{
    -webkit-box-shadow: 0 0 90px #000;
    -khtml-box-shadow:0 0 90px 5px #000;
    -moz-box-shadow:0 0 90px 5px #000;
    box-shadow:0 0 90px 5px #000;
    /**/
    opacity:0;
    z-index:9992;
}
/* close link style */
#cm-wrap #cm-close
{
    display:block;
	height: 61px;
    width: 59px;
    position:absolute;
    right:0;
    top:0;
    background:transparent url(../images/close.png) scroll no-repeat center;
    cursor:pointer;
    z-index:9993;
    text-indent:-999em;
    opacity:0.5;
}
/* prev and next buttons */
#cm-wrap #cm-prev,
#cm-wrap #cm-next
{
    display:block;
    position:absolute;
    height: 97px;
    width: 49px;
    top:50%;
    margin-top:-63px;
    text-indent:-999em;
    opacity:0.5;
    outline:none;
    z-index:9993;
}
#cm-wrap #cm-prev
{
    left:0;
    background:transparent url(../images/prev.png) scroll no-repeat 0 center;
}
#cm-wrap #cm-next
{
    right:0;
    background:transparent url(../images/next.png) scroll no-repeat 100% center;
}
#cm-wrap #cm-prev:hover,
#cm-wrap #cm-next:hover,
#cm-wrap #cm-close:hover
{
    opacity:1;
}
    /*//lightbox*/

/*========== galama_footer ==========*/
/*-- galama_contact --*/
.galama-contact {
    background: #124042;
}
.galama-contact-main {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-evenly;
    gap: 10rem;
    justify-content: center;
    padding: 6rem 0;
}
.galama-contact-QRcode {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-evenly;
    gap: 10rem;
}
.galama-contact-QRcode div img {
    margin: 0;
    padding: 0;
    width: 220px;
    height: auto;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background-color: #fff;
}
.galama-contact-text {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: space-evenly;
    gap: 3rem;
    color: #fff;
}
.galama-contact-text h4 {
    color: #fff;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 1.8rem;
    margin-bottom: 0.7rem;
}
.galama-contact-text .fa {
    font-size: 2.4rem;
    padding: 0 0 3rem 0;
    color: #fff;
}
.galama-contact-text p {
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: 1px;
}
.galama-contact-text  a{
	color:#fff;
}
.galama-contact-text  a:hover{
	color:#e8870b;
}
.galama-contact-text-sub {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 3rem;
    width: 100%;
    border-bottom: 0.2rem solid rgba(255, 255, 255, 0.29);
}
/*-- galama_social_icon --*/
    /*-- copy-right --*/
.copy-right {
    padding: 2.8rem 0;
    text-align: center;
    background: #000;
}
.copy-right p {
	 color: #fff;
	 padding: 1em 0 0;
}
.copy-right a {
	 color: #fff;
} 
.copy-right a:hover {
    /*color:#00BCD4;*/
    color: #e8870b;
}
.galama-social-icon {
    margin-top: 1rem;
}
    /*-- social-icons --*/
.social-icons ul li {
    display: inline-block;
    font-size: inherit;
    text-align: center;
    margin: 0;
}
/*.social-icons ul li a.fa {    --mod font-size&line-height--
    font-size: 1em;
    color: #fff;
    line-height: 2.6em;
	border-radius: 50px;
}*/
.social-icons ul li a.fab {
    font-size: 2.2rem;
    color: #fff;
    line-height: 5rem;
	border-radius: 50px;
}
.icon-border {
	position: relative;
}
/*.icon {   --mod width&height--
    vertical-align: top;
    overflow: hidden;
    margin: 0 4px;
    width: 35px;
    height: 35px;
}*/
.icon {
    vertical-align: top;
    overflow: hidden;
    margin: 0 4px;
    width: 50px;
    height: 50px;
}
/*.social-icons ul li a.fa:hover {    --mod color--
    color: #3b5998;
}*/
.social-icons ul li a.fab:hover {
    color: #e8870b;
}
a.fab.fa-weixin.icon.icon-border.weixin:hover {
    color: #07c160;
}
a.fab.fa-qq.icon.icon-border.qq:hover {
    color: #12b7f5;
}
a.fab.fa-weibo.icon.icon-border.weibo:hover {
    color: #e6162d;
}
a.fab.fa-tencent-weibo.icon.icon-border.tencent-weibo:hover {
    color: #20b8e5;
}
.icon-border::before,
.icon-border::after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
} 
.icon-border::before {
	z-index: 1;
	-webkit-transition: box-shadow 0.3s;
	-moz-transition: box-shadow 0.3s;
	-o-transition: box-shadow 0.3s;
	-ms-transition: box-shadow 0.3s;
	transition: box-shadow 0.3s;   
	border-radius:50%;	
}  
    /* weixin */
.icon-border.weixin::before {
	-webkit-box-shadow: inset 0 0 0 48px #07c160; 
	-moz-box-shadow: inset 0 0 0 48px #07c160; 
	-o-box-shadow: inset 0 0 0 48px #07c160; 
	-ms-box-shadow: inset 0 0 0 48px #07c160; 
	box-shadow: inset 0 0 0 48px #07c160; 
} 
.icon-border.weixin:hover::before {
	-webkit-box-shadow: inset 0 0 0 4px #07c160; 
	-moz-box-shadow: inset 0 0 0 4px #07c160; 
	-o-box-shadow: inset 0 0 0 4px #07c160; 
	-ms-box-shadow: inset 0 0 0 4px #07c160; 
	box-shadow: inset 0 0 0 4px #07c160;
} 
    /* qq */
.icon-border.qq::before {
	-webkit-box-shadow: inset 0 0 0 48px #12b7f5;
	-moz-box-shadow: inset 0 0 0 48px #12b7f5;
	-o-box-shadow: inset 0 0 0 48px #12b7f5;
	-ms-box-shadow: inset 0 0 0 48px #12b7f5;
	box-shadow: inset 0 0 0 48px #12b7f5;
} 
.icon-border.qq:hover::before {
	-webkit-box-shadow: inset 0 0 0 4px #12b7f5;
	-moz-box-shadow: inset 0 0 0 4px #12b7f5;
	-o-box-shadow: inset 0 0 0 4px #12b7f5;
	-ms-box-shadow: inset 0 0 0 4px #12b7f5;
	box-shadow: inset 0 0 0 4px #12b7f5;
} 
    /* weibo */
.icon-border.weibo::before {
	-webkit-box-shadow: inset 0 0 0 48px #e6162d;
	-moz-box-shadow: inset 0 0 0 48px #e6162d;
	-o-box-shadow: inset 0 0 0 48px #e6162d;
	-ms-box-shadow: inset 0 0 0 48px #e6162d;
	box-shadow: inset 0 0 0 48px #e6162d;
} 
.icon-border.weibo:hover::before {
	-webkit-box-shadow: inset 0 0 0 4px #e6162d;
	-moz-box-shadow: inset 0 0 0 4px #e6162d;
	-o-box-shadow: inset 0 0 0 4px #e6162d;
	-ms-box-shadow: inset 0 0 0 4px #e6162d;
	box-shadow: inset 0 0 0 4px #e6162d;
} 
    /* tencent-weibo */
.icon-border.tencent-weibo::before {
	-webkit-box-shadow: inset 0 0 0 48px #20b8e5;
	-moz-box-shadow: inset 0 0 0 48px #20b8e5;
	-o-box-shadow: inset 0 0 0 48px #20b8e5;
	-ms-box-shadow: inset 0 0 0 48px #20b8e5;
	box-shadow: inset 0 0 0 48px #20b8e5;
}
.icon-border.tencent-weibo:hover::before {
	-webkit-box-shadow: inset 0 0 0 4px #20b8e5;
	-moz-box-shadow: inset 0 0 0 4px #20b8e5;
	-o-box-shadow: inset 0 0 0 4px #20b8e5;
	-ms-box-shadow: inset 0 0 0 4px #20b8e5;
	box-shadow: inset 0 0 0 4px #20b8e5;
} 
    /*-- //social-icons --*/

/*========== galama_subpage_tour-style ==========*/
.w3layouts-section {
	text-align: left;
	padding: 7rem 0;
}
.w3layouts-section .subpage-content {
    background: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.85)), to(rgba(255, 255, 255, 0.65)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.65));
    background: -webkit-linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.65));
	background: -moz-linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.65));
	background: -ms-linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.65));
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.65));
	background-size: cover;
    -webkit-background-clip: padding-box;
            background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 10px;
    outline: 0;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .6);
            box-shadow: 0 3px 9px rgba(0, 0, 0, .6);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    /*gap: 4rem;*/
}
/*-- 增加section部分的文字样式 --*/
.section-text-w3l {
    padding: var(--section-text-w3l-UD-padding) var(--section-text-w3l-LR-padding);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 3rem;
}
.section-text-w3l h4 {
    font-size: var(--about-text-h4);
    font-weight: 600;
    color: #000;
	/*padding-bottom: 3rem;*/
    letter-spacing: 2px;
}
.section-text-w3l p {
    font-size: var(--about-text-p);
    font-weight: 600;
    color: #222;
    padding: 0;
    line-height: 1.5;
    letter-spacing: 1.5px;
}
.section-text-w3l p span {
    font-size: 1.1em;
    font-weight: 600;
    color: #000;
    letter-spacing: 2px;
}

/*-- cruise_ship_list --*/
.section-main {
    margin: 0;
    padding: var(--section-main-all-padding);
}
.section-main-header {
    text-align: center;
    margin-bottom: var(--section-main-all-padding);
    padding: var(--section-text-w3l-LR-padding) 0;
}
/* 分类筛选器样式 */
.category-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 3rem;
    padding: 1rem;
}    
.filter-btn, .category-btn {
    background: #fff;
    border: 2px solid #005a6e;
    color: #005a6e;
    padding: 0.8rem 1.4rem;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: var(--cruise-tour-btn);
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.filter-btn:hover, .category-btn:hover {
    background: #e8f4fc;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.5);
}
.filter-btn.active, .category-btn.active {
    background: #005a6e;
    color: #fff;
    margin: 0 1rem;
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
}
        
        .filter-btn i {
            font-size: 0.9rem;
        }
        
.filter-btn.all, .category-btn.all {
    border-color: #005a6e;
    color: #005a6e;
}
.filter-btn.all.active, .category-btn.all.active {
    background: #005a6e;
    color: #fff;
    /*margin-right: 2rem;*/
}
.products-grid {
    display: grid;
    /*grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;*/
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 5.2rem;
    margin-bottom: 4rem;
}
.product-card {
    background: linear-gradient(to right, #186e8c, transparent) no-repeat 0 0, none;
    background-size: 35% 15px;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 5px 15px 30px rgba(0, 0, 0, 0.5);
}
.product-img {
    align-self: center;
    margin: 14px 0 0 0;
    padding: 0;
    background: none;
    overflow: hidden;
    /*border-top: 1px solid #186e8c;*/
}
.product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*border-bottom: 1px solid #eee;
    border-radius: 0 0 12px 12px;
    filter: drop-shadow(10px 10px 5px rgba(0, 0, 0, 0.3));*/
}
.product-info {
    /*margin: 14px 0 0 0;*/
    padding: 1.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    /*border-top: 1px solid #186e8c;*/
}
.product-title {
    align-self: flex-start;
    font-size: var(--product-title-h3);
    font-weight: 600;
    margin-bottom: 10px;
    /*color: #2c3e50;*/
    color: #00323a;
    line-height: 1.4;
}
.product-description {
    align-self: flex-start;
    color: #222;
    font-size: var(--product-description-p);
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 3rem;
    /*padding-right: 1rem;*/
    flex-grow: 1;
}
.product-price {
    font-size: 1.5em;
    font-weight: bold;
    color: #e74c3c;
    margin-bottom: 60px;
}
.product-meta {
    display: flex;
    justify-content: space-between;
    color: #95a5a6;
    font-size: 1em;
    margin-bottom: 20px;
    padding-right: 10px;
}
.product-info .btn {
    align-self: flex-end;
    width: auto;
    background: #186e8c;
    color: #fff;
    border: none;
    padding: 0.6rem 2rem;
    border-radius: 30px;
    font-size: var(--product-description-p);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
    /*transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    position: absolute;
    bottom: 1rem;
    right: 1rem;*/
}
.product-info .btn:hover {
    background: #005a6e;
    /*transform: translateY(-3px);*/
}
.btn i {
    font-size: 1rem;
}
/* 无产品提示 */
.no-products {
    text-align: center;
    padding: 40px;
    color: #7f8c8d;
    font-size: 1.1rem;
    grid-column: 1 / -1;
}
/*-- galapagas_tour_list --*/
/* 产品计数 */
.stats {
    display: flex;
    justify-content: center;
    gap: 4rem;
    margin-bottom: 2rem;
    font-size: var(--cruise-tour-label);
    color: #333;
}
.stat-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.product-count {
    text-align: center;
    color: #444;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}
/* 类别计数样式 */
.category-count {
    background-color: #005a6e;
    color: #fff;
    border-radius: 12px;
    font-size: 1.2rem;
    line-height: 2;
    padding: 0 0.4rem 0 0.6rem;
    margin: 0;
    min-width: 24px;
    text-align: center;
}
.category-btn.active .category-count {
    background-color: #fff;
    color: #005a6e;
}

@media (max-width: 1024px) {
    .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 3rem;
    }
}
@media (max-width: 768px) {
            .products-grid {
                grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
                gap: 3rem;
            }
            
            h1 {
                font-size: 2rem;
            }
            
            .category-filter {
                /*gap: 8px;*/
            }
            
            .filter-btn {
                padding: 8px 16px;
                font-size: 0.9rem;
            }
            .product-card {
                flex-direction: column;
            }
        }
        
        @media (max-width: 576px) {
            .products-grid {
                grid-template-columns: 1fr;
            }
            
            /*body {
                padding: 15px;
            }*/
            
            .category-filter {
                /*justify-content: flex-start;
                overflow-x: auto;
                padding-bottom: 10px;
                flex-wrap: nowrap;
                justify-content: flex-start;*/
            }
            
            .filter-btn {
                flex-shrink: 0;
            }
        }
/*========== //galama_subpage_tour-style ==========*/

/*========== galama_subpage_intro-style ==========*/
.intro-content {
    margin: 0;
    padding: var(--section-text-w3l-UD-padding) var(--section-text-w3l-LR-padding);
    overflow: hidden;
}
/* 隐藏radio按钮 */
.tab-radio {
    display: none;
}
/* 标签页导航 */
.intro-label {
    padding: 0 var(--section-text-w3l-LR-padding);
    width: 100%;
}
.intro-label .tabs-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 1rem;
    align-items: center;
    /*position: relative;
    padding: 1rem 2rem 0;*/
}
.intro-label .tabs-nav label {
    flex: 1;
    text-align: center;
    margin:0 1rem;
    padding: 1rem;
    color: rgba(0, 90, 110, 0.8);
    font-size: var(--nav-menu-a);
    font-weight: 600;
    letter-spacing: 0.2rem;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
    background-color: #fff;
    border-radius: 6px;
    border: 3px solid rgba(0, 90, 110, 0.6);
}
.intro-label .tabs-nav label:hover {
    color: #fff;
    background-color: rgba(24, 110, 140, 0.6);
}
.intro-label .tabs-nav .overlay-label-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px;  /* 隐藏文字 */
}
/* 激活指示器 */
.active-indicator {
    position: absolute;
    height: 100%;
    background-color: #fff;
    border-radius: 8px 8px 0 0;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    top: 0;
}
/* 内容区域 */
.intro-tabpanel .tabs-content {
    position: relative;
    min-height: 400px;
    overflow: hidden;
}
        
.intro-tabpanel .tab-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: var(--section-main-all-padding);
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
}
/* 通过radio选中状态控制显示哪个面板 */
#tabG1:checked ~ .intro-tabpanel .tabs-content #galapagos-panel1,
#tabG2:checked ~ .intro-tabpanel .tabs-content #galapagos-panel2,
#tabG3:checked ~ .intro-tabpanel .tabs-content #galapagos-panel3,
#tabG4:checked ~ .intro-tabpanel .tabs-content #galapagos-panel4,
#tabA1:checked ~ .intro-tabpanel .tabs-content #amazon-panel1,
#tabA2:checked ~ .intro-tabpanel .tabs-content #amazon-panel2,
#tabA3:checked ~ .intro-tabpanel .tabs-content #amazon-panel3,
#tabA4:checked ~ .intro-tabpanel .tabs-content #amazon-panel4{
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
    position: relative;
}
/* 通过radio选中状态控制激活指示器位置 */
#tabG1, #tabA1:checked ~ .tabs-nav .active-indicator {
    width: 25%;
    left: 0%;
}        
#tabG2, #tabA2:checked ~ .tabs-nav .active-indicator {
    width: 25%;
    left: 25%;
}        
#tabG3, #tabA3:checked ~ .tabs-nav .active-indicator {
    width: 25%;
    left: 50%;
}        
#tabG4, #tabA4:checked ~ .tabs-nav .active-indicator {
    width: 25%;
    left: 75%;
}        
/* 通过radio选中状态控制标签颜色 */
#tabG1:checked ~ .intro-label .tabs-nav label[for="tabG1"],
#tabG2:checked ~ .intro-label .tabs-nav label[for="tabG2"],
#tabG3:checked ~ .intro-label .tabs-nav label[for="tabG3"],
#tabG4:checked ~ .intro-label .tabs-nav label[for="tabG4"],
#tabA1:checked ~ .intro-label .tabs-nav label[for="tabA1"],
#tabA2:checked ~ .intro-label .tabs-nav label[for="tabA2"],
#tabA3:checked ~ .intro-label .tabs-nav label[for="tabA3"],
#tabA4:checked ~ .intro-label .tabs-nav label[for="tabA4"] {
    color: #fff;
    background-color: #005a6e;
}
/* 面板内容样式 */
.tab-panel img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.tab-panel .left-around-img {
    max-width: 60%;
    height: auto;
    margin: 3rem 2rem 2rem 0;
    float: left;
    /*shape-outside: margin-box;*/
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    /*transition: transform 0.5s;*/
}
.tab-panel .right-around-img {
    max-width: 60%;
    height: auto;
    margin: 3rem 0 2rem 2rem;
    float: right;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.tab-panel .center-around-img {
    margin: 2rem 0;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.tab-panel .zoom-around-img {
    object-fit: cover;
    width: 80%;
    margin: 0 10%;
}
.tab-panel .img-text-content {
    text-align: justify;
}
.tab-panel .img-text-content p {
    
}
.tab-panel p {
    margin: 2.5rem 0 1rem;
	color: #222;
    font-size: var(--product-description-p);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 1.5px;
}
.tab-panel p span{
    font-size: var(--paragraph-size-16-22);
    color: #000;
    letter-spacing: 2px;
}
.tab-panel p b{
    font-size: var(--paragraph-size-20-26);
    font-weight: 600;
    color: #00323a;
}
.tab-panel .pailie {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}
.tab-panel .pailie2 {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    list-style: none;
}
.tab-panel .pailie ul li,
.tab-panel .pailie2 ul li {
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    color: #222;
    text-align: left;
    margin: 1rem 0;
}
.tab-panel-content1 {
	margin: 0 15px 10px;
}
.tab-panel-content2 {
	margin-bottom: 30px;
}
.tab-panel-content1 .tab-panel-header1, .tab-panel-content2 .tab-panel-header1 {
    padding: 1.4rem;
    background: linear-gradient(to right, rgba(0, 40, 58, 1), rgba(255, 255, 255, 0.6));
    border-bottom: 1px solid #186e8c;
    border-radius: 10px 10px 0 0;
}
.tab-panel-content1 .tab-panel-header1 h4, .tab-panel-content2 .tab-panel-header1 h4 {
    font-size: var(--h4-size-16-18);
    color: #fff;
    font-weight: 600;
}
.tab-panel-content1 .tab-panel-body1, .tab-panel-content2 .tab-panel-body1 {
    display: inline-block;
    padding: 1rem;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 5px 15px rgba(24, 110, 140, 0.3);
}
.tab-panel-content1 .tab-panel-body1 p, .tab-panel-content2 .tab-panel-body1 p {
    margin: 0;
    padding: 1rem;
}
/*.tab-panel-body1 .img-text-content .tab-panel-para-R {
    padding: 1rem 1rem 2rem 0;
}
.tab-panel-body1 .img-text-content .tab-panel-para-L {
    padding: 1rem 0rem 2rem 1rem;
}*/
.tab-panel-body1 .tab-panel-img {
    max-width: 40%;
    height: auto;
    /*margin: 0 2rem 2rem 0;*/
    /*float: left;*/
    /*shape-outside: margin-box;*/
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.tab-panel-body1 .tab-panel-imgR {
    float: right;
    margin: 1rem 1rem 2rem 3rem;
}
.tab-panel-body1 .tab-panel-imgL {
    float: left;
    margin: 1rem 3rem 2rem 1rem;
}

/*-- galapagas-intro style --*/
/*-- 增加加拉帕戈斯动物介绍标签页样式 --*/
/* 主内容容器 */
.animal-encyclopedia {
    display: flex;
    position: relative;
    background-color: #eee;
    -webkit-background-clip: padding-box;
            background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 15px;
    outline: 0;
    overflow: hidden;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
            box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
    min-height: 900px;
}
/* 左侧内容区 */
.content-area {
    flex: 1;
    padding: var(--padding-up-down) var(--padding-left-right);
    position: relative;
    /*overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #e8870b #fff;*/
    background: linear-gradient(to bottom right, #f9f9f9, #ffffff);
}
.animal-panel {
    position: absolute;
    top: 40px;
    left: 40px;
    right: 40px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
}        
/* 右侧选择栏 */
.animal-selector {
    width: 200px;
    /*background: linear-gradient(to bottom, #1a535c, #2a6e79);*/
    background-color: #005a6e;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    }
/*.selector-header {
    padding: 25px;
    color: white;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0; /* 防止头部被压缩 *
}
.selector-header h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}
.selector-header p {
    font-size: 0.9rem;
    opacity: 0.8;
}*/
        
/* 动物列表 - 可滚动修改为不可滚动 */
.animal-list {
    flex: 1;
    /*overflow-y: auto;*/
    overflow: hidden;
    padding: 0; /* 移除顶部padding，让第一个选项紧贴头部 */
    /*scrollbar-width: thin;
    scrollbar-color: #4ecdc4 #2a6e79;*/
    position: relative;
}
/*.animal-list::-webkit-scrollbar {
    width: 8px;
}
.animal-list::-webkit-scrollbar-track {
    background: #2a6e79;
}
.animal-list::-webkit-scrollbar-thumb {
    background-color: #4ecdc4;
    border-radius: 4px;
}*/
/* 隐藏的单选框 */
.animal-radio {
    display: none;
}
/* 动物选项标签 */
.animal-label {
    display: flex;
    align-items: center;
    padding: 18px 25px;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
    position: relative;
    z-index: 1;
    height: 60px;
}
.animal-label:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #fff;
    border-left-color: rgba(255, 255, 255, 0.5);
}
/*.animal-icon {
    font-size: 1.3em;
    margin-right: 15px;
    width: 30px;
    text-align: center;
}*/
.animal-name {
    font-size: 1.6rem;
    font-weight: 600;
}
/* 激活指示器 - 修复错位问题 */
.active-indicator {
    position: absolute;
    width: 100%;
    background-color: #fff;
    border-radius: 5px 0 0 5px;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    left: 0;
    z-index: 0;
    box-shadow: -3px 0 10px rgba(0, 0, 0, 0.1);
    height: 0; /* 初始高度为0，通过选中状态设置具体高度 */
}
/* 选中状态的标签样式 */
#animal1:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal1"],
#animal2:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal2"],
#animal3:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal3"],
#animal4:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal4"],
#animal5:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal5"],
#animal6:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal6"],
#animal7:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal7"],
#animal8:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal8"],
#animal9:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal9"],
#animal10:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal10"],
#animal11:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal11"],
#animal12:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal12"],
#animal13:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal13"],
#animal14:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal14"],
#animal15:checked ~ .animal-encyclopedia .animal-selector .animal-list label[for="animal15"] {
    color: #00323a;
    background-color: #fff;
    border-left: 4px solid #005a6e;
    box-shadow: -3px 0 10px rgba(0, 0, 0, 0.1);
}        
/* 修复激活指示器位置 - 每个标签占固定高度，不依赖百分比 */
/* 关键修复：使用固定高度计算，而不是百分比 */
/* 假设每个标签高度为70px，头部高度为110px */
#animal1:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 0;
}
#animal2:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 60px;
}
#animal3:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 120px;
}
#animal4:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 180px;
}
#animal5:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 240px;
}
#animal6:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 300px;
}
#animal7:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 360px;
}
#animal8:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 420px;
}
#animal9:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 480px;
}
#animal10:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 540px;
}
#animal11:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 600px;
}
#animal12:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 660px;
}
#animal13:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 720px;
}
#animal14:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 780px;
}
#animal15:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: 60px;
    top: 840px;
}
/* 控制内容面板显示 */
#animal1:checked ~ .animal-encyclopedia .content-area #panel1,
#animal2:checked ~ .animal-encyclopedia .content-area #panel2,
#animal3:checked ~ .animal-encyclopedia .content-area #panel3,
#animal4:checked ~ .animal-encyclopedia .content-area #panel4,
#animal5:checked ~ .animal-encyclopedia .content-area #panel5,
#animal6:checked ~ .animal-encyclopedia .content-area #panel6,
#animal7:checked ~ .animal-encyclopedia .content-area #panel7,
#animal8:checked ~ .animal-encyclopedia .content-area #panel8,
#animal9:checked ~ .animal-encyclopedia .content-area #panel9,
#animal10:checked ~ .animal-encyclopedia .content-area #panel10,
#animal11:checked ~ .animal-encyclopedia .content-area #panel11,
#animal12:checked ~ .animal-encyclopedia .content-area #panel12,
#animal13:checked ~ .animal-encyclopedia .content-area #panel13,
#animal14:checked ~ .animal-encyclopedia .content-area #panel14,
#animal15:checked ~ .animal-encyclopedia .content-area #panel15 {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
}
/* 内容面板样式 */
.animal-header {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 0.2rem solid #186e8c;
}
.animal-header .animal-hat {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.animal-title {
    font-size: var(--h2-size-16-30);
    font-weight: 600;
    color: #005a6e;
}
.animal-latin {
    font-style: italic;
    color: #00bcd4;
    font-size: var(--h4-size-12-16);
    margin-top: 1rem;
}
.animal-class {
    /*background: linear-gradient(to bottom, #4ecdc4, #00bcd4);*/
    background: linear-gradient(to bottom, #00bcd4, #005a6e);
    color: #fff;
    padding: 0.6rem var(--section-text-w3l-LR-padding);
    border-radius: 3rem;
    font-weight: 600;
    font-size: var(--h4-size-10-14);
}
.animal-content {
    /*display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 20px;*/
    flex: 1;
    padding: 20px;
    position: relative;
    width: 100%;
    height: auto;
}
.animal-content .animal-image {
    width: 100%;
    height: auto;
    /*height: 300px;*/
    object-fit: cover;
    border-radius: 15px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.35);
}
.animal-intro h3 {
    margin: 40px 0 5px;
    color: #005a6e;
    font-size: var(--paragraph-size-18-22);
    font-weight: 600;
}
.animal-details {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 15px;
            margin-top: 20px;
        }
        
        .detail-item {
            background-color: #f8f9fa;
            padding: 15px;
            border-radius: 10px;
            border-left: 4px solid #4ecdc4;
        }
        
        .detail-label {
            font-weight: bold;
            color: #1a535c;
            font-size: 0.9rem;
            margin-bottom: 5px;
        }
        
        .detail-value {
            color: #555;
            font-size: 1.1rem;
        }
        
.animal-description {
    margin-top: 25px;
    font-size: 1.5em;
    line-height: 1.7;
    color: #444;
}

/*-- //增加加拉帕戈斯动物介绍标签页样式 --*/

/*-- 增加表格样式 --*/
.tab-panel table {
    border: 2px solid #005a6e;
}
.tab-panel table tr td {
    border: 2px solid #005a6e;
    padding: 1rem;
    font-size: var(--product-description-p);
    font-weight: 600;
    text-align: left;
    line-height: 1.8;
}
.tab-panel table tr td.swa {
    color: #000;
    font-size: var(--h4-size-16-20);
    text-align: center;
}
.tab-panel table tr td.swa-1 {
    width: 10%;
}
.tab-panel table tr td.swa-2 {
    width: 45%;
}

@media (max-width: 992px) {
    .tab-panel .left-around-img {
        max-width: 100%;
        margin: 2rem 0;
    }
    .tab-panel .right-around-img {
        max-width: 100%;
        margin: 2rem 0;
    }
    /*.intro-tabpanel .tab-panel {
        padding: 1rem;
    }*/
    /*.content-area {
        padding: 4rem 2rem;
    }*/
    .animal-selector {
        width: 150px;
    }
    .animal-label {
        padding: 1.8rem 0 1.8rem 1rem;
    }
}
@media (max-width: 767px) {
    .tab-panel-body1 .tab-panel-img {
        max-width: 100%;
    }
    .tab-panel-body1 .tab-panel-imgR {
        float: none;
        /*padding: 1.2rem;*/
        margin: 0 0 2rem 0 !important;
    }
    .tab-panel-body1 .tab-panel-imgL {
        float: none;
        /*padding: 1.6rem;*/
        margin: 0 0 2rem 0 !important;
    }
    /*.content-area {
        padding: 2rem 1rem;
    }*/
    .animal-selector {
        width: 50px;
    }
    .animal-label {
        padding: 1.2rem 1rem 1.2rem 1.2rem;
        height: auto;
        line-height: 18px;
    }
    /*.animal-title {
        font-size: clamp(1rem, 5vw, 3.2rem);
    }
    .animal-latin {
        font-size: clamp(1rem, 5vw, 1.6rem);
    }
    .animal-class {
        font-size: clamp(1rem, 5vw, 1.5rem);
        padding: 0.6rem 1rem;
    }*/
    .animal-content {
        padding: 0.5rem;
    }
    /*#animal1:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal2:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal3:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal4:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal5:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal6:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal7:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal8:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal9:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal10:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal11:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal12:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal13:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal14:checked ~ .animal-encyclopedia .animal-selector .active-indicator,
    #animal15:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
    height: auto;
    }*/
    #animal1:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height:78px;
        top: 0;
    }
#animal2:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 96px;
        top: 78px;
    }
#animal3:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 114px;
        top: 174px;
    }
#animal4:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 96px;
        top: 288px;
    }
#animal5:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 132px;
        top: 384px;
    }
#animal6:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 78px;
        top: 516px;
    }
#animal7:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 78px;
        top: 594px;
    }
#animal8:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 132px;
        top: 672px;
    }
#animal9:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 78px;
        top: 804px;
    }
#animal10:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 78px;
        top: 882px;
    }
#animal11:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 132px;
        top: 960px;
    }
#animal12:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 96px;
        top: 1092px;
    }
#animal13:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 150px;
        top: 1188px;
    }
#animal14:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 150px;
        top: 1338px;
    }
#animal15:checked ~ .animal-encyclopedia .animal-selector .active-indicator {
        height: 60px;
        top: 1488px;
    }

}
@media (max-width: 480px) {
    /*.animal-title {
        font-size: clamp(1rem, 5vw, 2rem);
    }
    .animal-latin {
        font-size: clamp(1rem, 5vw, 1.2rem);
    }
    .animal-class {
        font-size: clamp(1rem, 5vw, 1.2rem);
    }*/
}
@media (max-width: 428px) {
    /*.animal-title {
        font-size: clamp(1rem, 5vw, 1.4rem);
    }
    .animal-latin {
        font-size: clamp(1rem, 5vw, 1rem);
    }
    .animal-class {
        font-size: clamp(1rem, 5vw, 1rem);
    }*/
}

@media screen and (max-width: 390px) {
    .animal-header .animal-hat {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 1rem;
    }
}

/*========== //galama_subpage_intro-style ==========*/

/*========== galama_subpage_tour-cruise-style ==========*/
.section_text_ship {
    margin: 0;
    padding: 3rem var(--section-main-all-padding);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.section_text_ship img {
    max-width: 50%;
    height: auto;
    object-fit: cover;
    margin: 2rem 0 2rem 2rem;
    float: right;
    /*shape-outside: margin-box;*/
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    /*transition: transform 0.5s;*/
}
.section_text_shipimg {
    text-align: justify;
}
.section_text_ship h3 {
    margin: 0;
    padding-bottom: 3rem;
    color: #00323a;
    font-size: var(--h2-size-22-32);
    font-weight: 600;
    letter-spacing: 2px;
}
.section_text_ship p {
    margin: 2rem 0 1rem;
    padding: 0;
    /*padding-top: 1em;
    font-size: 1.8rem;*/
    font-size: var(--paragraph-size-16-18);
    font-weight: 600;
    color: #003250;
    line-height: 1.6;
    letter-spacing: 2px;
}
/*-- cruise-carousel图片轮播样式 --*/

    /*-- 修改游轮图片轮播容器 --*/
/* 标签页轮播区域 */
.tabs-carousel-container {
    width: 100%;
    margin: var(--section-main-all-margin) 0 4rem;
    padding: 0 var(--section-main-all-padding);
            /*width: 100%;
            margin-bottom: 40px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 15px;
            padding: 25px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);*/
}
        
        /*.tabs-title {
            font-size: 1.5rem;
            margin-bottom: 25px;
            text-align: center;
            color: #00b4db;
            font-weight: 600;
        }*/
        
.tabs-navigation {
    display: flex;
    flex-wrap: nowrap;
    border-bottom: 2px solid #005a6e;
    margin-bottom: 3rem;
            /*display: flex;
            justify-content: center;
            margin-bottom: 30px;
            flex-wrap: wrap;
            gap: 15px;*/
}
.tab-btn {
    padding: 1.2rem 3rem;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--h4-size-18-24);
    font-weight: 600;
    color: #666;
    position: relative;
    transition: all 0.3s;
    flex: 0 0 auto;
    box-sizing: border-box;
}
.tab-btn:hover {
    padding: 0 4rem;
    color: #005a6e;
            /*background: rgba(0, 180, 219, 0.2);
            color: #fff;*/
}
.tab-btn.active {
    padding: 0 4rem;
    color: #186e8c;
            /*background: rgba(0, 180, 219, 0.4);
            color: #fff;
            border-color: #00b4db;
            box-shadow: 0 0 15px rgba(0, 180, 219, 0.3);*/
}
.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 10px;
    background: #186e8c;
}
.tabs-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    /*padding: 0 5rem;*/
}
.tabs-carousel {
    display: flex;
    flex-grow: 1;
    /*gap: 1rem;*/
    transition: transform 0.5s ease;
    width: 100%;
}
        
.tab-content {
    display: flex;
    flex: 0 0 100%;
    justify-content: center;
    flex-wrap: nowrap;
    min-width: 0;
    max-height: 200px;
    gap: 1.4rem;
    padding: 1rem 0.5rem 3rem;
    box-sizing: border-box;
}
.tab-thumbnail {
    /*flex: 0 0 calc(25% - 3.2rem);*/
    /*width: 220px;
    height: 141px;*/
    box-sizing: border-box;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.3s ease;
    position: relative;
    min-width: 0;
    border: 2px solid transparent;
}
.tab-thumbnail:hover {
    opacity: 1;
    transform: translateY(-8px);
    box-shadow: 0 15px 25px rgba(0, 90, 110, 0.4);
    border-color: #00b4db;
}
.tab-thumbnail.active {
    opacity: 1;
    border-color: #00b4db;
    box-shadow: 0 8px 20px rgba(0, 180, 219, 0.5);
    animation: pulse 2s infinite;
}
        
        .tab-thumbnail img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }
        
        .tab-thumbnail:hover img {
            transform: scale(1.05);
        }
.tab-thumbnail-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    font-size: 1.3rem;
    padding: 10px;
    text-align: center;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}
        
        .tab-thumbnail:hover .tab-thumbnail-overlay {
            transform: translateY(0);
        }
/* 标签页图片轮播控制按钮 */
.tabs-controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
    padding: 0 40px;
}
.tabs-control-btn {
    padding: 8px 20px;
    background: rgba(0, 90, 110, 0.5);
    border: 1px solid rgba(0, 180, 219, 0.8);
    border-radius: 20px;
    color: #bdc3c7;
    font-size: 1.4rem;
    cursor: pointer;
    transition: all 0.3s ease;
}
.tabs-control-btn:hover {
    background: rgba(0, 90, 110, 0.6);
    color: #eee;
}
.tabs-control-btn.active {
    background: rgba(0, 90, 110, 0.6);
    color: #eee;
}
.tabs-control-status {
    font-size: clamp(1rem, 5vw, 1.4rem);
    color: #555;
    min-width: 120px;
    text-align: center;
}
        
/* 标签页轮播导航 */
.tabs-nav-cruise {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 40px;
            height: 40px;
            background: rgba(0, 90, 110, 0.5);
            border: none;
            border-radius: 50%;
            color: rgba(255, 255, 255, 0.5);
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 10;
}
.tabs-nav-cruise:hover {
    color: #fff;
    background: rgba(0, 90, 110, 0.8);
    transform: translateY(-50%) scale(1.1);
}
        
        .tabs-prev {
            left: 5px;
        }
        
        .tabs-next {
            right: 5px;
        }
        
/* 标签页分页指示器 */
        .tabs-pagination {
            display: flex;
            justify-content: center;
            gap: 12px;
            margin-top: 25px;
        }
        
        .tab-page-indicator {
            width: 30px;
            height: 4px;
            background: rgba(255, 255, 255, 0.8);
            border-radius: 2px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .tab-page-indicator.active {
            background: #00b4db;
            width: 40px;
        }
    /*-- //修改游轮图片轮播容器 --*/
    /*-- 主轮播图片容器 --*/
/* 主轮播区域 */
.main-carousel-container {
    width: 100%;
    margin-bottom: 40px;
    padding: 0 var(--main-carousel-container-padding);    /*-- 新增左右内距以缩小图片宽度 --*/
    position: relative;
}
.main-carousel {
    position: relative;
    width: 100%;
    height: 550px;  /*-- 修改图片宽度增加50px --*/
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
    cursor: pointer;
}
        
        .main-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 0.8s ease-in-out;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .main-slide.active {
            opacity: 1;
        }
        
        .main-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }
        
        /*.main-slide:hover img {
            transform: scale(1.03);
        }*/
        
        .slide-info {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
            padding: 30px 20px 20px;
            transform: translateY(5px);
            transition: transform 0.3s ease;
        }
        
        .main-slide:hover .slide-info {
            transform: translateY(0);
        }
        
        .slide-title {
            font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 8px;
        }
        
        .slide-description {
            font-size: 1rem;
            color: #ecf0f1;
            opacity: 0.9;
        }
        
        /* 导航箭头 */
        .carousel-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 50px;
            height: 50px;
            background: rgba(0, 0, 0, 0.6);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 10;
        }
        
        .carousel-nav:hover {
            background: rgba(0, 131, 176, 0.8);
            transform: translateY(-50%) scale(1.1);
        }
.prev-btn {
    left: 120px;    /*-- 增加位置左移100px --*/
}
        
.next-btn {
    right: 120px;   /*-- 增加位置右移100px --*/
}
        
/* 修改：页码显示在右侧 */
.carousel-counter {
    position: absolute;
    bottom: 20px;
    right: 120px;   /*-- 增加位置右移100px --*/
    z-index: 10;
}
.counter {
    display: inline-block;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 1.4rem;
    font-weight: 600;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
        
.current-slide {
    color: #00b4db;
    font-size: 1.6rem;
}
.total-slides {
    color: #bdc3c7;
}
/* 缩略图轮播 - 修复布局问题 */
.thumbnails-container {
    width: 100%;
    margin-top: 30px;
    padding: 0 var(--main-carousel-container-padding);    /*-- 新增左右内距以缩小略缩图宽度 --*/
    position: relative;
}
        
        .thumbnails-title {
            font-size: 1.3rem;
            margin-bottom: 20px;
            text-align: center;
            color: #00b4db;
        }
        
        .thumbnails-wrapper {
            position: relative;
            overflow: hidden;
            padding: 0 60px;
        }
        
        .thumbnails-carousel {
            display: flex;
            transition: transform 0.5s ease;
            width: 100%;
        }
        
        .thumbnail-page {
            display: flex;
            flex: 0 0 100%;
            justify-content: center;
            flex-wrap: wrap;
            min-height: 90px;
            gap: 1px;
            padding: 0 10px;
            box-sizing: border-box;
        }
.thumbnail {
    flex: 0 0 auto;
    width: 120px;
    height: 80px;
    margin: 10px 0 0;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.3s ease;
    position: relative;
    border: 2px solid transparent;
    background: none;
}
        
        .thumbnail:hover {
            opacity: 0.9;
            transform: translateY(-5px);
        }
        
        .thumbnail.active {
            opacity: 1;
            border-color: #00b4db;
            box-shadow: 0 5px 15px rgba(0, 180, 219, 0.4);
        }
        
.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}
        
        .thumbnail-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            font-size: 0.7rem;
            padding: 5px;
            text-align: center;
            transform: translateY(100%);
            transition: transform 0.3s ease;
        }
        
        .thumbnail:hover .thumbnail-overlay {
            transform: translateY(0);
        }
        
        /* 缩略图导航 */
        .thumbnails-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 40px;
            height: 40px;
            background: rgba(0, 0, 0, 0.6);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 10;
        }
        
        .thumbnails-nav:hover {
            background: rgba(0, 131, 176, 0.8);
            transform: translateY(-50%) scale(1.1);
        }
        
        .thumb-prev {
            left: 10px;
        }
        
        .thumb-next {
            right: 10px;
        }
        
        /* 缩略图分页指示器 */
        .thumbnails-pagination {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 20px;
        }
        
        .page-indicator {
            width: 30px;
            height: 4px;
            background: rgba(255, 255, 255, 0.8);
            border-radius: 2px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .page-indicator.active {
            background: #00b4db;
            width: 40px;
        }
    /*-- //主轮播图片容器 --*/
    
    /*-- 修改游轮产品信息页全屏模态 --*/
/* 全屏模态框 */
        .fullscreen-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.95);
            z-index: 1000;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.5s ease;
        }
        
        .fullscreen-modal.active {
            display: flex;
            opacity: 1;
        }
        
        .fullscreen-header {
            width: 100%;
            padding: 20px;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1001;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        
.fullscreen-title {
    font-size: var(--h4-size-18-20);
    color: #fff;
    letter-spacing: 2px;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    text-align: center;
}
.close-btn {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
        
        .close-btn:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: translateY(-50%) rotate(90deg);
        }
        
        .fullscreen-carousel {
            width: 90%;
            height: 80%;
            position: relative;
        }
        
        .fullscreen-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 0.8s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .fullscreen-slide.active {
            opacity: 1;
        }
        
        .fullscreen-slide img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
        
        .fullscreen-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 60px;
            height: 60px;
            background: rgba(255, 255, 255, 0.1);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 1001;
        }
        
        .fullscreen-nav:hover {
            background: rgba(0, 180, 219, 0.8);
            transform: translateY(-50%) scale(1.1);
        }
        
        .fullscreen-prev {
            left: 20px;
        }
        
        .fullscreen-next {
            right: 20px;
        }
        
        /* 全屏计数器 */
        .fullscreen-counter {
            position: absolute;
            bottom: 30px;
            left: 0;
            right: 0;
            text-align: center;
            z-index: 1001;
        }
.fullscreen-counter .counter {
    background: rgba(0, 0, 0, 0.8);
    padding: var(--fullscreen-counter-padding-UD) var(--fullscreen-counter-padding-LR);
    font-size: var(--h4-size-16-18);
}
.fullscreen-counter .counter .current-slide {
    font-size: var(--h4-size-18-20);
}
    /*-- //修改游轮产品信息页全屏模态 --*/
/* 游轮图片轮播容器 */
.cruise-carousel-container {
    max-width: 1138px;
    margin: 4rem auto;
    padding: 0 3rem;
}
.cruise-tabs {
    display: flex;
    border-bottom: 2px solid #005a6e;
    margin-bottom: 3rem;
}
.cruise-tab {
    padding: 1.2rem 3rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 2.4rem;
    font-weight: 600;
    color: #666;
    position: relative;
    transition: all 0.3s;
}
.cruise-tab:hover {
    padding: 0 4rem;
    color: #005a6e;
}
.cruise-tab.active {
    padding: 0 4rem;
    color: #186e8c;
}
.cruise-tab.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 10px;
    background: #186e8c;
}
        
        /* 小图轮播样式 - 修改部分 */
        .small-carousel {
            position: relative;
            overflow: hidden;
            margin: 20px 0;
            padding: 10px 0;
        }
        
        .small-carousel-track {
            display: flex;
            transition: transform 0.3s ease;
            gap: 15px;
            padding: 0 50px;
        }
        
        .small-carousel-item {
            flex: 0 0 180px;
            cursor: pointer;
            transition: all 0.3s;
            border-radius: 6px;
            overflow: hidden;
            position: relative;
        }
        
        /* 去掉当前图片的位移和边框效果 */
        .small-carousel-item.active {
            /* 移除之前的transform和边框效果 */
            /*box-shadow: 0 5px 15px rgba(244,124,72,0.3);*/
        }
        
        .small-carousel-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
        }
        
        .small-carousel-item img {
            width: 100%;
            height: 120px;
            object-fit: cover;
            display: block;
        }
        
        .small-carousel-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 100%;
            display: flex;
            justify-content: space-between;
            pointer-events: none;
        }
        
        .small-carousel-btn {
            background: rgba(255,255,255,0.9);
            border: none;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            cursor: pointer;
            font-size: 16px;
            color: #333;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            pointer-events: all;
        }
        
        .small-carousel-btn:hover {
            background: white;
            transform: scale(1.1);
        }
        
/* 行程图片展示 */
.itinerary-container {
    width: 100%;
    margin: 0;
    padding: 0 3rem;
    background: url(../images/plane-BG.png) no-repeat;
    background-position: bottom;
    background-size: contain;
}
.itinerary-title {
    text-align: center;
    font-size: var(--paragraph-size-20-26);
    color: #00323a;
    margin-bottom: 4rem;
    font-weight: 600;
}
.itinerary-main {
    text-align: center;
    margin-bottom: 3rem;
}
        
        .main-image-container {
            display: inline-block;
            max-width: 800px;
            margin: 0 auto;
            cursor: pointer;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            transition: all 0.3s;
        }
        
        .main-image-container:hover {
            transform: scale(1.01);
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
        }
        
        .main-image {
            max-width: 100%;
            height: auto;
            display: block;
        }
.itinerary-thumbnails {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}
        
/*.thumbnail {
    width: 140px;
    height: 90px;
    padding: 9px;
    border: 2px solid transparent;
    border-radius: 15px;
    background: none;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s;
    opacity: 0.7;
}
        
        .thumbnail:hover {
            opacity: 1;
            transform: translateY(-5px);
        }
.thumbnail.active {
    border-color: #186e8c;
    opacity: 1;
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(24,10,140,0.3);
        }
.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}*/
/* 行程文字说明容器 */
.itinerary-caption-container {
    max-width: 800px;
    margin: 2rem auto;
    /*padding-bottom: 22rem;*//*-- 须根据文字信息内容调整底部内距！ --*/
    padding-bottom: 16rem;
    position: relative;
}
.itinerary-caption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    /*display: flex;
    align-items: center;
    justify-content: center;*/
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 2rem 2.5rem;
    border-radius: 10px;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255,255,255,0.1);
}
.itinerary-caption.active {
    opacity: 1;
}
.caption-title {
    font-size: var(--h4-size-16-20);
    /*margin-bottom: 10px;*//*-- 须根据文字信息内容调整底部外距！ --*/
    color: #005a6e;
    font-weight: 600;
    text-align: center;
}
.caption-content {
    font-size: 1.1em;
    font-weight: 600;
    color: #222;
}
    /*-- 新增亮点轮播图片容器 --*/
/* 行程亮点轮播样式 */
.highlight-carousel-container {
    max-width: 1138px;
    margin: 40px 0;
    padding: 0 var(--highlight-carousel-container-padding);
}
.div-vanish-away {
    display: none;
}
.highlight-title {
    text-align: center;
    font-size: var(--paragraph-size-20-26);
    color: #00323a;
    margin-bottom: 40px;
    position: relative;
    font-weight: 600;
}
/*.highlight-title:before {
    content: "✧";
    margin-right: 10px;
    color: #e74c3c;
}
.highlight-title:after {
    content: "✧";
    margin-left: 10px;
    color: #e74c3c;
}*/

/* 复用主轮播的样式结构 */
.highlight-main-carousel-container {
    position: relative;
    width: 100%;
    height: var(--highlight-slide-img-height);
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    margin-bottom: 20px;
    background-color: #f8f9fa;
    cursor: pointer;
}

.highlight-main-carousel {
    display: flex;
    transition: transform 0.5s ease;
    height: 100%;
}

.highlight-slide {
    flex: 0 0 100%;
    height: 100%;
    position: relative;
    opacity: 0;
    transition: opacity 1.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.highlight-slide.active {
    opacity: 1;
}

.highlight-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.highlight-slide .slide-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: white;
    padding: 20px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.highlight-slide .slide-title {
    font-size: 20px;
    margin-bottom: 5px;
    font-weight: bold;
}

.highlight-slide .slide-description {
    font-size: 14px;
    opacity: 0.9;
}

.highlight-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.2);
    border: none;
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.highlight-carousel-nav.highlight-prev {
    left: 15px;
}

.highlight-carousel-nav.highlight-next {
    right: 15px;
}

.highlight-carousel-nav:hover {
    background-color: #1abc9c;
}

.highlight-carousel-counter {
    position: absolute;
    bottom: var(--highlight-carousel-counter-bottom);
    right: var(--highlight-carousel-counter-right);
    background-color: none;
    color: #fff;
    padding: 0;
    border-radius: 20px;
    font-size: var(--highlight-carousel-counter-font-size);
    z-index: 10;
}
.highlight-carousel-counter > .counter {
    padding: var(--highlight-carousel-counter-padding-UD) var(--highlight-carousel-counter-padding-LR);
    font-size: var(--highlight-carousel-counter-font-size);
}
.highlight-current-slide {
    color: #00b4db;
    font-size: var(--highlight-current-slide-font-size);
}
.highlight-total-slides {
    color: #bdc3c7;
}

/* 缩略图容器 */
.highlight-thumbnails-container {
    margin-top: 20px;
}

.highlight-thumbnails-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;   /*-- 重要！防止略缩图溢出显示 --*/
}

.highlight-thumbnails-carousel {
    display: flex;
    /*overflow: hidden;*/   /*-- 重要！不能加防止溢出 --*/
    flex-grow: 1;
    transition: transform 0.3s ease;
    width: 100%;
}

.highlight-thumbnail-page {
    display: flex;
    flex: 0 0 100%;
    justify-content: flex-start;
    flex-wrap: nowrap; /* 确保不换行 */
    min-width: 0; /* 防止溢出 */
    padding: 0 2px; /* 添加容器内边距，确保缩略图不会碰到边缘 */
    box-sizing: border-box;
}

.highlight-thumbnail {
    /*flex: 0 0 12.5%; /* 每页显示8个缩略图 (12.5% each) */
    padding: 0 2px; /* 减少左右padding，防止重叠 */
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    position: relative;
    min-width: 0; /* 防止溢出 */
    box-sizing: border-box;
}
/* 行程亮点缩略图响应式调整 */
@media (min-width: 1200px) {
    .highlight-thumbnail {
        flex: 0 0 12.5%; /* 每页显示8个缩略图 (12.5% each) */
    }
}
@media (min-width: 993px) and (max-width: 1199px) {
    .highlight-thumbnail {
        flex: 0 0 14.285%; /* 每页显示7个缩略图 */
    }
}
@media (min-width: 769px) and (max-width: 992px) {
    .highlight-thumbnail {
        flex: 0 0 16.666%; /* 每页显示6个缩略图 */
    }
}
@media (min-width: 577px) and (max-width: 768px) {
    .highlight-thumbnail {
        flex: 0 0 20%; /* 每页显示5个缩略图 */
    }
}
@media (max-width: 576px) {
    .highlight-thumbnail {
        flex: 0 0 25%; /* 每页显示4个缩略图 */
    }
}

.highlight-thumbnail:hover,
.highlight-thumbnail.active {
    opacity: 1;
}

.highlight-thumbnail img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    border: 0 solid transparent;
    box-shadow: 0 2px 1px rgba(0,0,0,0.4);
    transition: border 0.3s ease;
}

.highlight-thumbnail.active img {
    border-color: #1abc9c;
    border-width: 2px;
}

.highlight-thumbnail-overlay {
    position: absolute;
    bottom: 0;
    left: 2px;
    right: 2px;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 4px 5px;
    font-size: 1.2rem;
    text-align: center;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    opacity: 0;
    transition: opacity 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.highlight-thumbnail:hover .highlight-thumbnail-overlay {
    opacity: 1;
}

.highlight-thumbnails-nav {
    background-color: rgba(0, 0, 0, 0.2);
    color: #fff;
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0; /* 防止按钮被压缩 */
    z-index: 10;
}

.highlight-thumbnails-nav:hover {
    background-color: #1abc9c;
}

.highlight-thumbnails-nav.highlight-thumb-prev {
    margin-right: 10px;
}

.highlight-thumbnails-nav.highlight-thumb-next {
    margin-left: 10px;
}

.highlight-thumbnails-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.highlight-page-indicator {
    width: 30px;
    height: 4px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.highlight-page-indicator.active {
    background: #00b4db;
    width: 40px;
    /*transform: scale(1.2);*/
}
/* 响应式调整 - 修改游轮细节缩略图数量（每页4个最多到每页1个最少的响应式） */
@media (min-width: 993px) {
    .tab-thumbnail {
        flex: 0 0 calc(25% - 3.2rem);
    }
}
@media (min-width: 769px) and (max-width: 992px) {
    .tab-thumbnail {
        flex: 0 0 calc(33.333% - 3.8rem);
    }
}
@media (min-width: 577px) and (max-width: 768px) {
    .tab-thumbnail {
        flex: 0 0 calc(50% - 5rem);
    }
}
@media (max-width: 576px) {
    .tab-thumbnail {
        flex: 0 0 100%;
    }
}

/* 响应式调整 - 修改行程亮点缩略图数量（每页8个的基础上的响应式） */
@media (max-width: 1400px) {
    /*.highlight-thumbnail {
        flex: 0 0 14.285%; /* 每页显示7个缩略图 *
    }*
}

@media (max-width: 1200px) {
    .highlight-thumbnail {
        flex: 0 0 16.666%; /* 每页显示6个缩略图 *
    }*/
}
@media (max-width: 1199px) {
    /*.tab-thumbnail {
        flex: 0 0 21%;
    }*/
}
@media (max-width: 1199px) {
    /*.main-carousel-container {
        padding: 0 6px;
    }*/
}
@media (max-width: 1024px) {
    /*.tabs-carousel-container {
        margin: 2rem auto;
        padding: 0 1rem;
    }*/
    /*.tab-thumbnail {
        flex: 0 0 24%;
    }*/
    .tabs-controls {
        padding: 0;
    }
    .tabs-control-btn {
        font-size: 0;
    }
    .tabs-control-btn>i {
        font-size: 1.6rem;
    }
    /*.tabs-nav-cruise,
    .highlight-carousel-nav,
    .highlight-thumbnails-nav,*/
    .carousel-nav,
    /*.thumbnails-nav,*/
    .carousel-counter {
        display: none;
    }
    .itinerary-container {
        padding: 0 1rem;
    }
    /*.main-carousel-container {
        padding: 0;
    }*/
    .main-carousel {
        height: 580px;
    }
}
@media (max-width: 992px) {
    .section_text_ship img {
        max-width: unset;
        width: 100%;
        margin: 0 0 2rem 0;
        float: none;
    }
    /*.highlight-carousel-container {
        padding: 0 34px;
    }*/
    /*.highlight-main-carousel-container {
        height: 400px;
    }*/
    
    /*.highlight-thumbnail {
        flex: 0 0 20%; /* 每页显示5个缩略图 *
    }*/
}
@media (max-width: 820px) {
    .main-carousel {
        height: 440px;
    }
}
@media (max-width: 640px) {
    .main-carousel {
        height: 370px;
    }
}
@media (max-width: 625px) {
    .tab-btn {
        padding: 1.2rem 1rem;
    }
    .tab-btn:hover {
        padding: 0 2rem;
    }
    .tab-btn.active {
        padding: 0 2rem;
    }
}
@media (max-width: 576px) {
    .main-carousel {
        height: 310px;
    }
    /*.thumbnails-container {
        padding: 0 59px;
    }*/
    .tabs-nav-cruise {
        background: rgba(0, 0, 0, 0.1);
    }
}
@media (max-width: 566px) {
    /*.tab-thumbnail {
        flex: 0 0 39%;
    }*/
}
@media (max-width: 520px) {
    /*.tab-thumbnail {
        flex: 0 0 38%;
    }*/
}
@media (max-width: 500px) {
    /*.tab-thumbnail {
        flex: 0 0 37%;
    }*/
    .main-carousel {
        height: 265px;
    }
}
@media (max-width: 495px) {
    /*.tabs-carousel-container {
        padding: 0;
    }*/
    .tab-btn {
        padding: 1.2rem 1rem;
    }
    .tab-btn:hover {
        padding: 0 2rem;
    }
    .tab-btn.active {
        padding: 0 2rem;
    }
}
@media (max-width: 480px) {
    .main-carousel {
        height: 255px;
    }
    /*.thumbnails-container {
        padding: 0;
    }*/
}
@media (max-width: 479px) {
    /*.tab-thumbnail {
        flex: 0 0 74%;
    }*/
}
@media (max-width: 465px) {
    .tab-btn {
        padding: 1.2rem 0.5rem;
    }
    .tab-btn:hover {
        padding: 0 1rem;
    }
    .tab-btn.active {
        padding: 0 1rem;
    }
}
@media (max-width: 430px) {
    .tabs-controls {
        gap: 5px;
    }
    .main-carousel {
        height: 222px;
    }
}
@media (max-width: 400px) {
    .main-carousel {
        height: 200px;
    }
}
@media (max-width: 360px) {
    /*.tab-thumbnail {
        flex: 0 0 62%;
    }*/
}
@media (max-width: 390px) {
    /*.tab-thumbnail {
        flex: 0 0 66%;
    }*/
    .main-carousel {
        height: 195px;
    }
}
@media (max-width: 375px) {
    .main-carousel {
        height: 185px;
    }
}
@media (max-width: 360px) {
    .main-carousel {
        height: 178px;
    }
}
@media (max-width: 330px) {
    /*.tab-thumbnail {
        flex: 0 0 60%;
    }*/
}
@media (max-width: 300px) {
    /*.tab-thumbnail {
        flex: 0 0 50%;
    }*/
}


@media (max-width: 768px) {
    /*.highlight-main-carousel-container {
        height: 350px;
    }*/
    
    /*.highlight-thumbnail {
        flex: 0 0 25%; /* 每页显示4个缩略图 *
    }*/
}

@media (max-width: 576px) {
    /*.highlight-main-carousel-container {
        height: 300px;
    }*/
    
    /*.highlight-thumbnail {
        flex: 0 0 33.333%; /* 每页显示3个缩略图 *
    }*/
    
    .highlight-title {
        /*font-size: 20px;*/
    }
}

@media (max-width: 480px) {
    /*.highlight-carousel-container {
        padding: 0 16px;
    }*/
    /*.highlight-thumbnail {
        flex: 0 0 50%; /* 每页显示2个缩略图 *
    }*/
}

/* 主轮播的缩略图样式 - 在原有的CSS后添加 */
.thumbnail {
    /*flex: 0 0 16.666%;  每页显示6个缩略图 */
    padding: 5px;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    min-width: 0; /* 防止溢出 */
    height: auto;
    box-sizing: border-box;
}

/* 主轮播缩略图响应式调整 */
@media (min-width: 1200px) {
    .thumbnail {
        flex: 0 0 16.666%; /* 每页显示6个缩略图 */
    }
}
@media (min-width: 993px) and (max-width: 1199px) {
    .thumbnail {
        flex: 0 0 20%; /* 每页显示5个缩略图 */
    }
}
@media (min-width: 769px) and (max-width: 992px) {
    .thumbnail {
        flex: 0 0 25%; /* 每页显示4个缩略图 */
    }
}
@media (min-width: 577px) and (max-width: 768px) {
    .thumbnail {
        flex: 0 0 33.333%; /* 每页显示3个缩略图 */
    }
}
@media (max-width: 576px) {
    .thumbnail {
        flex: 0 0 50%; /* 每页显示2个缩略图 */
    }
}

    /*-- //新增亮点轮播图片容器 --*/
/*-- 行程和更多信息文字样式 --*/
.pailie {
    margin: 0;
    padding: 1rem 0;
    /*padding-bottom: 40px;*/
}
.pailie .ptitle  {
    margin: 0 var(--section-main-all-margin);
    padding: 2rem 0;
    text-align: center;
    font-size: var(--paragraph-size-20-26);
    color: #00323a;
    font-weight: 600;
}
.pailieA {
    margin: 0;
    padding-top: 1rem;
    padding-bottom: 4rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    justify-items: center;
}
.pailie .pailie4 p {
    padding: 0 1.5rem 0 1rem;
    font-size: var(--product-description-p);
    font-weight: 600;
    color: #222;
}
.pailie .pailie4 p span {
    color: #186e8c;
    /*font-size: 2.2rem;*/
    font-size: var(--h4-size-18-20);
    font-weight: 600;
    letter-spacing: 2px;
    background: url(../images/arrow.png) no-repeat;
    background-position: right;
    background-size: contain;
    /*padding-right: 3.6rem;*/
}
.pailie .pailie4 ul {
    padding-top: 2.5rem;
    padding-left: 1rem;
}
.pailie .pailie4 ul span {
    font-size: var(--h4-size-16-18);
    font-weight: 600;
    color: #000;
}
.pailie .pailie4 ul li {
    display: block;
    color: #222;
    font-size: var(--product-description-p);
    font-weight: 600;
    text-align: left;
    letter-spacing: 1.5px;
    margin: 1rem 0;
}
.pailieB {
    margin: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}
.pailie .pailie3 {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
.pailie .pailie3 p {
    padding: 1.5rem;
    background: url(../images/dot.png) no-repeat;
    background-position: left 10px center;
    background-size: contain;
}
.pailie .pailie3 p span {
    color: #000;
    font-size: var(--h4-size-18-20);
    font-weight: 600;
    letter-spacing: 2px;
    padding: 1rem 2rem;
    border: 2px solid #000;
}
.pailie .pailie3 ul {
    padding-left: 1.5rem;
}
.pailie .pailie3 ul li {
    margin: 1rem 0;
    display: block;
    color: #222;
    font-size: var(--paragraph-size-15-17);
    font-weight: 600;
    text-align: left;
    letter-spacing: 1.5px;
}

/*-- //cruise-carousel图片轮播样式 --*/
/*========== //galama_subpage_tour-cruise-style ==========*/




/*-- slider-up-arrow --*/
#toTop {
	display: none;
	text-decoration: none;
	position: fixed;
	bottom: 3%;
	right: 3%;
	overflow: hidden;
	width: 32px;
	height: 32px;
	border: none;
	text-indent: 100%;
	background: url("../images/move-up.png") no-repeat 0px 0px;
}
#toTopHover {
	width: 32px;
	height: 32px;
	display: block;
	overflow: hidden;
	float: right;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha(opacity=0);
}
/*-- //slider-up-arrow --*/