@charset "UTF-8";
/*--------------------------------------------------
PREDGE カート（プロトナ寄せ）
--------------------------------------------------*/
body.predge-shop.woocommerce-cart .predge-shop-page__inner,
body.predge-shop.woocommerce-checkout .predge-shop-page__inner {
  width: min(1000px, 90%);
  margin: 0 auto;
  padding: 2rem 0 4rem;
}

body.predge-shop.woocommerce-cart .predge-shop-page__title,
body.predge-shop.woocommerce-checkout .predge-shop-page__title {
  font-size: clamp(22px, 1.6rem, 28px);
  color: #054496;
  margin: 0 0 1.6rem;
  font-weight: 700;
}

body.predge-shop.woocommerce-cart .predge-shop-page__content,
body.predge-shop.woocommerce-checkout .predge-shop-page__content {
  background: transparent;
  color: #111;
  padding: 0;
  border-radius: 0;
}

/* 空カート / 通知
   WC標準の .woocommerce-info::before（font-family:WooCommerce の info アイコン）を消し、
   左ボーダーだけの見た目に揃える。消さないと字形欠落の青い□が文言に重なる。 */
body.predge-shop .wc-empty-cart-message .cart-empty,
body.predge-shop .woocommerce-info,
body.predge-shop .woocommerce-message,
body.predge-shop .woocommerce-error {
  background: #eaeef6 !important;
  border-top: 0 !important;
  border-left: 4px solid #054496 !important;
  color: #111 !important;
  padding: 1rem 1.2rem !important;
}

body.predge-shop .wc-empty-cart-message .cart-empty::before,
body.predge-shop .woocommerce-info::before,
body.predge-shop .woocommerce-message::before,
body.predge-shop .woocommerce-error::before {
  content: none !important;
  display: none !important;
}

body.predge-shop .return-to-shop {
  margin-top: 1.5rem;
}

body.predge-shop .return-to-shop .button,
body.predge-shop .woocommerce-cart .button,
body.predge-shop .woocommerce-cart button.button,
body.predge-shop .woocommerce-cart input.button,
body.predge-shop .woocommerce-cart a.button {
  background: #004098 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 0.85rem 1.4rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

body.predge-shop .woocommerce-cart .button:hover,
body.predge-shop .woocommerce-cart button.button:hover,
body.predge-shop .woocommerce-cart a.button:hover {
  opacity: 0.9;
}

/* カート表 */
body.predge-shop .woocommerce-cart-form {
  margin-bottom: 2rem;
}

body.predge-shop table.shop_table {
  border: 1px solid #e5e5e5 !important;
  border-collapse: collapse;
  border-radius: 0;
  width: 100%;
}

body.predge-shop table.shop_table th,
body.predge-shop table.shop_table td {
  border: 1px solid #e5e5e5 !important;
  padding: 1em !important;
  vertical-align: middle;
}

body.predge-shop table.shop_table thead th {
  background: #eaeef6;
  color: #054496;
  font-weight: 700;
  font-size: 14px;
}

body.predge-shop table.shop_table td.product-name a {
  color: #054496;
  font-weight: 700;
  text-decoration: none;
}

body.predge-shop table.shop_table td.product-name a:hover {
  text-decoration: underline;
}

body.predge-shop table.shop_table .product-thumbnail img {
  width: 72px;
  height: auto;
  border: 1px solid #efefef;
}

body.predge-shop table.shop_table .product-remove a.remove {
  color: #999 !important;
  font-size: 1.4em;
}

body.predge-shop table.shop_table .product-remove a.remove:hover {
  color: #e60012 !important;
  background: transparent !important;
}

body.predge-shop table.shop_table .quantity .qty {
  width: 3.6em;
  height: 32px;
  text-align: center;
}

body.predge-shop table.shop_table .amount {
  font-weight: 700;
}

body.predge-shop .actions {
  padding: 1rem !important;
}

body.predge-shop .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

body.predge-shop .coupon label {
  display: none;
}

body.predge-shop .coupon .input-text {
  min-width: 180px;
  height: 40px;
  border: 1px solid #ccc;
  padding: 0 0.8rem;
}

body.predge-shop .coupon .button {
  background: #054496 !important;
}

body.predge-shop button[name="update_cart"] {
  background: #6b7280 !important;
}

/* 合計 */
body.predge-shop .cart-collaterals {
  width: 100%;
}

body.predge-shop .cart_totals {
  width: 100%;
  max-width: 420px;
  margin-left: auto;
  float: none !important;
}

body.predge-shop .cart_totals > h2 {
  font-size: clamp(18px, 1.2rem, 22px);
  border-left: 6px solid #054496;
  padding: 14px 0 14px 20px;
  line-height: 1;
  margin: 0 0 20px;
  background: #efefef;
  color: #111;
}

body.predge-shop .cart_totals table.shop_table {
  margin-bottom: 1.2rem;
}

body.predge-shop .cart_totals .order-total .amount {
  color: #e60012;
  font-size: 1.35em;
}

body.predge-shop .wc-proceed-to-checkout {
  padding: 0 !important;
}

body.predge-shop .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  background: #004098 !important;
  font-size: 1.05rem !important;
  padding: 1rem 1.2rem !important;
}

@media screen and (max-width: 768px) {
  body.predge-shop .cart_totals {
    max-width: none;
  }

  body.predge-shop .coupon {
    width: 100%;
  }

  body.predge-shop .coupon .input-text {
    flex: 1;
    min-width: 0;
  }
}
