/* =====================================================================
   HolyCMS for WordPress — WooCommerce の見た目
   色・角丸はテーマの --dz-* 変数に合わせる。
   ===================================================================== */
.hc-woo{ min-width:0; }
.woocommerce .woocommerce-products-header__title,
.woocommerce div.product .product_title{ color:var(--dz-heading); font-size:clamp(22px,3vw,30px); line-height:1.35; margin:0 0 12px; }
.woocommerce .woocommerce-result-count{ color:var(--dz-muted); font-size:13px; }
.woocommerce .woocommerce-ordering select{ width:auto; min-height:40px; border-radius:99px; padding:6px 14px; }

/* 商品一覧 */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap:var(--dz-gap); margin:0 0 24px; padding:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ content:none; display:none; }
.woocommerce ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; background:var(--dz-surface);
  border:1px solid var(--dz-line); border-radius:var(--dz-radius); padding:10px 10px 14px; display:flex; flex-direction:column; }
.woocommerce ul.products li.product a img{ border-radius:calc(var(--dz-radius) * .7); margin:0 0 10px; aspect-ratio:1; object-fit:cover; transition:transform .3s; }
.woocommerce ul.products li.product a:hover img{ transform:scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:14px; font-weight:700; line-height:1.5; color:var(--dz-text); padding:0; margin:0 0 4px; }
.woocommerce ul.products li.product .price{ color:var(--dz-accent); font-weight:800; font-size:14px; margin:0 0 10px; }
.woocommerce ul.products li.product .button{ margin-top:auto; }
.woocommerce span.onsale{ background:var(--dz-accent); color:var(--dz-on-accent); border-radius:99px; min-height:0; min-width:0; line-height:1; padding:6px 10px; font-size:11px; top:14px; left:14px; right:auto; margin:0; }

/* ボタン */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--dz-button); color:var(--dz-on-button); border-radius:99px; padding:12px 22px; font-weight:700; line-height:1.2; text-align:center; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{ background:var(--dz-button); color:var(--dz-on-button); filter:brightness(1.25); }
.woocommerce a.added_to_cart{ display:block; text-align:center; font-size:12.5px; margin-top:6px; }

/* 商品ページ */
.woocommerce div.product{ background:var(--dz-surface); border:1px solid var(--dz-line); border-radius:var(--dz-radius); padding:clamp(16px,3vw,32px); }
.woocommerce div.product p.price,.woocommerce div.product span.price{ color:var(--dz-accent); font-size:22px; font-weight:800; }
.woocommerce div.product div.images img{ border-radius:var(--dz-radius); }
.woocommerce div.product form.cart .qty{ width:4.5em; min-height:44px; border-radius:99px; text-align:center; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; margin:0 0 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--dz-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:var(--dz-hover); border-color:var(--dz-line); border-radius:10px 10px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:var(--dz-surface); border-bottom-color:var(--dz-surface); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--dz-text); }
.woocommerce .related > h2,.woocommerce .upsells > h2{ background:var(--dz-heading); color:var(--dz-on-heading); font-size:15px; padding:7px 14px; border-radius:calc(var(--dz-radius) * .5); margin:28px 0 14px; }

/* カート・購入手続き */
.woocommerce table.shop_table{ border-color:var(--dz-line); border-radius:var(--dz-radius); background:var(--dz-surface); }
.woocommerce table.shop_table th,.woocommerce table.shop_table td{ border-color:var(--dz-line); }
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce form.checkout_coupon,
.woocommerce form.login,.woocommerce form.register{ background:var(--dz-surface); border:1px solid var(--dz-line); border-radius:var(--dz-radius); padding:18px; }
.woocommerce-message,.woocommerce-info,.woocommerce-error{ background:var(--dz-surface); color:var(--dz-text); border-top-color:var(--dz-accent); border-radius:var(--dz-radius); }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--dz-accent); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{ min-height:44px; }

/* マイアカウント */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; margin:0 0 20px; background:var(--dz-surface); border:1px solid var(--dz-line); border-radius:var(--dz-radius); overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:12px 16px; color:var(--dz-text); text-decoration:none; border-bottom:1px solid var(--dz-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{ border-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--dz-hover); font-weight:700; }

/* ブロック版カート・チェックアウト */
.wc-block-components-button:not(.is-link){ background:var(--dz-button); color:var(--dz-on-button); border-radius:99px; }
