/*
Theme Name: WENS TravelGo
Theme URI: https://wensolutions.com/themes/wens-travelgo/
Template: wens-haelo
Author: WEN Solutions
Author URI: https://wensolutions.com/
Description: Wens TravelGo is a modern, feature-rich, and responsive WordPress theme built for travel agencies, tour operators, and holiday planners. With its professional layout and easy-to-use design, TravelGo provides the perfect platform to showcase tour packages, destinations, and travel experiences. The theme comes with seamless WP Travel plugin integration, enabling you to manage trips, itineraries, bookings, and payments directly from your website. Designed for performance and flexibility, TravelGo ensures a fast-loading, mobile-friendly, and SEO-optimized experience—helping you attract and convert more travelers online. Packed with powerful features, Wens TravelGo is fully responsive and mobile-ready, ensuring a flawless browsing experience on all devices. It integrates perfectly with the WP Travel plugin to simplify the management of trips and bookings, while its clean design makes it easy to highlight tours and destinations in an engaging way. The theme offers customizable homepage sections to adapt the layout to your brand, supports multilingual websites with built-in translation compatibility, and comes optimized for SEO and speed—giving you a high-performing travel website that is both visually compelling and user-friendly.
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, blog, portfolio
Text Domain: wens-travelgogo
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.8
Version: 1.0.2

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/* 基础样式 */
.zs_module {
  margin: 20px auto !important;
  padding: 20px !important;
  max-width: 1320px !important;
  width: 100% !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  min-height: 500px !important; /* 设置最小高度防止跳动 */
  transition: min-height 0.3s ease !important; /* 平滑过渡 */
}

/* 强制网格布局在所有页面生效（解决刷新后布局错乱） */
.zs_grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important; /* 默认四列布局 */
  gap: 30px !important; /* 增加间距以适应更大容器 */
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  /* 新增：对抗主题可能的样式覆盖 */
  grid-auto-flow: row !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.zs_card {
  display: flex !important;
  flex-direction: column !important;
  background: #fafafa !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  width: 100% !important;
  height: 100% !important; /* 确保卡片高度一致 */
}

.zs_card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1) !important;
}

.zs_card_img {
  width: 100% !important;
  /* 图片高度通过内联样式控制，默认230px */
  overflow: hidden !important;
  background: #f0f0f0 !important;
}

.zs_img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
  display: block !important;
}

.zs_card:hover .zs_img {
  transform: scale(1.05) !important;
}

.zs_no_img .zs_img {
  object-fit: contain !important;
  padding: 20px !important;
  opacity: 0.7 !important;
}

.zs_card_content {
  padding: 20px !important; /* 增加内边距 */
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.zs_card_content p:empty,
.zs_card p:empty,
.zs_grid p:empty,
.zs_module p:empty {
  display: none !important;
}

.zs_card_title {
  font-size: 18px !important; /* 增大标题字体 */
  margin-bottom: 12px !important; /* 增加标题间距 */
  margin-top: 8px !important; /* 恢复标题间距 */
  line-height: 1.4 !important;
  padding: 0 !important;
  font-weight: 600 !important; /* 增加标题粗细 */
}

.zs_card_title a {
  color: #3b3d3f !important;
  text-decoration: none !important;
}

.zs_card_title a:hover {
  color: #675b5a !important;
}

.zs_card_excerpt {
  font-size: 15px !important; /* 增大摘要字体 */
  color: #666 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 文章日期样式 */
.zs_card_date {
  font-size: 12px !important;
  color: #7e7e7e !important;
  line-height: 1.4 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

/* 分页样式（优化以适应新布局） */
.zs_pagination {
  margin-top: 40px !important; /* 增加分页上边距 */
  text-align: center !important;
  clear: both !important;
}

.zs_pagination ul {
  list-style: none !important;
  display: inline-flex !important;
  gap: 10px !important; /* 增加分页按钮间距 */
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important; /* 允许在移动端换行 */
  justify-content: center !important;
}

.zs_pagination_btn {
  display: block !important;
  padding: 10px 18px !important; /* 增大分页按钮 */
  border: 1px solid #e0e0e0 !important;
  border-radius: 6px !important;
  color: #333 !important;
  background: transparent !important;
  font-size: 15px !important; /* 增大字体 */
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  min-width: 44px !important; /* 确保触摸友好 */
  text-align: center !important;
}

.zs_pagination_btn:hover:not(.disabled) {
  border-color: #8d5a56 !important;
  color: #8d5a56 !important;
  background: rgba(112, 83, 69, 0.05) !important;
}

/* 当前页样式（确保高亮） */
.zs_pagination .current {
  display: block !important;
  padding: 10px 18px !important;
  border: 1px solid #8d5a56 !important;
  border-radius: 6px !important;
  background: #8d5a56 !important;
  color: white !important;
  font-size: 15px !important;
  min-width: 44px !important;
  text-align: center !important;
}

/* 禁用状态（上一页/下一页无数据时） */
.zs_pagination_btn.disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  border-color: #ddd !important;
  color: #999 !important;
  background: #f5f5f5 !important;
}

/* 移动端分页适配 */
@media (max-width: 768px) {
  .zs_pagination {
    margin-top: 30px !important;
  }

  .zs_pagination ul {
    gap: 6px !important;
  }

  .zs_pagination_btn,
  .zs_pagination .current {
    padding: 8px 12px !important;
    font-size: 14px !important;
    min-width: 40px !important;
  }
}

@media (max-width: 480px) {
  .zs_pagination {
    margin-top: 25px !important;
  }

  .zs_pagination ul {
    gap: 4px !important;
  }

  .zs_pagination_btn,
  .zs_pagination .current {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-width: 36px !important;
  }
}

.zs_no_posts {
  text-align: center !important;
  padding: 40px 0 !important;
  color: #999 !important;
}

.zs_loading {
  text-align: center !important;
  padding: 60px 0 !important;
  color: #666 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 200px !important;
}

/* 确保分页页面也加载基础样式 */
body .zs_module {
  margin: 20px auto !important;
  max-width: 1320px !important;
  width: 100% !important;
}

/* 移动端覆盖样式 */
@media (max-width: 768px) {
  body .zs_module {
    margin: 10px auto !important;
    max-width: none !important;
  }
}

@media (max-width: 480px) {
  body .zs_module {
    margin: 8px auto !important;
    max-width: none !important;
  }
}

/* 响应式设计 - 优化移动端适配 */

/* 平板设备 (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  .zs_grid {
    grid-template-columns: repeat(3, 1fr) !important; /* 平板三列 */
    gap: 20px !important;
  }
  /* 平板设备图片高度通过内联样式控制 */
}

/* 桌面设备 (1025px以上) - 动态列数支持 */
@media (min-width: 1025px) {
  .zs_grid {
    grid-template-columns: repeat(4, 1fr) !important; /* 默认桌面四列 */
  }

  /* 动态列数样式 */
  .zs_module[data-columns="1"] .zs_grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .zs_module[data-columns="2"] .zs_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .zs_module[data-columns="3"] .zs_grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .zs_module[data-columns="4"] .zs_grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .zs_module[data-columns="5"] .zs_grid {
    grid-template-columns: repeat(5, 1fr) !important;
  }
  .zs_module[data-columns="6"] .zs_grid {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}

/* 移动设备 (768px及以下) - 动态列数支持 */
@media (max-width: 768px) {
  .zs_module {
    margin: 10px auto !important; /* 移动端外边距缩小一半 */
    padding: 10px !important; /* 移动端内边距缩小一半 */
    min-height: 500px !important; /* 移动端较小高度 */
  }

  .zs_grid {
    grid-template-columns: repeat(2, 1fr) !important; /* 默认移动端两列 */
    gap: 15px !important; /* 恢复网格间距 */
  }

  /* 动态移动端列数样式 */
  .zs_module[data-mobile-columns="1"] .zs_grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .zs_module[data-mobile-columns="2"] .zs_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .zs_module[data-mobile-columns="3"] .zs_grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* 移动设备图片高度通过内联样式控制 */

  .zs_card_content {
    padding: 15px !important; /* 恢复卡片内容内边距 */
  }

  .zs_card_title {
    font-size: 16px !important;
    margin-bottom: 8px !important; /* 恢复标题间距 */
    margin-top: 8px !important; /* 恢复标题间距 */
  }

  .zs_card_excerpt {
    font-size: 14px !important;
  }
}

/* 小屏幕移动设备 (480px及以下) - 动态列数支持 */
@media (max-width: 480px) {
  .zs_module {
    margin: 8px auto !important; /* 小屏幕外边距缩小一半 */
    padding: 8px !important; /* 小屏幕内边距缩小一半 */
    min-height: 400px !important; /* 小屏幕最小高度 */
  }

  .zs_grid {
    grid-template-columns: repeat(2, 1fr) !important; /* 默认小屏幕两列 */
    gap: 12px !important; /* 恢复网格间距 */
  }

  /* 动态移动端列数样式（小屏幕） */
  .zs_module[data-mobile-columns="1"] .zs_grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .zs_module[data-mobile-columns="2"] .zs_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .zs_module[data-mobile-columns="3"] .zs_grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* 小屏幕设备图片高度通过内联样式控制 */

  .zs_card_content {
    padding: 12px !important; /* 恢复卡片内容内边距 */
  }

  .zs_card_title {
    font-size: 15px !important; /* 恢复标题字体 */
    margin-bottom: 0 !important; /* 恢复标题间距 */
  }

  .zs_card_excerpt {
    font-size: 13px !important; /* 恢复摘要字体 */
  }
}