/* ========== 全局字体锁定系统 ========== */
/* 基础样式 - 适用于所有屏幕尺寸 */
body {
  font-family: Arial, sans-serif;
  font-size: 16px; /* 默认字体大小 */
  line-height: 1.5;
  color: #333;
  margin: 0;
  padding: 0;
}

/* ========== 响应式处理 ========== */
@media (max-width: 768px) {
  html {
    font-size: 16px !important; /* 保持移动端相同尺寸 */
  }
  
  .top-bar {
    flex-direction: column;
  }
  
  .top-bar .right-section {
    justify-content: center;
  }
}

/* ========== 打印样式 ========== */
@media print {
  * {
    font-size: 12pt !important;
    line-height: 1.5 !important;
  }
}

@tailwind utilities;

@layer utilities {
    .nav-underline {
        @apply relative after:absolute after:bottom-[-6px] after:left-[28px] after:h-[2px] after:bg-primary after:w-0 hover:after:w-[calc(100%-56px)] after:transition-all after:duration-300 after:ease-in-out;
    }
    
    .nav-underline-mobile {
        @apply relative after:absolute after:bottom-[-2px] after:left-0 after:h-[2px] after:bg-primary after:w-0 active:after:w-full after:transition-all after:duration-300 after:ease-in-out;
    }
    
    .dropdown-underline {
        @apply relative after:absolute after:bottom-0 after:left-[1.5rem] after:h-[2px] after:bg-primary after:w-0 hover:after:w-[calc(100%-3rem)] after:transition-all after:duration-200 after:ease-in-out;
    }
    
    .dropdown-underline-mobile {
        @apply relative after:absolute after:bottom-0 after:left-[1rem] after:h-[2px] after:bg-primary after:w-0 active:after:w-[calc(100%-2rem)] after:transition-all after:duration-200 after:ease-in-out;
    }
    
    .carousel-height {
        @apply h-[40vh] md:h-[50vh] lg:h-[60vh];
    }
    
    .content-auto {
        content-visibility: auto;
    }
    
    .scrollbar-hide::-webkit-scrollbar {
        display: none;
    }
    
    .scrollbar-hide {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    
    .bg-gradient-primary {
        background: linear-gradient(135deg, #E53E3E 0%, #C53030 100%);
    }
}

/* 顶部信息栏样式 (合并了.page-header和.top-bar) */
.top-bar {
  display: flex;
  width: 100%;
  color: white;
  font-size: clamp(0.75rem, 1.5vw, 0.875rem); /* 文字自适应大小 */
}

.top-bar .left-section {
  flex: 1;
  background-color: #444444;
  padding: 0.5rem 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.top-bar .right-section {
  background-color: #e63946;
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap; /* 允许内容换行 */
}

.top-bar .phone {
  display: flex;
  align-items: center;
}

.top-bar .phone i {
  margin-right: 0.25rem;
}

.top-bar a {
  color: white;
  text-decoration: none;
  transition: color 0.3s;
}

.top-bar a:hover {
  color: #ffd700;
}

/* 导航栏样式 */
#main-nav {
  top: 40px; /* 调整导航栏位置，避免被顶部栏覆盖 */
}

/* 默认隐藏日期显示组件 */
.date-display-mobile {
  display: none;
}

/* 在小屏幕下显示日期显示组件 */
@media (max-width: 550px) {
  .date-display-mobile {
    display: flex;
  }
}
/*-- 自定义工具类 */
@layer utilities {
  .nav-underline {
      @apply relative after:absolute after:bottom-[-4px] after:left-0 after:h-[2px] after:bg-primary after:w-0 hover:after:w-full after:transition-all after:duration-300;
  }
  
  .nav-underline-mobile {
      @apply relative after:absolute after:bottom-[-2px] after:left-0 after:h-[2px] after:bg-primary after:w-0 active:after:w-full after:transition-all after:duration-300;
  }
  
  .dropdown-underline {
      @apply relative after:absolute after:bottom-0 after:left-0 after:h-[2px] after:bg-primary after:w-0 hover:after:w-full after:transition-all after:duration-200;
  }
  
  .carousel-height {
      @apply h-[40vh] md:h-[50vh] lg:h-[60vh];
  }
}

        #map-container {
            width: 800px;
            height: 500px;
            margin: 0 auto;
            position: relative;
        }
        .country {
            fill: #ccc;
            stroke: #fff;
            stroke-width: 0.5px;
            transition: fill 0.3s;
        }
        .country:hover {
            fill: #ffcc00;
        }
        .highlighted-country {
            fill: #a8c6ff;
            stroke: #fff;
            stroke-width: 0.5px;
            transition: fill 0.3s;
        }
        .highlighted-country:hover {
            fill: #6aa1ff;
        }
        .country-marker {
            fill: #ff0000;
            stroke: #fff;
            stroke-width: 1px;
            r: 4;
            transition: r 0.2s, fill 0.2s;
        }
        .country-marker:hover {
            r: 6;
            fill: #cc0000;
        }
        .country-label {
            font-size: 10px;
            font-weight: bold;
            text-anchor: middle;
            pointer-events: none;
        }
        .loading {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: rgba(255, 255, 255, 0.8);
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }
        .error {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: rgba(255, 220, 220, 0.9);
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            color: #cc0000;
        }
        .tooltip {
            position: absolute;
            padding: 8px;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            border-radius: 4px;
            pointer-events: none;
            font-size: 12px;
            opacity: 0;
            transition: opacity 0.2s;
        }
.map-container {
    display: flex;
    width: 700px;
    height: 550px;
    border: #ccc solid 1px;
    font-size: 12px;
}

.sidebar {
    width: 200px;
    padding: 10px;
    background-color: #f5f5f5;
    border-right: 1px solid #ccc;
}

.map-wrapper {
    flex: 1;
}        