/* ===== 通用卡片外观 ===== */
.card{
  background:#fff;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  padding:1.25rem 1.25rem;
  margin:1rem 0 1.5rem;
}

/* ===== 酒店简介（顶部大图轮播） ===== */
.hotel-intro{
  display:grid;
  grid-template-columns:1fr; /* 本页为单列 */
  gap:1rem;
  margin:0;
  padding:0;
  max-width:100%;
}
.hotel-intro__photo{
  position:relative;
  width:100%;
  height:100vh;          /* 占满视口高度 */
  overflow:hidden;
  border-radius:0;
}
.image-slider{ position:relative; width:100%; height:100%; }
.slider-image{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0; transition:opacity .5s ease;
}

/* 轮播小圆点与左右箭头 */
.slider-dots{
  position:absolute; bottom:10px; left:50%;
  transform:translateX(-50%);
  display:flex; gap:8px;
}
.dot{ width:12px; height:12px; border-radius:50%;
  background:rgba(255,255,255,.6); cursor:pointer; }
.dot.active{ background:rgba(255,255,255,1); }
.slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(0,0,0,.5); border:none; color:#fff;
  font-size:24px; width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:1;
}
.prev{ left:10px; }
.next{ right:10px; }
.slider-arrow:hover{ background:rgba(0,0,0,.7); }

/* 小屏轮播高度 */
@media (max-width:900px){
  .hotel-intro__photo{ height:350px; }
}



/* ===== 交通方式 ===== */
.transport-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:1rem;
}
.transport-card{
  background:#fff; border-radius:10px; padding:1rem;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
  display:flex; gap:.75rem; align-items:flex-start;
}
.t-ico{ font-size:1.4rem; line-height:1; }

/* ===== 长沙城市简介（文字 + 景点网格） ===== */
.city-brief{ display:block; }
.city-brief__photos{ display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
.city-brief__photos img{
  width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:8px; display:block;
}

/* 景点四列网格 */
.sights-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.9rem; margin-top:.5rem; align-items:start;
}
.sight{ display:flex; flex-direction:column; }
.sight img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  border-radius:10px; display:block;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.sight figcaption{
  margin-top:.4rem; text-align:center;
  font-size:.95rem; line-height:1.5; color:#2e3f56;
}
/* 响应式列数 */
@media (max-width:1024px){ .sights-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .sights-grid{ grid-template-columns:1fr; } }

/* 文本微调 */
.city-brief__text h3{
  margin:0 0 .5rem; font-size:1.25rem; color:var(--primary-color);
  font-weight:700; line-height:1.3;
}
.city-brief__text p{ margin:0 0 .5rem; line-height:1.8; }
.city-highlights{
  margin:.5rem 0 0; padding-left:1.1rem;
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.25rem .75rem; list-style:disc;
}
@media (max-width:600px){ .city-highlights{ grid-template-columns:1fr; } }

/* ===== 图片放大遮罩 & 指针样式 ===== */
.img-overlay{
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.75);
  justify-content:center; align-items:center; z-index:9999;
}
.img-overlay.active{ display:flex; }
.img-overlay img{
  max-width:92vw; max-height:92vh; border-radius:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.is-zoomable{ cursor:zoom-in; }


/* === Location（三列）：左文 / 中图 / 右图 === */
.event-info .event-info-grid--3col{
  display: grid;
  /* 左列稍宽；中右两列等宽并可缩放，避免溢出容器 */
  grid-template-columns: 1.15fr minmax(240px, 1fr) minmax(240px, 1fr);
  column-gap: .75rem;          /* 中右两列更靠近 */
  align-items: start;
}
/* 左列与图片区拉开一点距离（只作用三列版本） */
.event-info .event-info-grid--3col .event-text{
  margin-right: 1.25rem;
}

/* 三列版本中：约束每张图尺寸，防止撑破布局 */
.event-info .event-photo img{
  width: 100%;
  height: auto;                /* 自适应高度更稳 */
  max-height: 220px;           /* 需要更矮就调成 200/180 */
  object-fit: cover;
  border-radius: 8px;
  display: block;
  box-shadow: 0 5px 15px rgba(0,0,0,.06);
}

/* 兜底：无论哪种结构，位置区内图片都不超过容器 */
.event-info img{
  max-width: 100%;
  height: auto;
}

/* 小屏回退为单列 */
@media (max-width: 900px){
  .event-info .event-info-grid--3col{ grid-template-columns: 1fr; }
  .event-info .event-info-grid--3col .event-text{ margin-right: 0; }
}


/* ===== 酒店房型与价格表格 ===== */
.pricing-table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.pricing-table th,
.pricing-table td {
  padding: 1.2rem;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.pricing-table th {
  background-color: var(--primary-color, #0066cc);
  color: white;
  font-weight: 600;
}

.pricing-table tr:last-child td {
  border-bottom: none;
}

.pricing-table tr:hover {
  background-color: #f5f9ff;
}

.price {
  font-weight: bold;
  color: var(--primary-color, #0073aa);
  font-size: 1.2rem;
}

/* 响应式优化 */
@media (max-width: 700px) {
  .pricing-table thead {
    display: none;
  }
  .pricing-table tr {
    display: block;
    margin-bottom: 1rem;
    border-bottom: 2px solid #f0f0f0;
  }
  .pricing-table td {
    display: block;
    padding: 0.8rem 1rem;
  }
  .pricing-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    color: var(--primary-color, #0066cc);
    margin-bottom: 0.3rem;
  }
}

/* ===== 酒店房型与价格模块 ===== */
section .pricing-table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}


/* 表头样式 */
.pricing-table thead th {
  background-color: var(--primary-color, #0066cc);
  color: #fff;
  text-align: left;
  font-weight: 600;
  padding: 1.2rem;
  font-size: 1rem;
  letter-spacing: 0.5px;
}

/* 表格内容 */
.pricing-table td {
  padding: 1.2rem;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
  transition: background-color 0.3s ease;
}

/* 行悬浮时淡蓝色背景 */
.pricing-table tbody tr:hover {
  background-color: #f5f9ff;
}

/* 最后一行去掉底边线 */
.pricing-table tr:last-child td {
  border-bottom: none;
}

/* 价格列样式 */
.pricing-table .price {
  font-weight: bold;
  color: var(--secondary-color, #0073aa);
  font-size: 1.2rem;
}

/* 中英文文本对齐 */
.pricing-table .lang-zh,
.pricing-table .lang-en {
  display: block;
  line-height: 1.6;
}
