/*
Theme Name: Astra Child
Description: Child theme for Astra
Template: astra
Version: 1.0
*/
/* ===== WooCommerce Cart - Strong Override ===== */
.woocommerce-cart .site-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

.woocommerce-cart .entry-title {
  font-size: 42px;
  font-weight: 800;
  color: #1f2d3d;
  margin-bottom: 28px;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
  background: #f4f7fb !important;
  border: 1px solid #dbe4ef !important;
  border-top: 0 !important;
  border-radius: 16px !important;
  color: #243447 !important;
  padding: 18px 20px 18px 60px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.woocommerce-cart form.woocommerce-cart-form {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 24px;
  padding: 18px 18px 10px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
  margin-bottom: 36px;
}

.woocommerce-cart table.shop_table {
  border: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.woocommerce-cart table.shop_table thead th {
  background: #f7f9fc !important;
  color: #1f2d3d !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  border: 0 !important;
  padding: 18px 16px !important;
}

.woocommerce-cart table.shop_table tbody td {
  border-top: 1px solid #edf2f7 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  padding: 22px 16px !important;
  vertical-align: middle !important;
  background: #fff !important;
}

.woocommerce-cart td.product-remove a {
  width: 34px !important;
  height: 34px !important;
  line-height: 31px !important;
  border-radius: 999px !important;
  background: #f3f5f8 !important;
  color: #7b8794 !important;
  font-size: 22px !important;
}

.woocommerce-cart td.product-remove a:hover {
  background: #243b5a !important;
  color: #fff !important;
}

.woocommerce-cart .product-thumbnail img {
  width: 92px !important;
  min-width: 92px !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.woocommerce-cart td.product-name a {
  color: #22324a !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
}

.woocommerce-cart td.product-name a:hover {
  color: #3d5a80 !important;
}

.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal,
.woocommerce-cart td.product-quantity {
  color: #22324a !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.woocommerce-cart .quantity .qty {
  height: 46px !important;
  min-height: 46px !important;
  border: 1px solid #d6dde6 !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 0 12px !important;
}

.woocommerce-cart td.actions {
  padding-top: 26px !important;
}

.woocommerce-cart .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.woocommerce-cart .coupon label {
  display: none !important;
}

.woocommerce-cart .coupon input.input-text {
  float: none !important;
  width: 240px !important;
  min-width: 240px !important;
  height: 60px !important;
  border-radius: 12px !important;
  border: 1px solid #d6dde6 !important;
  background: #fff !important;
  padding: 0px 14px !important;
  font-size: 15px !important;
}

.woocommerce-cart button.button,
.woocommerce-cart .button,
.woocommerce-cart a.button {
  background: #243b5a !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 14px !important;
  min-height: 48px !important;
  padding: 12px 20px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.woocommerce-cart button.button:hover,
.woocommerce-cart .button:hover,
.woocommerce-cart a.button:hover {
  background: #3d5a80 !important;
  color: #ffffff !important;
}

.woocommerce-cart button[name="update_cart"] {
  background: #8a94a6 !important;
}

.woocommerce-cart button[name="update_cart"]:hover {
  background: #6f7a8d !important;
}

.woocommerce-cart .cart-collaterals {
  margin-top: 10px !important;
}

.woocommerce-cart .cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: 560px !important;
  margin-left: auto !important;
  background: #ffffff !important;
  border: 1px solid #e8edf3 !important;
  border-radius: 24px !important;
  padding: 30px 30px 24px !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.woocommerce-cart .cart_totals h2 {
  background: transparent !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #1f2d3d !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table {
  border: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  padding: 16px 0 !important;
  border-top: 1px solid #edf2f7 !important;
  background: transparent !important;
  font-size: 18px !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 !important;
  margin-top: 20px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 72px !important;
  min-height: 72px !important;

  margin: 0 !important;
  padding: 0 20px 20px 20px !important;

  line-height: 1 !important;
  font-size: 20px !important;
  font-weight: 800 !important;

  border-radius: 14px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
  display: none !important;
  content: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #1f3b63 !important;
}

@media (max-width: 768px) {
  .woocommerce-cart .entry-title {
    font-size: 32px !important;
  }

  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart_totals {
    border-radius: 18px !important;
    padding: 18px !important;
  }

  .woocommerce-cart .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .woocommerce-cart .coupon input.input-text,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart button[name="update_cart"] {
    width: 100% !important;
  }

  .woocommerce-cart td.product-name a {
    font-size: 17px !important;
  }

  .woocommerce-cart .cart_totals h2 {
    font-size: 30px !important;
  }
}

/* ===== WooCommerce Checkout ===== */
.woocommerce-checkout .site-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

.woocommerce-checkout .entry-title {
  font-size: 42px;
  font-weight: 800;
  color: #1f2d3d;
  margin-bottom: 24px;
}

.woocommerce-checkout form.checkout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.woocommerce-checkout #customer_details {
  flex: 1 1 58%;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  flex: 1 1 38%;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  width: 100%;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 24px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  padding: 28px;
  margin-bottom: 24px;
}

.woocommerce-checkout #order_review {
  padding: 28px;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  font-size: 32px;
  font-weight: 800;
  color: #1f2d3d;
  margin: 0 0 22px;
}

.woocommerce-checkout #order_review_heading {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}

.woocommerce-checkout form .form-row {
  margin-bottom: 16px;
}

.woocommerce-checkout form .form-row label {
  font-size: 15px;
  font-weight: 700;
  color: #334155;
  margin-bottom: 8px;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  height: 52px !important;
  border: 1px solid #d6dde6 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  font-size: 16px !important;
  color: #1f2937 !important;
}

.woocommerce-checkout form .form-row textarea.input-text,
.woocommerce-checkout form .form-row textarea {
  min-height: 110px !important;
  padding: 14px !important;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #243b5a !important;
  box-shadow: 0 0 0 3px rgba(36, 59, 90, 0.08) !important;
}

.woocommerce-checkout table.shop_table {
  border: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  border-top: 1px solid #edf2f7 !important;
  padding: 16px 0 !important;
  background: transparent !important;
  font-size: 17px !important;
}

.woocommerce-checkout table.shop_table thead th {
  border-top: 0 !important;
  color: #1f2d3d !important;
  font-weight: 800 !important;
}

.woocommerce-checkout #payment {
  background: #f8fafc !important;
  border: 1px solid #e8edf3 !important;
  border-radius: 18px !important;
  margin-top: 20px !important;
  padding: 18px !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: #eef4f8 !important;
  border-radius: 12px !important;
  color: #475569 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

.woocommerce-checkout .place-order {
  padding: 0 !important;
  margin-top: 18px !important;
}

.woocommerce-checkout #place_order {
  width: 100% !important;
  height: 58px !important;
  border-radius: 16px !important;
  background: #0f2544 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce-checkout #place_order:hover {
  background: #1f3b63 !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin-bottom: 20px !important;
}

@media (max-width: 920px) {
  .woocommerce-checkout form.checkout {
    display: block;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100%;
  }

  .woocommerce-checkout #order_review_heading {
    margin-top: 24px !important;
  }

  .woocommerce-checkout .entry-title {
    font-size: 34px;
  }

  .woocommerce-checkout .woocommerce-billing-fields h3,
  .woocommerce-checkout .woocommerce-additional-fields h3,
  .woocommerce-checkout #order_review_heading {
    font-size: 28px;
  }
}

/* 去掉結帳頁外層灰底 */
.woocommerce-checkout .woocommerce {
  background: transparent !important;
  padding: 0 !important;
}

/* 去掉 Billing Details 外層灰框 */
.woocommerce-checkout #customer_details {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 去掉 您的訂單 外層灰框 */
.woocommerce-checkout #order_review {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 去掉 輸入優惠券 那條外層灰框 */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 如果還有外層框線，一起清掉 */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-notices-wrapper {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}