/**
 * Twenty Twenty-Five Child - WooCommerce Styles
 *
 * WooCommerce用のカスタムスタイル
 */

/* ----------------------------------------
   商品一覧
---------------------------------------- */
.woocommerce ul.products li.product {
  text-align: center;
  padding-bottom: 1.5rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 500;
}

.woocommerce ul.products li.product .price {
  font-size: var(--wp--preset--font-size--medium);
  color: var(--wp--preset--color--contrast);
  font-weight: 400;
}

.woocommerce ul.products li.product img {
  border-radius: 0.25rem;
  margin-bottom: 1rem;
}

/* ----------------------------------------
   ボタン
---------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  border: none;
  border-radius: 0.25rem;
  padding: 0.75rem 1.5rem;
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  opacity: 0.85;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--wp--preset--color--accent-3);
  color: var(--wp--preset--color--base);
}

/* ----------------------------------------
   単一商品ページ
---------------------------------------- */
.woocommerce div.product div.summary {
  margin-bottom: 2rem;
}

.woocommerce div.product p.price {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 400;
  color: var(--wp--preset--color--contrast);
}

.woocommerce div.product .quantity .qty {
  border: 1px solid var(--wp--preset--color--accent-6);
  border-radius: 0.25rem;
  padding: 0.5rem;
}

/* ----------------------------------------
   カート
---------------------------------------- */
.woocommerce table.shop_table {
  border-collapse: collapse;
  width: 100%;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 1rem;
  border-bottom: 1px solid var(--wp--preset--color--accent-6);
}

.woocommerce .cart_totals table {
  width: 100%;
}

/* ----------------------------------------
   チェックアウト
---------------------------------------- */
.woocommerce form .form-row label {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--wp--preset--color--accent-6);
  border-radius: 0.25rem;
  padding: 0.75rem;
  width: 100%;
  font-size: var(--wp--preset--font-size--medium);
}

/* ----------------------------------------
   通知メッセージ
---------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 0.25rem;
  font-size: var(--wp--preset--font-size--medium);
}

.woocommerce-message {
  background-color: #d4edda;
  border-left: 4px solid #28a745;
  color: #155724;
}

.woocommerce-info {
  background-color: var(--wp--preset--color--accent-5);
  border-left: 4px solid var(--wp--preset--color--accent-4);
  color: var(--wp--preset--color--contrast);
}

.woocommerce-error {
  background-color: #f8d7da;
  border-left: 4px solid #dc3545;
  color: #721c24;
}

/* ----------------------------------------
   カートに追加ボタン（ブロック版）
---------------------------------------- */
.wc-block-components-product-button {
  position: relative;
}

/* 「お買い物カゴを表示」リンク：フェードインで自然に表示 */
.wc-block-components-product-button .added_to_cart {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--contrast);
  text-decoration: underline;
  opacity: 0;
  animation: wc-fade-in 0.3s ease forwards;
}

@keyframes wc-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ボタン処理中（連打防止の視覚フィードバック） */
.wc-block-components-product-button__button[disabled],
.wc-block-components-product-button__button.loading {
  pointer-events: none;
  opacity: 0.6;
  cursor: not-allowed;
}

/* カート内数量表示時のボタンスタイル */
.wc-block-components-product-button__button .wc-block-slide-in,
.wc-block-components-product-button__button .wc-block-slide-out {
  display: inline-block;
}

/* ----------------------------------------
   レスポンシブ
---------------------------------------- */
@media (max-width: 767px) {
  .woocommerce ul.products li.product {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100%;
    float: none;
  }
}
