/* ==========================================================================
   Shanghai Doan — 品牌增强样式
   在 style.css（设计系统）之后加载，只做增量补充，不改变原有令牌与版式。
   ========================================================================== */

/* ------------------------------------------------------------ Logo */
.gl-logo-img--wordmark { height: 38px; width: auto; }
.gl-footer-logo-img.gl-logo-img--wordmark { height: 40px; }

/* ------------------------------------------------------------ 栅格变体 */
.gl-products--2 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 992px) { .gl-products--2 { grid-template-columns: repeat(2, 1fr); } }

.gl-products--4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 992px) { .gl-products--4 { grid-template-columns: repeat(4, 1fr); } }

.gl-principle-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gl-principle-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 992px) {
  .gl-principle-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gl-principle-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) { .gl-principle-grid--2 { grid-template-columns: 1fr; } }

.gl-shop-main { min-width: 0; }
.gl-result-count-inline { color: #999999; color: var(--gl-text-muted); font-size: 12px; }

/* ------------------------------------------------------------ 内页页头（图片底） */
.gl-page-hero--image { background-color: #2c2c2a; color: #fff; padding: 78px 0; }
.gl-page-hero--image .gl-page-hero-title { color: #fff; }
.gl-page-hero--image .gl-page-hero-lead { color: rgba(255,255,255,.84); }
.gl-eyebrow--light { color: rgba(255,255,255,.74); }
@media (min-width: 992px) { .gl-page-hero--image { padding: 104px 0; } }

/* ------------------------------------------------------------ 面包屑 */
.gl-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: #737373; color: var(--gl-text-tertiary); }
.gl-breadcrumb a:hover { color: #5a8219; color: var(--gl-accent); }
.gl-breadcrumb span[aria-current] { color: #525252; color: var(--gl-text-secondary); }

/* ------------------------------------------------------------ 提示条 */
.gl-alert { border-radius: 8px; border-radius: var(--gl-radius-field); padding: 13px 18px; font-size: 14px; margin-bottom: 12px; }
.gl-alert--error { background: #fdecec; border: 1px solid #f3c4c4; color: #9a2b2b; }
.gl-alert--success { background: #eef7ea; border: 1px solid #c9e0bb; color: #3f5f18; }
.gl-alert--info { background: #eef3f8; border: 1px solid #cddcea; color: #2c4a66; }

/* ------------------------------------------------------------ 富文本 */
.gl-richtext > *:first-child { margin-top: 0; }
.gl-richtext p { margin: 0 0 14px; color: #525252; color: var(--gl-text-secondary); }
.gl-richtext h2, .gl-richtext h3 { margin: 26px 0 10px; font-size: 20px; font-weight: 600; }
.gl-richtext ul, .gl-richtext ol { margin: 0 0 16px; padding-left: 20px; color: #525252; color: var(--gl-text-secondary); }
.gl-richtext li { margin: 6px 0; }
.gl-richtext img { border-radius: 8px; border-radius: var(--gl-radius-surface); margin: 8px 0; }
.gl-richtext strong { color: #262626; color: var(--gl-text-body); }

/* ------------------------------------------------------------ 产品详情补充 */
.gl-pdp-subtitle { margin: 8px 0 0; font-size: 15px; color: #525252; color: var(--gl-text-secondary); }
.gl-pdp-summary { min-width: 0; }
.gl-gallery-thumbs::-webkit-scrollbar { display: none; }

/* ------------------------------------------------------------ 图集 */
.gl-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (min-width: 992px) { .gl-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gl-media-caption { display: block; padding: 10px 12px; font-size: 13px; color: #737373; color: var(--gl-text-tertiary); }

/* ------------------------------------------------------------ 询价侧栏 */
.gl-quote-aside { padding: 26px; border: 1px solid #e5e5e7; border: 1px solid var(--gl-border); border-radius: 8px; border-radius: var(--gl-radius-surface); background: #fff; }
.gl-quote-aside .gl-footer-contact-list { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.gl-quote-aside .gl-footer-contact-item { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.gl-quote-aside .gl-footer-contact-icon { color: #5a8219; color: var(--gl-accent); flex: 0 0 auto; line-height: 1.5; }

/* ------------------------------------------------------------ 侧栏静态项 */
.gl-filter-link.is-static { cursor: default; opacity: .85; }
.gl-filter-link.is-static:hover { color: inherit; background: none; }

/* ------------------------------------------------------------ 页脚补充 */
.gl-footer-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: rgba(255,255,255,.68); }
.gl-footer-trust li { display: inline-flex; align-items: center; gap: 6px; }
.gl-footer-icp { margin-left: 10px; color: rgba(255,255,255,.55); }

/* ------------------------------------------------------------ 首屏入场动画 */
.hero-animate { opacity: 0; transform: translateY(14px); }
.home-hero-slide.is-active .hero-animate {
  animation: doanHeroIn .7s cubic-bezier(.22, 1, .36, 1) forwards; animation: doanHeroIn .7s var(--gl-ease) forwards;
}
.home-hero-slide.is-active .hero-animate[data-delay="150"] { animation-delay: .15s; }
.home-hero-slide.is-active .hero-animate[data-delay="300"] { animation-delay: .3s; }
@keyframes doanHeroIn { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .hero-animate { opacity: 1; transform: none; animation: none !important; }
}

/* ------------------------------------------------------------ 表单校验 */
.gl-field-error { border-color: #d9534f !important; background: #fff7f7; }
.gl-form .gl-field { display: block; }
.gl-enquiry-form .gl-field-row { display: grid; gap: 16px; }
@media (min-width: 768px) { .gl-enquiry-form .gl-field-row { grid-template-columns: 1fr 1fr; } }
.gl-enquiry-form .gl-field { margin-bottom: 16px; }
.gl-enquiry-form .gl-btn[disabled] { opacity: .7; cursor: default; }

/* ------------------------------------------------------------ 移动端微调 */
@media (max-width: 767px) {
  .gl-footer-trust { display: none; }
  .gl-page-hero-title { font-size: 26px !important; }
  .gl-pdp-layout { gap: 22px; }
  .gl-quote-aside { padding: 20px; }
  .gl-metric-row { gap: 24px; }
}

/* ------------------------------------------------------------ 杂志卡片文字可读性
   gl-explore-card 的图片占卡片右侧 60%，标题文案压在图片边缘。
   原设计图片偏柔和，新闻/案例照片细节更多，这里加一层由卡片底色
   向右淡出的渐变，保证左侧文案始终清晰。 */
.gl-explore-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    #fafafa 0%,
    rgba(250, 250, 250, .94) 30%,
    rgba(250, 250, 250, .45) 58%,
    rgba(250, 250, 250, 0) 88%);
  pointer-events: none;
}

/* 深色底卡片（如首屏推荐位）使用深色渐变 */
.gl-explore-card--dark .gl-explore-card-img::after {
  background: linear-gradient(90deg,
    #1f1f1f 0%,
    rgba(31, 31, 31, .92) 30%,
    rgba(31, 31, 31, .4) 58%,
    rgba(31, 31, 31, 0) 88%);
}

/* ==========================================================================
   页头语言切换器（原始模板有 gl-locale-wrap 触发器，菜单样式在此补齐）
   ========================================================================== */
.gl-locale-wrap { position: relative; }

.gl-flag-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #525252;
  color: var(--gl-text-secondary);
  background: #f0f0ef;
  border-radius: 2px;
}

.gl-locale-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 1080;
  min-width: 200px;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #fff;
  border: 1px solid #e5e5e7;
  border-color: var(--gl-border);
  border-radius: 8px;
  border-radius: var(--gl-radius-field);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: all .22s cubic-bezier(.22, 1, .36, 1);
  transition: all .22s var(--gl-ease);
}
.gl-locale-wrap.is-open .gl-locale-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.gl-locale-menu a {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  font-size: 13.5px;
  color: #262626;
  color: var(--gl-text-body);
  border-radius: 6px;
  text-decoration: none;
}
.gl-locale-menu a:hover { background: #f6f6f5; }
.gl-locale-menu a.is-active { background: #f0f5e8; color: #5a8219; font-weight: 600; }

/* gl-header--overlay 下（首页首屏透明页头）触发器为白色，菜单仍是浅色面板 */
.gl-header--overlay .gl-locale-menu a { color: #262626; color: var(--gl-text-body); }
.gl-header--overlay .gl-locale-menu a.is-active { color: #5a8219; }

/* ==========================================================================
   页脚认证徽章（替代原始模板的支付方式图标行）
   ========================================================================== */
.gl-cert-chip {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #737373;
  border: 1px solid #d4d4d4;
  border-radius: 4px;
}

/* ==========================================================================
   移动端搜索展开（原始模板点放大镜出搜索框）
   ========================================================================== */
.gl-header-search.is-open { display: flex; }
@media (max-width: 991px) {
  .gl-main-inner { flex-wrap: wrap; }
  .gl-header-search.gl-desktop-only.is-open {
    display: flex;
    order: 9;
    width: 100%;
    margin-top: 12px;
  }
  .gl-header-search.is-open .gl-header-search-input { width: 100%; flex: 1; }
}

/* ==========================================================================
   蜜罐反垃圾字段（视觉隐藏，机器人会填）
   ========================================================================== */
.gl-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
