/* ==================================
   SAINO THEME - WOOCOMMERCE
================================== */

.woocommerce-main {
  background: #f8fafc;
  padding: 80px 0;
  min-height: 600px;
}

/* 商品一覧 */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.woocommerce ul.products li.product {
  background: #ffffff;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
  transition: .3s;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(37,99,235,.15);
}

.woocommerce ul.products li.product img {
  border-radius: 12px;
}

.woocommerce ul.products li.product h2 {
  font-size: 20px;
  margin-top: 15px;
  color: #0f172a;
}

.woocommerce ul.products li.product .price {
  color: #2563eb;
  font-size: 24px;
  font-weight: bold;
}

/* 商品詳細 */
.single-product .product {
  background: #ffffff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
}

.single-product .product_title {
  color: #0f172a;
  font-size: 36px;
}

.single-product .price {
  color: #2563eb;
  font-size: 28px;
  font-weight: bold;
}

/* ボタン */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: #2563eb !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 12px 24px !important;
  border: none !important;
  font-weight: bold !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: #1d4ed8 !important;
}

/* ==================================
   CLASSIC CART / CHECKOUT
================================== */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  background: #ffffff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
}

.woocommerce table.shop_table {
  background: #ffffff;
  border-radius: 15px;
  overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  color: #0f172a;
  font-size: 16px;
}

.woocommerce-cart .cart_totals {
  background: #ffffff;
  padding: 25px;
  border-radius: 15px;
}

/* 価格サイズ修正 */
.woocommerce-cart .price,
.woocommerce-cart .amount,
.woocommerce-checkout .amount,
.woocommerce-page .amount {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
  font-size: 18px !important;
  color: #0f172a !important;
}

.woocommerce-cart .product-name {
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* ==================================
   BLOCK CART STRONG FIX
================================== */

body.woocommerce-cart .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-page .wc-block-components-formatted-money-amount {
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
  display: grid !important;
  grid-template-columns: 180px 1fr 120px !important;
  gap: 20px !important;
  align-items: start !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
  width: 160px !important;
  max-width: 160px !important;
  height: auto !important;
}

body.woocommerce-cart .wc-block-components-product-name {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
  margin-top: 12px !important;
}

body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button {
  background: #2563eb !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
}

/* チェックアウト */
.woocommerce-checkout form.checkout {
  background: #ffffff;
  padding: 30px;
  border-radius: 20px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  padding: 12px;
}

/* マイアカウント */
.woocommerce-account .woocommerce {
  background: #ffffff;
  padding: 30px;
  border-radius: 20px;
}

/* 通知 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 10px;
}

/* モバイル */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .single-product .product {
    padding: 20px;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce {
    padding: 20px;
  }

  body.woocommerce-cart .wc-block-cart-item__product {
    grid-template-columns: 100px 1fr !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image img {
    width: 90px !important;
    max-width: 90px !important;
  }

  body.woocommerce-cart .wc-block-components-formatted-money-amount,
  body.woocommerce-cart .wc-block-components-product-price,
  body.woocommerce-cart .wc-block-components-product-price__value,
  body.woocommerce-cart .wc-block-components-totals-item__value {
    font-size: 16px !important;
  }
}