
/*全程支持Support at Every Stage开始*/

.youshi_all{
background-color: #fcfcfc;
width:100%;
background-image: url(/img/bg/21.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
}

.container {
max-width: 1280px;
margin: 0 auto;			
padding: 60px 20px;
}
.section-title {
margin-bottom: 40px;
}
.section-title h2 {
font-size: 34px;
font-weight: 700;
color: #111111;
margin-bottom:12px;
}
.section-title p {
font-size:16px;
color:#444444;
}
/* 网格布局，2行4列 */
.step-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap:24px;
}
.step-card {
border-radius:14px;
overflow:hidden;
}
.card-text {
border:1px solid #999999;
padding:24px 22px;
border-radius:14px;
background-color:#f1f4f9;
position:relative;
}
.card-text.white-bg {
background-color:#f1f6fc;
border:none;
}
.num-badge {
width:44px;
height:44px;
background-color:#1a1a1a;
color:#fff;
font-size:24px;
font-weight:bold;
display:flex;
align-items:center;
justify-content:center;
border-radius:8px;
margin-bottom:18px;
}
.card-text h3 {
font-size:22px;
font-weight:600;
margin-bottom:12px;
color:#111;
}
.card-text p {
font-size:15px;
line-height:1.6;
color:#333;
}
.card-img {
height:100%;
}
.card-img img {
width:100%;
height:250px;
object-fit:cover;
border-radius:14px;
display:block;
}
/* 响应式 */
@media (max-width:992px) {
.step-grid {
grid-template-columns: repeat(2,1fr);
}
.section-title h2 {font-size: 26px;text-align: center;}
.section-title p {font-size: 14px;text-align: center;}
}
@media (max-width:768px) {
.step-grid {
grid-template-columns: 1fr;
}
.container {
padding: 30px 20px 15px 20px;
}
.section-title {
margin-bottom: 20px;
}

.card-img img {height: 200px;}

}
/*全程支持Support at Every Stage结束*/




/*优惠机票开始*/

/* 标题模块 */
.section-heading {
text-align: center;
margin-bottom: 0px;
}
.main-titlee {
font-size: 35px;
color: #083d81;
font-weight: 600;
margin:50px auto 10px auto;
width:90%;

}
.sub-title {
font-size: 18px;
color: #083d81;
}



.page-wrap_all{
background-image: url(/img/bg/24.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
padding-bottom:50px;}

.page-wrap {
max-width: 1200px;
margin: 0 auto;
padding:10px;
}
/* 卡片容器，自适应网格 */
.card-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 28px;
}
.travel-card {
display: flex;
flex-direction: column;
gap:16px;
}
.card-img-wrap {
width: 100%;
border-radius:8px;
overflow:hidden;
}
.card-img-wrap img {
width:100%;
height: 280px;
object-fit: cover;
display:block;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: baseline;
}
.city-name {
font-size:17px;
color:#083d81;
font-weight:500;
max-width:200px;

white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;

}
.rating {
color:#f59e0b;
font-size:20px;
font-weight:bold;
}
.card-subtitle {
color:#666;
font-size:13px;
margin:4px 0 12px;
}
.price-area {
display:flex;
align-items:center;
gap:12px;
}
.price-current {
font-size:17px;
font-weight:bold;
color:#B72525;
}
.price-original {
color:#999;
text-decoration: line-through;
font-size:13px;
}
/* 移动端：屏幕小于768px强制一行2列 */
@media (max-width: 768px) {

.page-wrap_all {    
padding-bottom: 20px;
}

.rating{ display:none;}
.main-titlee {
font-size: 24px;
line-height:30px;
margin-bottom: 10px;
margin-top:20px;
}
.sub-title {
font-size: 14px;
}
.card-container {
grid-template-columns: repeat(2, 1fr);
gap: 16px;
padding-top:15px;
}
.city-name {
font-size: 14px;
}
.price-current {
font-size: 14px;
}
.card-img-wrap img {
height: 200px;
}
}
/*优惠机票结束*/


/*航空公司开始*/
.airline-wrap_all { background-color: #edf2ff; width:100%; }	
.airline-wrap {

padding: 120px 40px;
display: flex;
gap: 60px;
align-items: center;
max-width: 1280px;
margin:auto
}
.airline-text {
flex: 1;
max-width: 420px;
}
.airline-text h2 {
font-size: 26px;
color: #083d81;
margin-bottom: 28px;
line-height: 1.2;
}
.airline-text p {
font-size: 15px;
color: #083d81;
line-height: 1.7;
margin-bottom: 16px;
}
.airline-logos {
flex: 1.6;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px 24px;
align-items: center;
}
.logo-item {
display: flex;
justify-content: center;
align-items: center;
}
.logo-item img {
max-height: 52px;
object-fit: contain;
}
/* 响应式 */
@media(max-width: 1200px) {
.airline-wrap {
flex-direction: column;
}
.airline-text {
max-width: 100%;
}
}
@media(max-width:768px) {
.airline-logos {
grid-template-columns: repeat(2,1fr);
}
.airline-text h2 {
font-size: 20px;
margin-bottom:15px;				
}
.airline-text p {
font-size: 14px;           
}
.airline-wrap {
flex-direction: column;
gap: 20px;
padding: 50px 40px;
}					
}
/*航空公司结束*/



/*fq开始*/
.faq-all{
width:100%;
background-image: url(/img/bg/bg2.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
padding-bottom:30px;
}
.faq-container {
max-width: 640px;
margin: 0px auto;
padding-top:50px;
}
.faq-title {
text-align: center;
margin-bottom: 28px;
}
.faq-title h1 {
font-size: 30px;
font-weight: 700;
color: #083d81;
margin-bottom:10px;
}
.faq-title p {
font-size:14px;
color:#444444;
line-height:1.2;

}
.faq-item {
border:1px solid #ddd;
border-radius:16px;
background:#ffffff;
margin-bottom:8px;
overflow:hidden;
}
.faq-header {
padding:17px 26px;
display:flex;
justify-content: space-between;
align-items:flex-start; /* 改为顶部对齐，多行标题不会垂直居中裁切 */
cursor:pointer;
gap:16px;
outline: none;
}
.faq-header h3 {
font-size:18px;
font-weight:600;
color:#083d81;
flex: 1;
/* 默认只显示1行 */
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* 激活展开时，取消单行限制，完整显示标题 */
.faq-item.active .faq-header h3{
display:block;
overflow:visible;
}

.icon {
width: 13px;
height: 13px;
position: relative;
flex-shrink: 0;
transition: transform 0.32s ease;
margin-top:4px; /* 箭头和多行标题顶部对齐微调 */
}
.icon::after {
content: "";
position: absolute;
top: 45%;
left: 20%;
width: 50%;
height: 50%;
border-right: 2px solid #111;
border-bottom: 2px solid #111;
transform: rotate(45deg);
}
/* 面板过渡参数和箭头完全对齐 */
.faq-body {
height: 0;
overflow:hidden;
transition: height 0.32s ease;
padding:0 26px;
}
.faq-body-inner {
padding:0 0 26px 0;
}
.faq-body p {
font-size:14px;
color:#606060;
line-height:1.65;
}
.faq-item.active .icon {
transform: rotate(180deg);
}
/* 移动端适配 */
@media(max-width:780px){
.faq-title h1{
font-size:23px;
}
.faq-header h3{
font-size:14px;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.faq-item.active .faq-header h3{
display:block;
overflow:visible;
}
.faq-header {
padding: 15px 13px
}
.faq-container{ max-width:94%;}
.faq-body{padding: 0 15px;}

.faq-item {border-radius: 8px;}
}

/*fq结束*/



/*目的地介绍开始*/

.container_mudidi_all{ 
width:100%;
background-image: url(/img/bg/22.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
padding:25px 0 80px 0;
}


.container_mudidi {
max-width: 1200px;
margin: 0 auto;
}


/* ========== 电脑端卡片 ========== */
.card-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;

}
.city-card {
width: calc(33.3333% - 15px);
border-radius: 8px;
overflow: hidden;
background: #fff;
/* 默认阴影，和你第一张图一致 */
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
transition: all 0.3s ease;
cursor: pointer;
margin-bottom:10px;
}
/* hover悬浮阴影，浮起效果 */
.city-card:hover {
box-shadow: 0 12px 30px rgba(0,0,0,0.16);
transform: translateY(-4px);
}
/* 图片容器：隐藏溢出 */
.img-box {
width: 100%;
height: 170px;
overflow: hidden;
}
.card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.8s ease;
}
/* 鼠标悬浮图片放大 */
.city-card:hover .card-img {
transform: scale(1.1);
}
.card-text-wrap {
padding: 30px 50px 40px 50px;
text-align: center;
}
.card-text-wrap h3 {
font-size: 20px;
color: #083d81;
margin-bottom: 10px;
text-shadow: 0 1px 4px rgba(0,0,0,0.1);			
}
.divider-line {
width: 26px;
height: 3px;
background-color: #666;
margin: 0 auto 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.25);
}
.card-text-wrap p {
font-size: 14px;
color: #666;
text-align: left;			


display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
overflow: hidden;
line-height: 25px;
height: 50px;


}
/* ========== 移动端：变成单张大图卡片 ========== */
@media (max-width:768px) {

.container_mudidi_all {padding: 18px 0 30px 0;}	

.card-grid {
display: flex;
flex-wrap: wrap;
padding:15px 15px 0 15px;
margin:auto;
gap: 12px;
}


.card-text-wrap h3 {font-size: 20px;margin-bottom: 0px;}        
/* 移动端卡片重写样式 */
.city-card {
width: 100%;				
margin:auto;
position: relative;
margin:2px auto;
border-radius: 10px;
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.card-img {
min-height: 195px;
}
.city-card:hover {           
transform: translateY(0px);
}
.card-text-wrap {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
padding: 34px 35px 17px 35px;
background: linear-gradient(transparent, rgba(0,0,0,0.65));
color: #fff;
text-align: left;
}
.card-text-wrap h3 {
color: #fff;
font-size: 18px;
text-align: left;
}
.divider-line {
display: none;
}
.card-text-wrap p {
color: #fff;
font-size: 13px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
overflow: hidden;
line-height: 16px;
height: 32px;
margin-top: 5px;
}
.m_yincang{ display:none}
}
/*目的地介绍结束*/
