/*
Theme Name: VEMAX
Theme URI: https://vemax.store/
Author: VEMAX
Description: Apple 风格极简 DTC 主题 —— 零阴影、单一强调色、尺寸自适应字阶。内置 WooCommerce 归档页 / 商品详情页 / 购物车与结算页样式，支持中英文混合排版与 RTL。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vemax
Tags: e-commerce, minimal, custom-colors, custom-menu, featured-images, translation-ready, right-sidebar
*/

/* ============================================================
   本文件只放「WordPress / WooCommerce 对接样式」。
   设计令牌在 assets/tokens.css，组件样式在 assets/components.css。
   全站零阴影（box-shadow: none），间距一律走 CSS 变量。
   ============================================================ */

/* ---------- WordPress 基础 ---------- */
body {
  margin: 0;
  background: var(--color-background);
  color: var(--color-text-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
img,
svg,
video {
  max-width: 100%;
}
img {
  height: auto;
}
figure {
  margin: 0;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

/* 固定头部与后台工具条的补偿 */
html {
  scroll-padding-top: var(--header-height);
}
body.admin-bar .header {
  inset-block-start: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .header {
    inset-block-start: 46px;
  }
}
.page-offset {
  padding-block-start: var(--header-height);
}
body.admin-bar .page-offset {
  padding-block-start: calc(var(--header-height) + 32px);
}

/* 焦点环：全局可见、非阴影实现 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}

/* ---------- 屏幕阅读器 & 内容工具类 ---------- */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text:focus {
  position: fixed !important;
  inset-block-start: 1rem;
  inset-inline-start: 1rem;
  width: auto;
  height: auto;
  clip: auto;
  z-index: var(--z-toast);
  padding: 0 var(--space-base);
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  line-height: 44px;
}

/* ---------- 区块内容（页面 / 文章正文） ---------- */
.entry-content > * + * {
  margin-block-start: var(--space-base);
}
.entry-content h2 {
  font-size: var(--fs-heading-lg);
  line-height: var(--lh-heading-lg);
  letter-spacing: -0.018em;
  margin-block-start: var(--space-xl);
}
.entry-content h3 {
  font-size: var(--fs-heading-md);
  line-height: var(--lh-heading-md);
  letter-spacing: -0.014em;
  margin-block-start: var(--space-lg);
}
.entry-content a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.entry-content ul,
.entry-content ol {
  padding-inline-start: 1.4em;
}
.entry-content li + li {
  margin-block-start: var(--space-xs);
}
.entry-content blockquote {
  margin: 0;
  padding-inline-start: var(--space-base);
  border-inline-start: 2px solid var(--color-border-strong);
  color: var(--color-text-secondary-accessible);
}
.entry-content img,
.entry-content .wp-block-image img {
  border-radius: var(--radius-lg);
}
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-body-sm);
}
.entry-content th,
.entry-content td {
  border: 1px solid var(--color-border);
  padding: var(--space-sm) var(--space-md);
  text-align: start;
}
.alignwide {
  max-width: 1120px;
  margin-inline: auto;
}
.alignfull {
  width: 100%;
  max-width: none;
}
.aligncenter {
  margin-inline: auto;
}
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--space-lg);
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-size: var(--fs-button);
  text-decoration: none;
}
.wp-block-button__link:hover {
  background: var(--color-primary-hover);
  color: var(--color-text-inverse);
}
.wp-block-button__link:active {
  background: var(--color-primary-active);
}
.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}

/* ---------- 搜索表单 ---------- */
.search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.search-field {
  min-height: 44px;
  padding-inline: 40px var(--space-base);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-background);
  font-size: var(--fs-body-sm);
  width: 100%;
}
.search-wrap__icon {
  position: absolute;
  inset-inline-start: 14px;
  display: inline-flex;
  color: var(--color-text-secondary);
  pointer-events: none;
}
.search-wrap--header .search-field {
  min-height: 40px;
  width: 220px;
}
.search-submit {
  display: none;
}

/* ---------- 分页 ---------- */
.navigation.pagination {
  margin-block-start: var(--space-section-sm);
  display: flex;
  justify-content: center;
}
.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  margin-inline: 2px;
  padding-inline: var(--space-sm);
  border-radius: var(--radius-pill);
  color: var(--color-text-primary);
  font-size: var(--fs-body-sm);
  text-decoration: none;
}
.navigation.pagination .page-numbers:hover {
  background: var(--color-surface-muted);
}
.navigation.pagination .page-numbers.current {
  background: var(--color-text-strong);
  color: var(--color-text-inverse);
}

/* ---------- 日志 / 文章 ---------- */
.post-list {
  display: grid;
  gap: var(--space-xl);
}
.post-list__title {
  font-size: var(--fs-heading-md);
  line-height: var(--lh-heading-md);
}
.post-meta {
  color: var(--color-text-secondary-accessible);
  font-size: var(--fs-caption);
}
.comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-lg);
}
.comment-list .comment-body {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-base);
}
.comment-form label {
  display: block;
  margin-block-end: var(--space-xs);
  font-size: var(--fs-label);
}
.comment-form input[type='text'],
.comment-form input[type='email'],
.comment-form input[type='url'],
.comment-form textarea {
  width: 100%;
  min-height: 44px;
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-background);
}
.comment-form .submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--space-xl);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-md);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-size: var(--fs-button);
}

/* ============================================================
   WooCommerce 对接
   ============================================================ */

/* 循环包裹层：沿用设计系统的网格 */
ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.products::before,
ul.products::after {
  display: none;
}
ul.products li.product {
  margin: 0;
  width: 100%;
  float: none;
}
.woocommerce-loop-product__link {
  display: block;
}
ul.products::after {
  content: none;
}

/* 促销徽标：用设计系统的 badge，不用 WooCommerce 默认角标 */
.woocommerce span.onsale {
  display: none;
}

/* 价格 */
.woocommerce-Price-amount {
  font-variant-numeric: tabular-nums;
}
.product-card__prices del,
.product-card__prices del .woocommerce-Price-amount {
  color: var(--color-text-secondary);
  font-size: var(--fs-body-sm);
  font-weight: 400;
}
.product-card__prices ins {
  text-decoration: none;
}
.woocommerce-Price-currencySymbol {
  font-size: 0.75em;
  padding-inline-end: 1px;
}

/* 循环里的加入购物车按钮 */
.card-add.loading {
  color: var(--color-text-secondary);
}
.card-add.added_to_cart {
  display: none;
}

/* 排序下拉 */
.woocommerce-ordering {
  margin: 0;
}
.woocommerce-ordering select {
  height: 44px;
  padding-inline: var(--space-md) 36px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-background);
  color: var(--color-text-primary);
  font-size: var(--fs-body-sm);
  appearance: none;
}
.woocommerce-result-count {
  margin: 0;
  color: var(--color-text-secondary-accessible);
  font-size: var(--fs-body-sm);
}

/* WooCommerce 提示条 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-base);
  margin: 0 0 var(--space-xl);
  padding: var(--space-md) var(--space-base);
  border: 1px solid var(--color-border);
  border-inline-start: 3px solid var(--color-primary);
  border-radius: var(--radius-md);
  background: var(--color-surface-muted);
  font-size: var(--fs-body-sm);
  box-shadow: none;
}
.woocommerce-error {
  border-inline-start-color: var(--color-accent-sale);
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  margin-inline-start: auto;
  min-height: 40px;
  padding-inline: var(--space-base);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--color-text-primary);
  font-size: var(--fs-nav);
  text-decoration: none;
}

/* 面包屑 */
.woocommerce-breadcrumb {
  margin: 0 0 var(--space-base);
  color: var(--color-text-secondary-accessible);
  font-size: var(--fs-caption);
}
.woocommerce-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
  color: var(--color-text-primary);
  text-decoration: underline;
}

/* ---------- 商品详情 ---------- */
.product-gallery__main {
  position: relative;
}
.woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
}
.product_detail_cart .quantity input.qty {
  width: 88px;
  min-height: 44px;
  padding-inline: var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  text-align: center;
}
.product_detail_cart .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding-inline: var(--space-xl);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-size: var(--fs-button);
  text-decoration: none;
}
.product_detail_cart .single_add_to_cart_button:hover {
  background: var(--color-primary-hover);
}
.product_detail_cart .single_add_to_cart_button:active {
  background: var(--color-primary-active);
}
.product_detail_cart .single_add_to_cart_button.disabled,
.product_detail_cart .single_add_to_cart_button[disabled] {
  background: var(--color-primary-disabled);
  border-color: var(--color-primary-disabled);
  color: var(--color-text-secondary);
}
.product_detail_cart form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md);
}

/* 变体选择表 */
table.variations {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-body-sm);
}
table.variations th,
table.variations td {
  padding-block: var(--space-xs);
  border: 0;
  text-align: start;
  vertical-align: middle;
}
table.variations select {
  min-height: 44px;
  padding-inline: var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-background);
  min-width: 220px;
}
.reset_variations {
  color: var(--color-primary);
  font-size: var(--fs-caption);
}
.woocommerce-variation-price {
  font-size: var(--fs-heading-sm);
}

/* 标签页（若主题外仍启用） */
.woocommerce-tabs {
  border-block-start: 1px solid var(--color-border);
  padding-block-start: var(--space-xl);
}
.woocommerce-tabs ul.tabs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-base);
  margin: 0 0 var(--space-lg);
  padding: 0;
}
.woocommerce-tabs ul.tabs a {
  color: var(--color-text-secondary-accessible);
  text-decoration: none;
  font-size: var(--fs-body-sm);
}
.woocommerce-tabs ul.tabs li.active a {
  color: var(--color-text-primary);
  font-weight: 600;
}

/* 评分 */
.star-rating {
  color: var(--color-text-secondary);
  font-size: var(--fs-body-sm);
}

/* ---------- 购物车 / 结算（区块版与短代码版） ---------- */
.wc-block-cart,
.wc-block-checkout,
.woocommerce-cart-form,
.woocommerce-checkout-review-order {
  font-size: var(--fs-body-sm);
}
.wc-block-components-button,
.wc-block-cart__submit-button,
.woocommerce-cart .button,
.woocommerce-checkout .button,
#place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding-inline: var(--space-xl);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-size: var(--fs-button);
  text-decoration: none;
}
.wc-block-components-button:hover,
.woocommerce-cart .button:hover,
#place_order:hover {
  background: var(--color-primary-hover);
}
.wc-block-components-text-input input,
.wc-block-components-select__select,
.wc-block-components-address-form input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  min-height: 44px;
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-background);
  width: 100%;
}
.wc-block-components-sidebar,
.cart_totals,
.woocommerce-checkout-review-order {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
}
.shop_table {
  width: 100%;
  border-collapse: collapse;
}
.shop_table th,
.shop_table td {
  border-block-end: 1px solid var(--color-border);
  padding: var(--space-md) var(--space-sm);
  text-align: start;
}

/* ============================================================
   主题结构（导航菜单 / 搜索字段 / 移动抽屉 / 页脚列表）
   ============================================================ */

/* 主导航：设计系统中 .nav-link 默认隐藏，≥1024px 显示 */
.header__nav {
  display: none;
}
@media (min-width: 1024px) {
  .header__nav {
    display: block;
  }
}
.header__nav ul {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  list-style: none;
  margin: 0;
  padding: 0;
}
.header__nav li {
  margin: 0;
}

/* 头部搜索：桌面内联，移动端收进抽屉 */
.search-wrap--header {
  display: none;
}
@media (min-width: 1024px) {
  .search-wrap--header {
    display: flex;
    width: 200px;
    align-self: center;
  }
  .search-wrap--header .search-field {
    width: 100%;
  }
}

/* 移动抽屉：带 data-open 状态，无 JS 时保持关闭 */
.mobile-nav[data-open='false'] {
  display: none;
}
.mobile-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* 抽屉内的菜单项改用大字号样式 */
.mobile-nav .nav-link {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding-inline: 0;
  border-radius: 0;
  border-block-end: 1px solid var(--color-border);
  font-size: var(--fs-heading-md);
  line-height: var(--lh-heading-md);
  letter-spacing: var(--ls-heading-md);
}
html[lang='zh'] .mobile-nav .nav-link,
html[lang='ar'] .mobile-nav .nav-link {
  letter-spacing: 0;
}
/* 兜底链接（未分配菜单时）同样样式 */
.mobile-nav__list .menu-item > a {
  text-decoration: none;
}
.mobile-nav__head .wordmark {
  padding-inline-end: 0;
}
.mobile-nav .search-wrap {
  margin-block-end: var(--space-sm);
}

/* 页脚列表项复位 */
.footer__list li {
  margin: 0;
}
.footer__list a {
  color: inherit;
}

/* ============================================================
   商品卡片修正
   1) 标题用深色（早期版本误用了 .link，标题变成强调蓝）；
   2) 网格项默认 min-width:auto 会被内容撑宽，导致窄屏横向溢出 —— 统一压成 0；
   3) 长单词/长串允许断行，避免再撑破容器。
   ============================================================ */
.product-card__title a {
  color: inherit;
  text-decoration: none;
}
.product-card__title a:hover {
  color: var(--color-primary);
}
.grid > *,
.rail > *,
.split > *,
.tile {
  min-width: 0;
}
.product-card__title,
.product-card__tagline {
  overflow-wrap: anywhere;
}

/* 商品详情：自定义图库 */
.gallery__thumbs button {
  cursor: pointer;
}
.gallery__main img {
  cursor: zoom-in;
}

/* 归档页空状态 */
.woocommerce-no-products-found,
.vemax-empty {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-xxl);
  text-align: center;
  color: var(--color-text-secondary-accessible);
}

/* 后台编辑态：区块宽对齐 */
.editor-styles-wrapper {
  font-family: var(--font-body);
}

/* 卡片图片容器：相对定位 + 内部链接撑满 */
.product-card__media {
  position: relative;
}
.product-card__media a {
  display: block;
  width: 100%;
  height: 100%;
}
.product-card__media .badge {
  position: absolute;
  inset-block-start: var(--space-md);
  inset-inline-start: var(--space-md);
}

/* WooCommerce 分页：与设计系统一致的胶囊样式 */
.woocommerce-pagination {
  margin-block-start: var(--space-section-sm);
  display: flex;
  justify-content: center;
}
.woocommerce-pagination ul {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-pagination a,
.woocommerce-pagination span.current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding-inline: var(--space-sm);
  border-radius: var(--radius-pill);
  color: var(--color-text-primary);
  font-size: var(--fs-body-sm);
  text-decoration: none;
}
.woocommerce-pagination a:hover {
  background: var(--color-surface-muted);
}
.woocommerce-pagination span.current {
  background: var(--color-text-strong);
  color: var(--color-text-inverse);
}

/* 语言切换器：桌面下拉框宽度约束 + 移动抽屉链接列表 */
.header__group--end .lang-select--compact {
  max-width: 160px;
  margin-inline-end: var(--space-xs);
}
.lang-list {
  list-style: none;
  margin: var(--space-sm) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.lang-list__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-inline: var(--space-base);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  color: var(--color-text-primary);
  font-size: var(--fs-body-sm);
  text-decoration: none;
}
.lang-list__link:hover {
  border-color: var(--color-border-strong);
}
.lang-list__link.is-current {
  border-color: var(--color-border-strong);
  font-weight: 600;
}

/* 居中窄容器（404 / 空状态） */
.vemax-centered {
  max-width: 640px;
  margin-inline: auto;
}

/* 页脚简介 */
.footer__blurb {
  margin-block-start: var(--space-md);
  max-width: 34ch;
  color: var(--color-text-on-dark-muted);
}

/* ---------- 商品网格：清掉 WooCommerce 浮动时代的遗留样式 ----------
   1) WC 的 clearfix 伪元素（content:" "; display:table）在 grid 容器里会变成一个
      真实网格项，把第一格占掉，导致商品整体右移一格。用更高优先级 + content:normal 彻底移除。
   2) 同理把商品项的固定宽度与浮动交还给网格控制。
   ------------------------------------------------------------------ */
html body.woocommerce ul.products::before,
html body.woocommerce ul.products::after,
html body.woocommerce-page ul.products::before,
html body.woocommerce-page ul.products::after {
  content: normal;
  display: none;
}
html body.woocommerce ul.products li.product,
html body.woocommerce-page ul.products li.product {
  width: 100%;
  margin: 0;
  float: none;
  clear: none;
}

