/*--------------------------------------------------------------
# Font & Color Variables
# Help: https://bootstrapmade.com/color-system/
--------------------------------------------------------------*/
/* Fonts */
:root {
  --default-font: "Roboto",  system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-font: "Montserrat",  sans-serif;
  --nav-font: "Open Sans",  sans-serif;
}

/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
:root { 
  --background-color: #ffffff; /* Background color for the entire website, including individual sections */
  --default-color: #444444; /* Default color used for the majority of the text content across the entire website */
  --heading-color: #222222; /* Color for headings, subheadings and title throughout the website */
  --accent-color: #106eea; /* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
  --surface-color: #ffffff; /* The surface color is used as a background of boxed elements within sections, such as cards, icon boxes, or other elements that require a visual separation from the global background. */
  --contrast-color: #ffffff; /* Contrast color for text, ensuring readability against backgrounds of accent, heading, or default colors. */
}


/* Smooth scroll */
:root {
  scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# General Styling & Shared Classes
--------------------------------------------------------------*/
body {
  color: var(--default-color);
  background-color: var(--background-color);
  font-family: var(--default-font);
}

a {
  color: var(--accent-color);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, var(--accent-color), transparent 25%);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
  font-family: var(--heading-font);
}


/*--------------------------------------------------------------
# Card  Variables
# Help: https://bootstrapmade.com/color-system/
--------------------------------------------------------------*/
/* Card */

:root {
  --card-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  --card-hover-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  --primary-color: #0d6efd;
  --card-border-radius: 0.375rem;
  --card-border-color: rgba(0, 0, 0, 0.125);
  --transition-duration: 0.3s;
  --image-transition-duration: 0.2s;
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.navbar {
          box-shadow: 0 2px 4px rgba(0,0,0,0.1);
          background-color: #ffffff;
        }



.product-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--card-border-color);
  border-radius: var(--card-border-radius);
  font-family: var(--default-font);
  font-weight: 500;
  transition: transform var(--transition-duration), 
              box-shadow var(--transition-duration);
}


.product-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--card-hover-shadow);
  border: 1px solid  rgba(0, 0, 0, 0.125);
}



.product-link {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}

.product-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: none;
  transition: transform var(--image-transition-duration) ease;
}

.product-detail-img {
  max-height: 400px;
  width: 100%;
  object-fit: cover;
}

.product-link .card-title {
  margin-bottom: 0.5rem;
  transition: color var(--image-transition-duration) ease;
}

.product-link:hover .product-image {
  transform: scale(1.02);
}

.product-link:hover .card-title {
  color: var(--primary-color);
}


/* 移动端响应式适配（通用） */
@media (max-width: 768px) {
    .product-image {
        height: 160px;
    }
    .product-detail-img {
        max-height: 300px;
    }
}

/* 按钮区域备用样式（若后续加按钮） */
.product-card .pt-0 {
    padding-top: 0 !important;
}


/*  footer #f8f9fa  */

.footer {
  background-color: #00295c;
  padding: 2rem 0;
  margin-top: auto;
  /* 补充页脚内边距，优化文字显示 */
  padding-left: 1rem;
  padding-right: 1rem;
  color:var(--contrast-color);

}

/*footer h5, footer p, footer ul,footer li, */
footer * {
  color:  white;
}





/* 基础样式：确保导航栏初始状态正常 */
#mainNav {
    position: relative;
    width: 100%;
    transition: all 0.3s ease; /* 平滑过渡 */

  }

/* 固定定位样式 */
#mainNav.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999; /* 确保导航栏在最上层 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* 增加阴影，提升视觉效果 */
}

/* 可见性样式（向上滚动时显示） */
#mainNav.is-visible {
    top: 0; /* 确保导航栏显示 */
}

/* 向下滚动超出头部高度时，临时隐藏（可选） */
#mainNav:not(.is-visible) {
    top: -100%; /* 隐藏导航栏 */
}




/*--------------------------------------------------------------
# Featured Section
--------------------------------------------------------------*/
.featured .service-item {
   height: 100%;
  overflow: hidden;
  border: 1px solid var(--card-border-color);
  border-radius: var(--card-border-radius);
  transition: transform var(--transition-duration), 
              box-shadow var(--transition-duration);
}


.featured .service-item h5 {
  font-weight: 550;
  margin: 10px 0 15px 0;
  font-size: 18px;
  transition: 0.3s;
  font-family: var(--default-font);

}

.featured .service-item p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
  font-family: var(--heading-font);

}

.featured .service-item:hover  {
  border-color:  var(--accent-color);

}

.featured .service-item:hover h5 {
  color: var(--accent-color);
}

.featured .service-item:hover p {
  color: var(--accent-color);
}



/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact .info-wrap {
  background-color: var(--surface-color);
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
  padding: 30px;
}

@media (max-width: 575px) {
  .contact .info-wrap {
    padding: 20px;
  }
}

.contact .info-item {
  margin-bottom: 40px;
}

.contact .info-item i {
  font-size: 20px;
  color: var(--accent-color);
  background: color-mix(in srgb, var(--accent-color), transparent 92%);
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  margin-right: 15px;
}

.contact .info-item h3 {
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 5px;
}

.contact .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
}

.contact .info-item:hover i {
  background: var(--accent-color);
  color: var(--contrast-color);
}


.contact .php-email-form {
  background-color: var(--surface-color);
  height: auto;
  padding: 30px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.contact .php-email-form input[type=text],
.contact .php-email-form input[type=email],
.contact .php-email-form textarea {
  font-size: 14px;
  padding: 10px 15px;
  box-shadow: none;
  border-radius: 0;
  color: var(--default-color);
  background-color: var(--surface-color);
  border-color: color-mix(in srgb, var(--default-color), transparent 80%);
}


.contact .php-email-form input[type=text]:focus,
.contact .php-email-form input[type=email]:focus,
.contact .php-email-form textarea:focus {
  border-color: var(--accent-color);
}



 /* 面包屑导航样式 - 通用且美观 */
        .breadcrumb {
            padding: 10px 15px;
            margin: 10px 0;
            list-style: none;
            background-color: #f8f9fa;
            border-radius: 4px;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .breadcrumb-item {
            display: inline-block;
        }

        /* 分隔符样式 */
        .breadcrumb-item + .breadcrumb-item::before {
            content: ">";
            padding: 0 8px;
            color: #6c757d;
        }

        /* 链接样式 */
        .breadcrumb-item a {
            color: #007bff;
            text-decoration: none;
        }

        .breadcrumb-item a:hover {
            text-decoration: underline;
        }

        /* 当前页样式（无链接） */
        .breadcrumb-item.active {
            color: #6c757d;
            pointer-events: none;
        }