/* ============================================================
 * Apollo Front 视觉对齐覆写（Task 9.3）
 * 原则：只在与原站有偏差时追加规则；结构差异一律改 views/models 模板。
 * 其余差异均已通过模板修复或原样拷贝原站 CSS（tinvwl / wew / we-widgets / star-font / mobile-navbar /
 * woo-quick-view / elementor fadeInUp 动画 / elementor e-swiper）。
 * ============================================================ */

/* 1) 页面预加载遮罩：旧站由 woovina-preloader 插件 JS 在 window load 后移除遮罩；
 *    新前台无该 JS，若套用原遮罩样式(position:fixed; z-index:100000)将永久遮挡页面。
 *    DOM 结构保留（.woovina-page-loader / .woovina-loader.wvp-loader-one），仅隐藏。 */
.woovina-page-loader { display: none !important; }

/* 2) 首页 Hero 轮播（wew-slides）：af.js 会给根元素加 slick-initialized/slick-slider 类
 *    （同真 slick 初始化后的稳态）。因不引入 slick jQuery 插件、无 .slick-list/.slick-track
 *    包裹层，需补齐两条几何上下文，否则 absolute 的 .slick-slide-inner 定位错乱、
 *    float:left 的 slide 使后续内容上浮重叠：
 *    a) slide 自身作为定位上下文并取消浮动（单 slide 静态展示无需横向轨道）；
 *    b) 根元素 .slick-slider 的 position:relative 已由 slick-core 提供，无需覆写。 */
.wew-slides .slick-slide { float: none !important; position: relative !important; width: 100% !important; }

.apollo-header-placeholder { height: 0; }
#site-header.fixed-scroll { transition: height .25s, box-shadow .25s; }
body.is-sticky #site-header.apollo-header-sticky { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 9999; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
@media (min-width: 768px) {
  body.is-sticky #site-header.shrink-header,
  body.is-sticky #site-header.shrink-header #site-header-inner,
  body.is-sticky #site-header.shrink-header .elementor-4320,
  body.is-sticky #site-header.shrink-header .elementor-section,
  body.is-sticky #site-header.shrink-header .elementor-container { height: 70px; min-height: 70px; }
  body.is-sticky #site-header.shrink-header .elementor-column > .elementor-element-populated { padding-top: 0; padding-bottom: 0; }
  body.is-sticky #site-header.shrink-header #site-logo #site-logo-inner a img { width: auto; max-height: 50px !important; }
}
body.is-sticky #site-header.shrink-header #site-header-inner,
body.is-sticky #site-header.shrink-header .elementor-section,
body.is-sticky #site-header.shrink-header .elementor-container,
body.is-sticky #site-header.shrink-header .elementor-column > .elementor-element-populated,
body.is-sticky #site-header.shrink-header #site-logo #site-logo-inner a img { transition: min-height .25s, height .25s, max-height .25s, padding .25s; }

.apollo-map-card { min-height: 360px; margin: 0; padding: 64px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; background: #111; color: #fff; font-style: normal; }
.apollo-map-card__eyebrow { color: #d6b056; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.apollo-map-card strong { max-width: 620px; font-size: clamp(28px, 4vw, 52px); line-height: 1.15; }
.apollo-map-card a { padding: 13px 22px; border: 1px solid #d6b056; color: #d6b056; font-weight: 700; text-decoration: none; }
.apollo-map-card a:hover, .apollo-map-card a:focus { background: #d6b056; color: #111; }
.apollo-captcha-control { display: flex; align-items: stretch; gap: 12px; }
.apollo-captcha-refresh { padding: 0; border: 1px solid #ddd; background: #111; cursor: pointer; }
.apollo-captcha-refresh img { display: block; width: 150px; height: 50px; }
.apollo-captcha-control input { width: 150px; }
.apollo-form-error { margin: 12px 0; color: #b42318; font-weight: 600; }
@media (max-width: 767px) {
  .apollo-map-card { min-height: 280px; padding: 36px 24px; }
  .apollo-captcha-control { align-items: flex-start; flex-direction: column; }
}

.elementor-widget-social-icons .elementor-social-icons-wrapper { display: grid; column-gap: var(--apollo-social-gap, 0); row-gap: var(--apollo-social-row-gap, 0); }
.elementor-widget-social-icons .elementor-social-icon { display: inline-flex; align-items: center; justify-content: center; padding: var(--apollo-social-padding, 0); color: #fff; font-size: var(--apollo-social-size, 1em); line-height: 1; transition: transform .25s; }
.elementor-widget-social-icons.elementor-shape-circle .elementor-social-icon { border-radius: 50%; }
.elementor-widget-social-icons.elementor-shape-rounded .elementor-social-icon { border-radius: 10%; }
.elementor-widget-social-icons .elementor-social-icon-facebook-f { background-color: #3b5998; }
.elementor-widget-social-icons .elementor-social-icon-instagram { background-color: #262626; }
.elementor-widget-social-icons .elementor-social-icon-pinterest-p { background-color: #bd081c; }
.elementor-widget-social-icons .elementor-social-icon-twitter { background-color: #1da1f2; }
.elementor-widget-social-icons .elementor-animation-grow:hover,
.elementor-widget-social-icons .elementor-animation-grow:focus-visible { transform: scale(1.15); }
.elementor-widget-social-icons a.elementor-social-icon:focus-visible { outline: 2px solid #111; outline-offset: 2px; box-shadow: 0 0 0 4px #fff; }
@media (prefers-reduced-motion: reduce) {
  .elementor-widget-social-icons .elementor-social-icon,
  #site-header.fixed-scroll,
  #site-header.fixed-scroll #site-header-inner,
  #site-header.fixed-scroll .elementor-section,
  #site-header.fixed-scroll .elementor-container,
  #site-header.fixed-scroll .elementor-column > .elementor-element-populated,
  #site-header.fixed-scroll #site-logo #site-logo-inner a img { transition: none; }
}

/* 移动菜单抽屉（apollo-mobile-menu） */
.apollo-mobile-menu{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.5)}
.apollo-mobile-menu.is-open{display:block}
.apollo-mobile-menu-inner{position:absolute;left:0;top:0;bottom:0;width:82%;max-width:340px;background:#fff;overflow-y:auto;padding:18px;box-shadow:2px 0 12px rgba(0,0,0,.18)}
.apollo-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.apollo-mobile-menu-title{font-weight:700}
.apollo-mobile-menu-close{border:0;background:none;font-size:24px;line-height:1;cursor:pointer}
.apollo-mobile-menu-nav ul{list-style:none;margin:0;padding:0}
.apollo-mobile-menu-nav a{display:block;padding:10px 0;color:#253237;text-decoration:none;border-bottom:1px solid #eee}
.apollo-mobile-menu-nav ul ul a{padding-left:18px}
body.mobile-menu-open{overflow:hidden}
@media (min-width:768px){.apollo-mobile-menu{display:none!important}}

/* 防止移动端横向溢出 */
html, body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
.elementor-section, .elementor-container, .elementor-column { max-width: 100%; }

/* 回顶按钮在移动端不遮挡页脚 Newsletter */
@media (max-width: 767px) {
  #af-totop { bottom: 12px !important; right: 12px !important; width: 38px !important; height: 38px !important; }
}
