/* 往台酒业 · 独立设计系统 — 字体仅用系统自带/开源 fallback，不引入第三方商业字体 */

:root {
  --wt-night: #101418;
  --wt-wine: #6B1D28;
  --wt-wine-deep: #4A1219;
  --wt-wine-soft: rgba(107, 29, 40, 0.08);
  --wt-brass: #A68953;
  --wt-brass-light: #C4A574;
  --wt-paper: #F0EBE3;
  --wt-fog: #E5DFD6;
  --wt-ink: #1C2228;
  --wt-muted: rgba(28, 34, 40, 0.62);
  --wt-white: #FFFCF8;
  --wt-radius: 4px;
  --wt-radius-lg: 8px;
  --wt-shadow: 0 16px 48px rgba(16, 20, 24, 0.08);
  --wt-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --wt-font-body: var(--wt-font-sans);
  --wt-font-serif: var(--wt-font-sans);
  --wt-font-display: var(--wt-font-sans);
  --bs-primary: var(--wt-wine) !important;
  --bs-primary-rgb: 107, 29, 40 !important;
  --wt-header-h: 76px;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  margin: 0;
  padding: 0;
  height: auto !important;
  overflow-x: clip;
}

/* 覆盖 Exomac body/.site-wrapper { height:100% } 与 .section { float:left } 造成的页底白缝 */
html,
body,
.site-wrapper {
  height: auto !important;
  min-height: 0;
  max-height: none;
}

/* 阻断 Exomac .intro-section { height:100vh } 在非首页 hero 上撑出空白 */
body.wt-page-home .intro-section:not(.wt-hero .intro-section),
body.wt-inner-page .intro-section {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

#page,
.section,
.main-wrapper {
  float: none !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.wt-inner-page,
body.wt-page-home {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.wt-inner-page #page,
body.wt-page-home #page {
  flex: 1 0 auto;
  display: flow-root;
}

body.wt-inner-page .wt-footer,
body.wt-page-home .wt-footer {
  flex-shrink: 0;
  margin-bottom: 0 !important;
}

body.wt-page-home {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--wt-night);
  overflow-x: clip;
}

body.wt-page-home #page {
  float: none !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent;
  overflow-x: clip;
}

/* 首页：导航与轮播叠在同一格，杜绝顶部白缝 */
body.wt-page-home #page > .wt-header {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 300;
  align-self: start;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.wt-page-home #page > .wt-hero,
body.wt-page-home #page > .intro-slider-wrap {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 1;
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  min-height: var(--wt-hero-h, clamp(480px, 78vh, 820px));
  margin: 0 !important;
  padding: 0 !important;
}

body.wt-page-home #page > :not(.wt-header):not(.wt-hero):not(.intro-slider-wrap) {
  grid-column: 1;
}

body.wt-page-home .section,
body.wt-page-home .main-wrapper,
body.wt-inner-page .section,
body.wt-inner-page .main-wrapper {
  float: none !important;
  width: 100%;
}

body.wt-page-home #page > #wt-home-brand {
  margin-top: 0 !important;
}

/* 阻断 Exomac .intro-section { height: 100vh } 撑高首页轮播 */
.wt-hero .intro-section.section {
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: flex-end !important;
}

body {
  font-family: var(--wt-font-body);
  color: var(--wt-muted);
  background: var(--wt-white);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.wt-inner-page {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}

body.wt-inner-page #page {
  float: none !important;
  display: flow-root;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}

/* 内页：消除顶部/底部 Exomac 留白 */
body.wt-inner-page .header-section.header-transparent,
body.wt-inner-page .wt-header.header-section.header-transparent {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
}

body.wt-inner-page .intro-section:not(.wt-hero) {
  height: auto !important;
  max-height: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.wt-inner-page #page > .wt-header + *,
body.wt-inner-page #page > header + * {
  margin-top: 0 !important;
}

body.wt-inner-page .section-padding,
body.wt-inner-page .section-padding-t90,
body.wt-inner-page .section-padding-t90-b100,
body.wt-inner-page .section-padding-top,
body.wt-inner-page .section-padding-bottom {
  padding-top: clamp(2.5rem, 5vw, 3.5rem) !important;
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem) !important;
}

body.wt-inner-page #page > .wt-footer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.wt-inner-page .wt-footer {
  margin-bottom: 0 !important;
}

/* 页底：消除 #page 与移动端抽屉之间的 stray 文本节点 / Exomac 浮层留白 */
body.wt-page-home > #site-main-mobile-menu,
body.wt-inner-page > #site-main-mobile-menu {
  margin: 0 !important;
  padding: 0 !important;
}

body.wt-page-home::after,
body.wt-inner-page::after {
  content: none !important;
  display: none !important;
}

body.wt-inner-page .wt-cta-band,
body.wt-inner-page .newsletter-section {
  margin-bottom: 0 !important;
}

body.wt-inner-page .header-section,
body.wt-inner-page .wt-header.header-section {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}

body.wt-inner-page .header-section .header-inner,
body.wt-inner-page .wt-header .header-inner,
body.wt-inner-page .wt-header .header-inner.wt-header__bar {
  min-height: 0 !important;
  height: auto !important;
}

/* 隐藏旧模板装饰噪点 */
body.wt-page-home .shape,
body.wt-inner-page .shape,
.wt-section .shape { display: none !important; }

.wt-display {
  font-family: var(--wt-font-display);
  font-weight: 600;
  letter-spacing: 0.03em;
}

.wt-serif,
.section-title .title,
.section-title-two .title {
  font-family: var(--wt-font-serif);
  color: var(--wt-ink);
}

.wt-eyebrow {
  display: inline-block;
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--wt-brass);
}

.wt-eyebrow::before {
  content: '—';
  margin-right: 0.5em;
  color: var(--wt-wine);
}

.wt-eyebrow--light {
  color: var(--wt-brass-light);
}

.wt-eyebrow--light::before {
  color: rgba(255, 252, 248, 0.55);
}

.wt-heading {
  margin: 0 0 0.75rem;
  font-family: var(--wt-font-display);
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: var(--wt-ink);
}

.wt-lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.85;
  color: var(--wt-muted);
}

.wt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.7rem 1.6rem;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--wt-radius);
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

.wt-btn--wine {
  color: var(--wt-white);
  background: var(--wt-wine);
  border-color: var(--wt-wine);
}

.wt-btn--wine:hover {
  color: var(--wt-white);
  background: var(--wt-wine-deep);
  border-color: var(--wt-wine-deep);
  transform: translateY(-1px);
}

.wt-btn--outline {
  color: var(--wt-white);
  background: transparent;
  border-color: rgba(255, 252, 248, 0.55);
}

.wt-btn--outline:hover {
  color: var(--wt-wine);
  background: var(--wt-white);
  border-color: var(--wt-white);
}

.wt-btn--ghost {
  color: var(--wt-wine);
  background: transparent;
  border-color: var(--wt-wine);
}

.wt-btn--ghost:hover {
  color: var(--wt-white);
  background: var(--wt-wine);
}

.wt-section-block {
  padding: clamp(3.5rem, 7vw, 5.5rem) 0;
}

.wt-section-block--paper { background: var(--wt-paper); }
.wt-section-block--white { background: var(--wt-white); }
.wt-section-block--wine { background: var(--wt-wine-deep); color: rgba(255, 252, 248, 0.82); }
.wt-section-block--wine .wt-heading { color: var(--wt-white); }

.wt-section-head {
  max-width: 680px;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.wt-section-head--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wt-section-head--center .wt-eyebrow::before { display: none; }

.wt-divider {
  width: 48px;
  height: 3px;
  margin: 1rem 0 0;
  background: var(--wt-wine);
}

.wt-section-head--center .wt-divider {
  margin-left: auto;
  margin-right: auto;
}

.wt-divider--light {
  background: linear-gradient(90deg, var(--wt-brass-light), rgba(196, 165, 116, 0.35));
}

/* 覆盖 Exomac 旧样式 */
.btn-primary {
  background: var(--wt-wine) !important;
  border: 2px solid var(--wt-wine) !important;
  border-radius: var(--wt-radius) !important;
  box-shadow: none !important;
  letter-spacing: 0.06em;
}

.btn-primary:hover {
  background: var(--wt-wine-deep) !important;
  border-color: var(--wt-wine-deep) !important;
}

.btn-outline-white {
  border-radius: var(--wt-radius) !important;
  letter-spacing: 0.06em;
}

.wt-scroll-top {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 252, 248, 0.96);
  box-shadow: 0 8px 28px rgba(16, 20, 24, 0.14);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(0.92);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, box-shadow 0.25s ease;
}

.wt-scroll-top--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.wt-scroll-top:hover {
  box-shadow: 0 12px 36px rgba(107, 29, 40, 0.22);
}

.wt-scroll-top__ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.wt-scroll-top__track {
  stroke: rgba(229, 223, 214, 0.95);
}

.wt-scroll-top__progress {
  stroke: var(--wt-wine);
  stroke-linecap: round;
  transition: stroke-dashoffset 0.15s ease-out;
}

.wt-scroll-top__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--wt-wine);
  line-height: 1;
}

.wt-scroll-top__pct {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}

.wt-scroll-top__pct::after {
  content: '%';
  font-size: 0.5rem;
  margin-left: 1px;
}

.wt-scroll-top__arrow {
  margin-top: 2px;
  font-size: 0.72rem;
}

/* 兼容旧模板 scroll-top 类名（若仍存在） */
.scroll-top:not(.wt-scroll-top) {
  display: none !important;
}

@media (max-width: 575px) {
  .wt-scroll-top {
    width: 50px;
    height: 50px;
  }
}

#scroll-top { z-index: 999; }

.section-title .sub-title,
.section-title-two .sub-title {
  color: var(--wt-brass);
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.icon-box .icon i { color: var(--wt-wine) !important; }

.site-main-menu > ul > li > a.active .menu-text,
.site-main-menu > ul > li:hover > a .menu-text {
  color: var(--wt-wine) !important;
}
