/* Yatach local refinements on top of the original Bootstrap theme */

.icon-box {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #007bff;
  color: #fff;
  border-radius: .625rem;
}

.yatach-navbar { box-shadow: 0 2px 4px rgba(0, 0, 0, .1); }

/* Hero band used on inner pages */
.hero-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #e8d0dc 0%, #c0d8f0 50%, #e4e6e8 100%);
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(102, 126, 234, .1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.hero-section::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(231, 76, 60, .06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.hero-section .hero-deco { position: absolute; pointer-events: none; }
.hero-section .hero-content { position: relative; z-index: 2; color: #333 !important; }
.hero-section .hero-content h1 { color: #666 !important; }
.hero-section .hero-content .lead {
  background: linear-gradient(135deg, #e74c3c, #f39c12);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Product detail */
.thumbnail-item { background: #fff; }
.thumbnail-item:hover { border-color: #0d6efd !important; }
.main-image-container img { max-width: 100%; }
.news-content img { max-width: 100%; height: auto; }

/* Tables/cards a touch tighter on small screens */
@media (max-width: 767px) {
  .hero-section .display-4 { font-size: 2rem; }
  .main-image-container { height: 320px !important; }
  .thumbnail-item img { height: 72px !important; }
  .card-body { padding: 1rem; }
}

/* Download / member forms */
.download-list .btn { white-space: nowrap; }
.member-narrow { max-width: 520px; margin: 0 auto; }

/* compact top bar on phones: keep the login entry, drop the less-used link */
@media (max-width: 575px) {
  .navbar-brand img { height: 40px !important; }
  .top-member, .d-none.d-sm-inline { display: none !important; }
}
/* 首页轮播：后台 Banner 上传任意尺寸时统一裁切，保证版式不跳 */
.banner-slide { height: 500px; object-fit: cover; }
@media (max-width: 767px) { .banner-slide { height: 300px; } }