/* ============================================================
 * 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; }
}

/* ============================================================
 * 产品详情页改版（2026-10-18）：左图集轮播 + 右购买信息区
 * ============================================================ */
.af-product-single { display: flex; align-items: flex-start; gap: 40px; flex-wrap: wrap; }

/* 左：图集 */
.af-gallery { width: 48%; min-width: 300px; }
.af-gallery-main { position: relative; overflow: hidden; border: 1px solid #eee; background: #fff; }
.af-gallery-main img { display: block; width: 100%; }
.af-gal-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #222; font-size: 20px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.15); transition: background .2s, color .2s; }
.af-gal-nav:hover { background: #F33535; color: #fff; }
.af-gal-prev { left: 12px; }
.af-gal-next { right: 12px; }
.af-gal-counter { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 5px 10px; border-radius: 12px; background: rgba(37,50,55,.75); color: #fff; font-size: 12px; line-height: 1; }
.af-gallery-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.af-thumb { width: 72px; height: 72px; object-fit: cover; cursor: pointer; border: 2px solid transparent; background: #fff; }
.af-thumb.active { border-color: #F33535; }
.af-gallery video { display: block; width: 100%; margin-top: 12px; border-radius: 4px; background: #000; }

/* 右：购买信息区 */
.af-summary { flex: 1; min-width: 300px; }
.af-summary .product_title { margin: 0 0 10px; font-size: 28px; line-height: 1.25; color: #222; }
.af-price { margin: 0; font-size: 28px; font-weight: 700; color: #F33535; }
.af-price del { margin-right: 8px; font-size: 17px; font-weight: 400; color: #999; }
.af-price ins { text-decoration: none; }
.af-shortdesc { margin-top: 12px; font-size: 14px; line-height: 1.7; color: #666; }
.af-meta-list { margin: 18px 0 0; padding: 0; list-style: none; border-top: 1px solid #eee; }
.af-meta-list li { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid #eee; font-size: 14px; }
.af-meta-label { flex: 0 0 140px; font-weight: 600; color: #222; }
.af-meta-value { color: #555; }
.af-meta-value a { color: #F33535; text-decoration: none; }
.af-meta-value a:hover { text-decoration: underline; }
.af-specs-title { margin: 24px 0 10px; font-size: 17px; color: #222; }
.af-attributes { width: 100%; border-collapse: collapse; margin: 0 0 6px; }
.af-attributes th { width: 140px; padding: 9px 10px 9px 0; border-bottom: 1px solid #eee; text-align: left; vertical-align: top; font-size: 14px; font-weight: 600; color: #222; }
.af-attributes td { padding: 9px 0; border-bottom: 1px solid #eee; font-size: 14px; color: #555; }

/* 数量选择器 */
.af-qty { display: flex; align-items: center; gap: 12px; margin: 22px 0; }
.af-qty-label { font-size: 14px; font-weight: 600; color: #222; }
.af-qty-stepper { display: inline-flex; border: 1px solid #ddd; border-radius: 3px; overflow: hidden; }
.af-qty-stepper button { width: 38px; height: 42px; border: 0; background: #f7f7f7; color: #333; font-size: 18px; line-height: 1; cursor: pointer; transition: background .2s; }
.af-qty-stepper button:hover { background: #eee; }
.af-qty-stepper input { width: 56px; height: 42px; border: 0; border-left: 1px solid #ddd; border-right: 1px solid #ddd; text-align: center; font-size: 15px; color: #222; outline: none; }

/* 加入购物车 / 立即购买 */
.af-buy-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.af-btn { flex: 1; min-width: 180px; height: 50px; border: 0; font-size: 15px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s, opacity .2s; }
.af-btn-cart { background: #F33535; color: #fff; }
.af-btn-cart:hover { background: #d92525; }
.af-btn-buy { background: #253237; color: #fff; }
.af-btn-buy:hover { background: #111; }

/* 占位提示 toast */
.af-toast { position: fixed; left: 50%; bottom: 36px; z-index: 10001; transform: translate(-50%, 20px); padding: 12px 22px; border-radius: 4px; background: #253237; color: #fff; font-size: 14px; box-shadow: 0 6px 20px rgba(0,0,0,.25); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; }
.af-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 767px) {
  .af-product-single { gap: 24px; }
  .af-gallery { width: 100%; }
  .af-summary .product_title { font-size: 23px; }
  .af-price { font-size: 24px; }
  .af-meta-label { flex-basis: 110px; }
  .af-attributes th { width: 110px; }
  .af-btn { min-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .af-gal-nav, .af-qty-stepper button, .af-btn, .af-toast { transition: none; }
}

/* 产品详情页 Description 排版：还原后台富文本结构（h2 小标题 / h4 正文 / 图片居中 / 列表等） */
.af-content { color: #444; font-size: 15px; line-height: 1.8; }
.af-content h1, .af-content h2, .af-content h3,
.af-content h4, .af-content h5, .af-content h6 { margin: 24px 0 12px; line-height: 1.4; color: #222; font-weight: 700; }
.af-content h1 { font-size: 24px; }
.af-content h2 { font-size: 20px; }
.af-content h3 { font-size: 18px; }
.af-content h4, .af-content h5, .af-content h6 { font-size: 15px; font-weight: 400; color: #555; line-height: 1.8; margin: 0 0 14px; }
.af-content p { margin: 0 0 14px; }
.af-content strong { font-weight: 700; color: #222; }
.af-content ul, .af-content ol { margin: 0 0 14px 24px; padding: 0; }
.af-content li { margin-bottom: 6px; }
.af-content blockquote { margin: 14px 0; padding: 10px 16px; border-left: 3px solid #F33535; background: #fafafa; color: #666; }
.af-content img { max-width: 100%; height: auto; }
.af-content img.aligncenter { display: block; margin: 16px auto; }
.af-content hr { border: 0; border-top: 1px solid #eee; margin: 20px 0; }
.af-content table { width: 100%; border-collapse: collapse; margin: 14px 0; }
.af-content th, .af-content td { padding: 8px 12px; border: 1px solid #eee; text-align: left; }
.af-content a { color: #F33535; text-decoration: none; }
.af-content a:hover { text-decoration: underline; }
@media (max-width: 767px) {
  .af-content { font-size: 14px; }
  .af-content h2 { font-size: 18px; }
}

/* 商店侧边栏分类：主菜单 + 二级子分类层级（覆盖主题 hover 飞出菜单，改为内联嵌套列表） */
.widget_product_categories .product-categories { list-style: none; margin: 0; padding: 0; }
.widget_product_categories .product-categories li { margin: 0; padding: 0; position: relative; }
.widget_product_categories .product-categories li a {
  display: block; padding: 8px 10px 8px 30px; color: #333; text-decoration: none;
  border-bottom: 1px solid #eee; font-size: 14px;
}
.widget_product_categories .product-categories li a:hover { color: #F33535; background: #fafafa; }
.widget_product_categories .product-categories > li.cat-parent > a { font-weight: 600; }
/* 折叠箭头按钮 */
.widget_product_categories .product-categories .cat-toggle {
  position: absolute; left: 0; top: 0; width: 28px; height: 36px;
  background: transparent; border: none; cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center; color: #999;
  z-index: 2; transition: transform .2s ease;
}
.widget_product_categories .product-categories .cat-toggle:hover { color: #F33535; }
.widget_product_categories .product-categories li.cat-open > .cat-toggle { transform: rotate(90deg); }
/* 子分类默认折叠，cat-open 时展开 */
.widget_product_categories .product-categories .children {
  list-style: none; margin: 0; padding: 0 0 0 16px;
  max-height: 0; overflow: hidden; transition: max-height .3s ease;
}
.widget_product_categories .product-categories li.cat-open > .children {
  max-height: 500px;
}
.widget_product_categories .product-categories .children li a {
  font-weight: 400; font-size: 13px; padding: 6px 10px; color: #555;
}
/* 隐藏主题给 cat-parent 加的 > 箭头（子分类始终可见，无需箭头提示） */
.content-left-sidebar .widget_product_categories .product-categories li.cat-parent::after,
.widget_product_categories .product-categories li.cat-parent::after { display: none !important; }
.widget_product_categories .product-categories li.current-cat > a,
.widget_product_categories .product-categories li.current-cat-parent > a {
  color: #F33535; font-weight: 600;
}
