/*
Theme Name: CC Woo Store
Theme URI: https://www.chatcc.top/
Author: CC
Description: 面向实物与虚拟商品的轻量 WooCommerce 商店主题。虚拟商品支持立即购买与免地址结算，实物商品保留标准配送流程。
Version: 1.1.1
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: cc-woo-store
License: GPL-2.0-or-later
*/

:root {
  --cc-bg: #f7f8fc;
  --cc-surface: #fff;
  --cc-text: #182033;
  --cc-muted: #667085;
  --cc-primary: #635bff;
  --cc-primary-dark: #4b43d7;
  --cc-accent: #ffb547;
  --cc-border: #e4e7ec;
  --cc-radius: 16px;
  --cc-shadow: 0 12px 36px rgba(22, 28, 45, .08);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--cc-text);
  background: var(--cc-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.65;
}
a { color: var(--cc-primary); text-decoration: none; }
a:hover { color: var(--cc-primary-dark); }
img { max-width: 100%; height: auto; }
.cc-container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.site-header { background: rgba(255,255,255,.94); border-bottom: 1px solid var(--cc-border); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px); }
.site-header__inner { min-height: 72px; display: flex; align-items: center; gap: 28px; }
.site-brand { color: var(--cc-text); font-size: 22px; font-weight: 800; margin-right: auto; }
.site-nav ul { display: flex; align-items: center; gap: 22px; list-style: none; padding: 0; margin: 0; }
.site-nav a { color: var(--cc-text); font-weight: 600; }
.cc-cart-link { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; color: #fff; background: var(--cc-primary); border-radius: 999px; }
.site-main { min-height: 65vh; padding: 38px 0 72px; }
.site-footer { color: var(--cc-muted); background: #fff; border-top: 1px solid var(--cc-border); padding: 30px 0; }
.cc-card, .site-main article { background: var(--cc-surface); border: 1px solid var(--cc-border); border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); padding: 28px; }

/* Store home */
.cc-store-products { padding-top: 8px; }
.cc-section-heading { margin-bottom: 26px; }
.cc-section-heading h1 { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.15; letter-spacing: -.03em; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color: var(--cc-muted); margin-bottom: 24px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products { list-style: none; padding: 0; }
.woocommerce ul.products li.product { display: flex; flex-direction: column; overflow: hidden; width: auto !important; margin: 0 !important; padding: 14px; background: #fff; border: 1px solid var(--cc-border); border-radius: 18px; box-shadow: 0 8px 30px rgba(22, 28, 45, .06); transition: transform .22s ease, box-shadow .22s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 20px 46px rgba(22, 28, 45, .12); }
.woocommerce ul.products li.product img { aspect-ratio: 1; object-fit: cover; margin-bottom: 18px !important; border-radius: 13px; background: #f1f2f6; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 4px; color: var(--cc-text); font-size: 17px; line-height: 1.45; }
.woocommerce ul.products li.product .price { margin: 2px 4px 16px; font-size: 18px; }
.woocommerce ul.products li.product .button { width: calc(100% - 8px); min-height: 44px; margin: auto 4px 4px; text-align: center; }
.woocommerce div.product { background: #fff; padding: 28px; border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); }
.woocommerce div.product .product_title { line-height: 1.25; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #e5484d; font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .cc-buy-now-button {
  appearance: none; border: 0; border-radius: 11px; padding: 0 22px; min-height: 48px; color: #fff; background: var(--cc-primary); font: inherit; font-weight: 750; line-height: 48px; cursor: pointer;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .cc-buy-now-button:hover { color: #fff; background: var(--cc-primary-dark); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .quantity .qty { height: 48px; border: 1px solid var(--cc-border); border-radius: 11px; }
.woocommerce div.product form.cart .single_add_to_cart_button, .woocommerce div.product form.cart .cc-buy-now-button { float: none; min-width: 142px; height: 48px; margin: 0; padding: 0 22px; line-height: 48px; }
.woocommerce div.product form.cart .single_add_to_cart_button, .woocommerce div.product form.cart .cc-buy-now-button { color: #fff; background: var(--cc-primary); border: 1px solid var(--cc-primary); box-shadow: 0 8px 18px rgba(99, 91, 255, .18); }
.woocommerce div.product form.cart .single_add_to_cart_button:hover, .woocommerce div.product form.cart .cc-buy-now-button:hover { color: #fff; background: var(--cc-primary-dark); border-color: var(--cc-primary-dark); }
.cc-buy-now-button[disabled] { opacity: .55; cursor: not-allowed; }
.cc-product-actions { display: flex; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: #fff; border-radius: 10px; }
.woocommerce-checkout .col2-set, .woocommerce-checkout-review-order, .woocommerce-cart-form, .cart_totals { background: #fff; border: 1px solid var(--cc-border); border-radius: var(--cc-radius); padding: 22px; }
.cc-virtual-checkout-notice { margin: 0 0 18px; padding: 14px 16px; color: #344054; background: #f0efff; border-radius: 10px; }
.cc-checkout-coupon { margin-bottom: 20px; padding: 18px; background: #fafafa; border: 1px solid var(--cc-border); border-radius: 12px; }
.cc-checkout-coupon h3 { margin-top: 0; }
.cc-checkout-coupon__row { display: flex; gap: 10px; }
.cc-checkout-coupon__row input { flex: 1; min-width: 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { padding: 12px; border: 1px solid var(--cc-border); border-radius: 8px; }
.woocommerce-checkout #payment { background: #f7f7fa; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--cc-border); }

@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-nav { display: none; }
}
@media (max-width: 560px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .site-main { padding-top: 24px; }
  .woocommerce div.product, .cc-card, .site-main article { padding: 18px; }
  .woocommerce div.product form.cart .single_add_to_cart_button, .woocommerce div.product form.cart .cc-product-actions, .woocommerce div.product form.cart .cc-buy-now-button { width: 100%; }
  .cc-checkout-coupon__row { flex-direction: column; }
}
