/*
Theme Name: 凯亿湾 XKAIYIWAN
Theme URI: https://www.xwshshop.com
Description: 简洁 B2B 批发商城风格（基于 Kadence）
Author: XKAIYIWAN
Template: kadence
Version: 4.7.0
Text Domain: xkaiyiwan
*/

@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&display=swap");

:root {
  --xky-navy: #1b3045;
  --xky-navy-2: #152536;
  --xky-text: #1b3045;
  --xky-muted: #5c6b7a;
  --xky-line: #e4e7eb;
  --xky-bg: #ffffff;
  --xky-white: #ffffff;
  --xky-font: "Source Sans 3", "Segoe UI", sans-serif;
  --xky-serif: "Source Sans 3", "Segoe UI", sans-serif;
  --xky-container: 1180px;
  --xky-gutter: clamp(1rem, 3vw, 1.75rem);
  --global-palette1: #1b3045;
  --global-palette2: #152536;
  --global-palette3: #1b3045;
  --global-palette4: #2c3e50;
  --global-palette5: #5c6b7a;
  --global-palette6: #8a97a5;
  --global-palette7: #eef1f4;
  --global-palette8: #f3f4f6;
  --global-palette9: #ffffff;
}

html { scroll-behavior: smooth; }

body {
  color: var(--xky-text);
  font-family: var(--xky-font);
  font-size: 16px;
  line-height: 1.6;
  background: var(--xky-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4,
.site-title,
.entry-title,
.product_title,
.woocommerce-loop-product__title,
.woocommerce-products-header__title {
  font-family: var(--xky-serif);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  color: var(--xky-navy);
}

img { max-width: 100%; height: auto; }
a { color: var(--xky-navy); transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease; }

.xky-container {
  width: min(100% - (var(--xky-gutter) * 2), var(--xky-container));
  margin-inline: auto;
}

/* ========== Top announcement ========== */
.xky-announce {
  background: var(--xky-navy);
  color: #fff;
  text-align: center;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  padding: 0.45rem 1rem;
}

/* ========== Header ========== */
.site-header-wrap,
.site-main-header-wrap,
.site-header-row-container[data-section="kadence_customizer_header_main"] {
  background: #fff !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--xky-line);
}

.site-header-row-container-inner,
.site-main-header-inner-wrap {
  max-width: var(--xky-container) !important;
  margin-inline: auto;
  padding-inline: var(--xky-gutter);
}

.site-branding .site-title,
.site-title {
  font-family: var(--xky-serif) !important;
  font-size: 1.35rem !important;
  letter-spacing: 0.04em !important;
  text-transform: none;
  color: var(--xky-navy) !important;
  font-weight: 700 !important;
}

.site-branding .site-description { display: none; }

.site-header-main-section-left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.header-navigation {
  margin-left: 0.25rem;
}

.header-navigation .menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.header-navigation .menu > .menu-item > a {
  font-family: var(--xky-font);
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--xky-navy) !important;
  padding: 0.5rem 0.65rem !important;
}

.header-navigation .menu > .menu-item > a:hover,
.header-navigation .menu > .menu-item.current-menu-item > a {
  color: #3d5a73 !important;
}

.header-navigation .sub-menu {
  background: #fff !important;
  border: 1px solid var(--xky-line) !important;
  box-shadow: 0 10px 28px rgba(27, 48, 69, 0.08) !important;
  padding: 0.4rem 0 !important;
  min-width: 220px;
}

.header-navigation .sub-menu a {
  font-size: 0.9rem !important;
  color: var(--xky-navy) !important;
  padding: 0.55rem 1rem !important;
}

.header-navigation .sub-menu a:hover {
  background: var(--xky-bg) !important;
}

.header-html,
.site-header-item-html,
.header-mobile-html { margin-left: 0.35rem; }

.header-html-inner p { margin: 0; }

.xky-tools {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.xky-tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  text-decoration: none !important;
  color: var(--xky-navy) !important;
  line-height: 1;
}

.xky-tool__icon {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.xky-tool--account .xky-tool__icon {
  background: #fff;
  border: 1px solid #d7dbe0;
  color: #6b7280;
}

.xky-tool--cart .xky-tool__icon {
  background: #111;
  color: #fff;
}

.xky-tool__text {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0;
}

.xky-cart-count {
  position: absolute;
  top: -4px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: #fff;
  color: #6d28d9;
  border: 1px solid #ececec;
  font-size: 11px;
  font-weight: 700;
  display: grid;
  place-items: center;
}

/* ========== Navy search bar ========== */
.xky-searchbar {
  background: #f7f8fa;
  border-bottom: 1px solid var(--xky-line);
  padding: 0.65rem var(--xky-gutter);
}

.xky-searchbar form {
  width: min(100%, 640px);
  margin: 0 auto;
  display: flex;
  background: #fff;
  border: 1px solid var(--xky-line);
  border-radius: 2px;
  overflow: hidden;
}

.xky-searchbar input[type="search"] {
  flex: 1;
  border: 0;
  margin: 0;
  min-height: 42px;
  padding: 0.55rem 0.95rem;
  font-size: 0.92rem;
  font-family: inherit;
  color: var(--xky-text);
  background: #fff;
  box-shadow: none;
}

.xky-searchbar input[type="search"]::placeholder {
  color: #8a97a5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
}

.xky-searchbar button {
  border: 0;
  background: #fff;
  color: var(--xky-navy);
  width: 48px;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.xky-searchbar button:hover { color: #000; }

/* ========== Front page shell ========== */
.home .entry-hero,
.home .entry-header { display: none !important; }

.home .content-area,
.home .entry-content-wrap,
.home .entry.single-content,
.home .content-wrap,
.home .site-container,
.home .content-container,
.home .content-bg,
.home article.page {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.home #inner-wrap,
.home .content-container { background: var(--xky-bg); }

.xky-home { padding: 1.25rem 0 3rem; }

.xky-block { margin-bottom: 2.25rem; }

.xky-block__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--xky-line);
  padding-bottom: 0.55rem;
}

.xky-block__head h2 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.xky-block__head a {
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}

.xky-empty { color: var(--xky-muted); font-size: 0.92rem; }

.xky-products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.xky-product {
  background: #fff;
  border: 1px solid var(--xky-line);
  border-radius: 4px;
  padding: 1rem 1rem 1.25rem;
  text-align: center;
}

.xky-product a { text-decoration: none; color: inherit; }

.xky-product__img {
  display: block;
  aspect-ratio: 1;
  background: #fff;
  margin-bottom: 0.85rem;
}

.xky-product__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.xky-product h3 {
  font-family: var(--xky-font);
  font-size: 0.88rem;
  font-weight: 500;
  margin: 0 0 0.4rem;
  line-height: 1.4;
  color: var(--xky-text);
}

.xky-product .price {
  font-family: var(--xky-font);
  color: var(--xky-navy);
  font-size: 1.02rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
}

.xky-product__cart {
  width: 100%;
  min-height: 36px !important;
  font-size: 0.82rem !important;
}

.xky-note {
  background: #f7f8fa;
  border: 1px solid var(--xky-line);
  padding: 1rem 1.15rem;
  margin-bottom: 1.75rem;
  font-size: 0.92rem;
  color: var(--xky-text);
}

.xky-note h2 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
}

.xky-note p { margin: 0; color: var(--xky-muted); }

/* ========== Homepage slider ========== */
.xky-slider {
  margin: 0 0 1.85rem;
}

.xky-slider__viewport {
  position: relative;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  overflow: hidden;
}

.xky-slider__track {
  position: relative;
}

.xky-slider__slide {
  display: none;
  padding: 1.35rem 1.6rem 1.5rem;
  background: #fff;
  text-decoration: none;
}

.xky-slider__slide.is-active { display: block; }

.xky-slider__slide img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  background: #fff;
}

.xky-slider__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: var(--xky-navy);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(27, 48, 69, 0.08);
}

.xky-slider__nav::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: 12px auto 0;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.xky-slider__nav--prev { left: 12px; }
.xky-slider__nav--prev::before { transform: rotate(-135deg); margin-left: 14px; }
.xky-slider__nav--next { right: 12px; }
.xky-slider__nav--next::before { transform: rotate(45deg); margin-right: 14px; }

.xky-slider__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  display: flex;
  justify-content: center;
  gap: 7px;
}

.xky-slider__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #c9d0d8;
  cursor: pointer;
}

.xky-slider__dot.is-active { background: #4f46e5; }

/* ========== WooCommerce ========== */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem !important;
}

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  text-align: center;
  background: #fff;
  border: 1px solid var(--xky-line);
  padding: 0.85rem;
  border-radius: 4px;
}

.woocommerce ul.products li.product img {
  background: #fff;
  padding: 0.5rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--xky-font);
  font-size: 0.88rem;
  font-weight: 500;
}

.woocommerce ul.products li.product .button {
  width: 100%;
  margin-top: 0.5rem;
}

.woocommerce nav.woocommerce-breadcrumb {
  font-size: 0.85rem;
  color: var(--xky-muted);
  margin-bottom: 1rem;
}

.woocommerce div.product {
  background: #fff;
}

.woocommerce div.product .product_title {
  font-family: var(--xky-font);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
}

.woocommerce div.product p.price {
  font-family: var(--xky-font);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--xky-navy);
}

.woocommerce div.product .woocommerce-product-gallery {
  background: #fff;
  border: 1px solid var(--xky-line);
  padding: 0.75rem;
}

.woocommerce-tabs {
  margin-top: 2rem;
}

.related.products h2,
.upsells.products h2 {
  font-family: var(--xky-font);
  font-size: 1.2rem;
}

.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit {
  background: var(--xky-navy) !important;
  border: 1px solid var(--xky-navy) !important;
  color: #fff !important;
  border-radius: 2px !important;
  letter-spacing: 0.02em;
  text-transform: none;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  min-height: 42px;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce a.button.alt:hover {
  background: var(--xky-navy-2) !important;
  border-color: var(--xky-navy-2) !important;
}

.woocommerce-account #customer_login.col2-set,
.woocommerce-account .u-columns.col2-set {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5rem;
  width: 100% !important;
}

.woocommerce-account #customer_login.col2-set::before,
.woocommerce-account #customer_login.col2-set::after,
.woocommerce-account .u-columns.col2-set::before,
.woocommerce-account .u-columns.col2-set::after {
  display: none !important;
  content: none !important;
}

.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2,
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2 {
  float: none !important;
  clear: none !important;
  width: calc(50% - 0.75rem) !important;
  max-width: none !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  border: 1px solid var(--xky-line);
  padding: 1.15rem 1.2rem 1.25rem;
  background: #fff;
}

.woocommerce-account #customer_login h2 {
  font-size: 1.15rem;
  margin: 0 0 0.85rem;
}

.xky-register-link {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  color: var(--xky-muted);
}

.xky-register-link a {
  font-weight: 600;
  text-decoration: none;
}

.xky-register-link a:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .woocommerce-account #customer_login .col-1,
  .woocommerce-account #customer_login .col-2,
  .woocommerce-account #customer_login .u-column1,
  .woocommerce-account #customer_login .u-column2,
  .woocommerce-account .u-columns .col-1,
  .woocommerce-account .u-columns .col-2 {
    width: 100% !important;
  }
}

.entry-hero .entry-header .entry-title,
.woocommerce-products-header__title {
  font-family: var(--xky-serif);
  text-transform: none;
  letter-spacing: 0;
}

.entry-hero,
.woo-archive-title {
  background: transparent !important;
  border: 0 !important;
  padding-top: 1.25rem !important;
  padding-bottom: 0.25rem !important;
}

.xky-shop { margin: 0 0 2rem; }

.xky-crumb {
  font-size: 0.9rem;
  color: #6b7280;
  margin: 0 0 1rem;
}

.xky-crumb a { color: #6b7280; text-decoration: none; }

.xky-shop__row {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.xky-filters__card {
  background: #f3f4f6;
  border-radius: 22px;
  padding: 1.25rem 1.2rem 1.35rem;
}

.xky-filters__card h3 {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  font-weight: 700;
  color: #374151;
}

.xky-filters__cats {
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0 0 1.1rem;
  border-bottom: 1px solid #e5e7eb;
}

.xky-filters__cats li { margin: 0 0 0.7rem; }

.xky-filters__cats a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  text-decoration: none;
  color: #4b5563;
  font-size: 0.95rem;
}

.xky-filters__cats .is-active a {
  color: #111827;
  font-weight: 700;
}

.xky-filters__cats em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 22px;
  padding: 0 0.55rem;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #6b7280;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 600;
}

.xky-filters__cats .is-active em {
  background: #4f46e5;
  border-color: #4f46e5;
  color: #fff;
}

.xky-price .price_slider {
  margin: 0.85rem 0 1rem;
  height: 4px;
  background: #c7d2fe;
  border: 0;
  border-radius: 99px;
}

.xky-price .ui-slider-range {
  background: #4f46e5;
  height: 4px;
}

.xky-price .ui-slider-handle {
  width: 4px;
  height: 16px;
  top: -6px;
  margin-left: -2px;
  background: #4f46e5;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
}

.xky-price .price_slider_amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.xky-price .price_label {
  font-size: 0.82rem;
  color: #4b5563;
}

.xky-price .button {
  min-height: 30px !important;
  padding: 0.25rem 0.9rem !important;
  background: #fff !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 999px !important;
  font-size: 0.8rem !important;
}

/* ========== Footer ========== */
.xky-foot {
  background: var(--xky-navy);
  color: #d5dce3;
  padding: 2rem 0 0.5rem;
}

.xky-foot a { color: #fff !important; text-decoration: none; }
.xky-foot a:hover { text-decoration: underline; }

.xky-foot__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.xky-foot h3 {
  color: #fff;
  font-family: var(--xky-serif);
  font-size: 1rem;
  margin: 0 0 0.7rem;
}

.xky-foot ul { list-style: none; margin: 0; padding: 0; }
.xky-foot li { margin: 0 0 0.4rem; font-size: 0.9rem; }

.site-footer,
#colophon,
.kadence-footer-wrap {
  background: var(--xky-navy-2) !important;
  color: #b7c2cd !important;
  border-top: 0;
}

.site-footer a,
#colophon a { color: #fff !important; }

.footer-html,
.footer-html-inner {
  text-align: center;
  font-size: 0.85rem;
}

@media (max-width: 980px) {
  .xky-products,
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .xky-shop__row { grid-template-columns: 1fr; }
  .xky-foot__grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

.woocommerce-checkout #payment .payment_methods li img.xky-pay-icon,
.woocommerce-checkout #payment .payment_methods li img {
  max-height: 22px;
  margin-left: 6px;
}

.xky-official-pay {
  max-width: 360px;
  margin: 1rem auto 2rem;
  padding: 1.25rem 1.3rem 1.4rem;
  border: 1px solid var(--xky-line);
  background: #fff;
  text-align: center;
}

.xky-official-pay h3 { margin: 0 0 0.6rem; }
.xky-official-pay__qr {
  width: 220px;
  height: 220px;
  margin: 1rem auto;
  background: #fff;
}
.xky-official-pay__amt {
  margin: 0.4rem 0 0;
  font-weight: 700;
}

.xky-blocks-pay-label img {
  vertical-align: middle;
}

.xky-fx__intro { color: var(--xky-muted); margin: 0 0 1.1rem; }
.xky-fx__linkbox {
  border: 1px solid var(--xky-line);
  padding: 1rem 1.1rem;
  margin-bottom: 1.25rem;
  background: #fff;
}
.xky-fx__linkbox label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.45rem;
}
.xky-fx__copy { display: flex; gap: 0.5rem; }
.xky-fx__copy input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--xky-line);
  padding: 0.45rem 0.6rem;
}
.xky-fx__code { margin: 0.55rem 0 0; color: var(--xky-muted); }
.xky-fx__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.xky-fx__stats div {
  border: 1px solid var(--xky-line);
  padding: 0.75rem 0.8rem;
  background: #f8fafc;
}
.xky-fx__stats span {
  display: block;
  color: var(--xky-muted);
  font-size: 0.82rem;
  margin-bottom: 0.25rem;
}
.xky-fx__stats strong { font-size: 1.05rem; }
.xky-fx__people { list-style: none; margin: 0; padding: 0; }
.xky-fx__people li {
  border-bottom: 1px solid var(--xky-line);
  padding: 0.45rem 0;
}

@media (max-width: 768px) {
  .xky-fx__stats { grid-template-columns: 1fr 1fr; }
  .xky-fx__copy { flex-direction: column; }
}

@media (max-width: 640px) {
  .xky-products,
  .xky-foot__grid,
  .woocommerce ul.products {
    grid-template-columns: 1fr 1fr !important;
  }

  .xky-slider__viewport { border-radius: 16px; }
  .xky-slider__slide { padding: 0.85rem 0.75rem 1rem; }
  .xky-slider__slide img { max-height: 220px; }
}
