/*
Theme Name: enzoeys
Theme URI: https://example.com/enzoeys
Text Domain: enzoeys
Domain Path: /assets/languages
Author: ZY
Author URI: https://example.com
Description: A brief description of what the theme does.
Version: 1.0
License: GPL2
*/

:root {
  --zo-space: 38px;
  --zo-primary-color: #6eb0c8;
  --zo-container-margin: 190px;
  --zo-title-size: 46px;
  --zo-hover-color: #00A9C3;
  --zo-card-img-ratio: 518 / 382;
  --zo-brand-color: #00A9C3;
}

@media (max-width: 1600px) {
  :root {
    --zo-container-margin: 100px;
  }
}


/* ---------- CSS重置 ---------- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ---------- 基础样式设置 ---------- */
html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.5;
    color: #333;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ---------- 链接样式 ---------- */
a {
    color: #007bff;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--zo-hover-color);
    text-decoration: none;
}

/* ---------- 图片响应式 ---------- */
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
}

/* ---------- 表单元素 ---------- */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/* ---------- 列表样式 ---------- */
ul, ol {
    list-style: none;
}

/* ---------- 表格样式 ---------- */
table {
    border-collapse: collapse;
    width: 100%;
}

/* ---------- 标题样式 ---------- */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

/* ---------- 段落样式 ---------- */
p {
    margin-top: 0;
    margin-bottom: 1rem;
}

/* ---------- 容器类 ---------- */
.container {
  margin: 0 var(--zo-container-margin);
}


@font-face {
  font-family: 'iconfont';  /* Project id 4934388 */
  src: url('//at.alicdn.com/t/c/font_4934388_9ngks1w4baw.woff2?t=1752204061615') format('woff2'),
       url('//at.alicdn.com/t/c/font_4934388_9ngks1w4baw.woff?t=1752204061615') format('woff'),
       url('//at.alicdn.com/t/c/font_4934388_9ngks1w4baw.ttf?t=1752204061615') format('truetype');
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
    height: 100%;
    margin: 0;
    scroll-behavior: auto;
    overflow-x: hidden;
  }
  
  #fullpage {
    height: 100vh;
    width: 100vw;
    position: relative;
    overflow: hidden;
  }
  
  .section {
    height: 100vh;
    scroll-snap-align: start;
    overflow: hidden;
  }
  
/* ---------- 动画定义 ---------- */

@keyframes fadeInUp {
    0% {
      opacity: 0;
      transform: translateY(180px);
    }
    50% {
      opacity: 0.6;
      transform: translateY(60px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fade_ {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

  @keyframes fadeInLeft {
    0% {
      opacity: 0;
      transform: translateX(-180px);
    }
    50% {
      opacity: 0.6;
      transform: translateX(-60px);
    }
    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes fadeInRight {
    0% {
      opacity: 0;
      transform: translateX(180px);
    }
    50% {
      opacity: 0.6;
      transform: translateX(60px);
    }
    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }
  /* 掉落动画 */
@keyframes fadeInDown {
  0% {
    transform: translateY(-200px);
    opacity: 0;
  }
  30% {
    transform: translateY(-80px);
    opacity: 0.3;
  }
  70% {
    transform: translateY(20px);
    opacity: 0.8;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
  /* ---------- 动画类：默认不播放 ---------- */
  
  /* ---------- 动画触发时添加 .animate 类 ---------- */
  .fade-in-up.animate {
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }
  .fade-in-down.animate {
    animation: fadeInDown 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }
  .fade.animate {
    animation: fade_ 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }
  .fade-in-left.animate {
    animation: fadeInLeft 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }
  .fade-in-right.animate {
    animation: fadeInRight 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }
  
  /* ---------- 延迟动画通用类 ---------- */
  .delay-1 { animation-delay: 0.15s; }
  .delay-2 { animation-delay: 0.3s; }
  .delay-3 { animation-delay: 0.45s; }
  .delay-4 { animation-delay: 0.6s; }
  .delay-5 { animation-delay: 0.75s; }
  .delay-6 { animation-delay: 0.9s; }
  .delay-7 { animation-delay: 1.05s; }
  .delay-8 { animation-delay: 1.2s; }

  /* ---------- 增强动画效果 ---------- */
  /* 弹跳效果 */
  @keyframes bounceIn {
    0% {
      opacity: 0;
      transform: scale(0.3) translateY(50px);
    }
    50% {
      opacity: 0.9;
      transform: scale(1.05) translateY(-10px);
    }
    70% {
      transform: scale(0.9) translateY(5px);
    }
    100% {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }

  /* 渐进式放大 */
  @keyframes zoomIn {
    0% {
      opacity: 0;
      transform: scale(0.8);
    }
    50% {
      opacity: 0.8;
      transform: scale(1.02);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }

  /* 应用新动画的类 */
  .bounce-in.animate {
    animation: bounceIn 1s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
  }

  .zoom-in.animate {
    animation: zoomIn 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }

  /* 为初始状态添加不透明度设置 */
  .fade-in-up,
  .fade,
  .fade-in-left,
  .fade-in-right,
  .fade-in-down,
  .bounce-in,
  .zoom-in {
    opacity: 0;
    will-change: transform, opacity;
  }
  
.nav-color-0 .primary-menu a { color: #ffffff !important; }
.nav-color-1 .primary-menu a { color: #333333 !important; }
.nav-color-2 .primary-menu a { color: #333333 !important; }
.nav-color-3 .primary-menu a { color: #333333 !important; }
.nav-color-4 .primary-menu a { color: #333333 !important; }
.nav-color-5 .primary-menu a { color: #333333 !important; }
.nav-color-6 .primary-menu a { color: #333333 !important; }
.nav-color-7 .primary-menu a { color: #333333 !important; }
.nav-color-8 .primary-menu a { color: #333333 !important; }
.nav-color-10 .primary-menu a { color: #ffffff !important; }
.nav-color-11 .primary-menu a { color: #333333 !important; }
.nav-color-12 .primary-menu a { color: #333333 !important; }