/**
 * PropEd Capital - WooCommerce Styles
 * Matches the PropEd Capital dark trading platform design
 */

/* ============================================
   WOOCOMMERCE GENERAL OVERRIDES
   ============================================ */

.woocommerce,
.woocommerce-page {
  color: var(--pc-foreground);
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  background-color: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-left: none;
  color: var(--pc-primary);
  border-radius: var(--pc-radius);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before {
  color: var(--pc-primary);
}

.woocommerce .woocommerce-error {
  background-color: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-left: none;
  color: var(--pc-destructive);
  border-radius: var(--pc-radius);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  list-style: none;
  font-size: 0.875rem;
}

.woocommerce .woocommerce-error::before {
  color: var(--pc-destructive);
}

.woocommerce .woocommerce-notices-wrapper {
  margin-bottom: 1.5rem;
}

/* Price styling */
.woocommerce .price,
.woocommerce .amount {
  color: var(--pc-foreground);
  font-weight: 600;
}

.woocommerce del .amount {
  color: var(--pc-foreground-muted);
  font-weight: 400;
}

.woocommerce ins .amount {
  color: var(--pc-success);
}

/* ============================================
   CHECKOUT PAGE
   ============================================ */

.proped-checkout-header {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.checkout-secure-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background-color: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.2);
  border-radius: 9999px;
  color: var(--pc-success);
  font-size: 0.8125rem;
  font-weight: 600;
}

.proped-checkout-columns {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2rem;
  align-items: start;
}

@media (max-width: 768px) {
  .proped-checkout-columns {
    grid-template-columns: 1fr;
  }
}

.proped-section-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--pc-border);
  color: var(--pc-foreground);
}

.proped-order-summary-card {
  position: sticky;
  top: 5rem;
}

/* Checkout form fields */
.woocommerce-checkout .form-row {
  margin-bottom: 1rem;
}

.woocommerce-checkout .form-row label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--pc-foreground);
  margin-bottom: 0.375rem;
}

.woocommerce-checkout .form-row .required {
  color: var(--pc-primary);
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  width: 100%;
  padding: 0.625rem 0.875rem;
  font-size: 0.875rem;
  font-family: var(--pc-font-sans);
  background-color: var(--pc-input-bg);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  color: var(--pc-foreground);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  outline: none;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--pc-ring);
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
  background-color: var(--pc-input-bg);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  height: auto;
  padding: 0.625rem 0.875rem;
  color: var(--pc-foreground);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--pc-foreground);
  line-height: 1.4;
  padding: 0;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 0.75rem;
}

.select2-dropdown {
  background-color: var(--pc-bg-lighter);
  border-color: var(--pc-border-light);
  border-radius: var(--pc-radius);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
}

.select2-container--default .select2-results__option {
  color: var(--pc-foreground);
  padding: 0.5rem 0.75rem;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: var(--pc-input-bg);
  border-color: var(--pc-border);
  color: var(--pc-foreground);
  padding: 0.5rem 0.75rem;
}

/* Coupon field */
.woocommerce-checkout .checkout_coupon {
  background-color: var(--pc-bg-card);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

.woocommerce-checkout .checkout_coupon .form-row-first {
  width: 70%;
  float: left;
  padding-right: 0.5rem;
}

.woocommerce-checkout .checkout_coupon .form-row-last {
  width: 30%;
  float: left;
}

.woocommerce-checkout .checkout_coupon::after {
  content: '';
  display: table;
  clear: both;
}

/* Order review table */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--pc-border);
  font-size: 0.875rem;
  text-align: left;
}

.woocommerce-checkout-review-order-table th {
  color: var(--pc-foreground-muted);
  font-weight: 500;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.woocommerce-checkout-review-order-table td {
  color: var(--pc-foreground);
}

.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .order-total td {
  text-align: right;
}

.woocommerce-checkout-review-order-table .order-total {
  font-size: 1rem;
  font-weight: 700;
}

.woocommerce-checkout-review-order-table .order-total td {
  color: var(--pc-foreground);
  border-bottom: none;
  padding-top: 1rem;
}

.woocommerce-checkout-review-order-table .order-total th {
  border-bottom: none;
  padding-top: 1rem;
  color: var(--pc-foreground);
  font-weight: 700;
  text-transform: none;
  font-size: 1rem;
}

/* Payment methods */
.woocommerce-checkout-payment {
  background-color: transparent !important;
  border-radius: var(--pc-radius);
}

.woocommerce-checkout-payment ul.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
  border-bottom: 1px solid var(--pc-border);
}

.woocommerce-checkout-payment ul.payment_methods li {
  padding: 1rem 0;
  border-top: 1px solid var(--pc-border);
}

.woocommerce-checkout-payment ul.payment_methods li:first-child {
  border-top: none;
}

.woocommerce-checkout-payment ul.payment_methods li label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 0;
}

.woocommerce-checkout-payment ul.payment_methods li label img {
  max-width: 120px;
  max-height: 36px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.woocommerce-checkout-payment ul.payment_methods li img {
  max-width: 120px !important;
  max-height: 36px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

.woocommerce-checkout-payment ul.payment_methods li .payment_box img {
  display: none !important;
}

.woocommerce-checkout-payment ul.payment_methods li .payment_box {
  background-color: var(--pc-bg-lighter);
  border-radius: var(--pc-radius);
  padding: 1rem;
  margin-top: 0.75rem;
  color: var(--pc-foreground-muted);
  font-size: 0.8125rem;
}

.woocommerce-checkout-payment ul.payment_methods li .payment_box::before {
  display: none;
}

/* Place order button */
#place_order {
  width: 100%;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--pc-font-heading);
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
  border: 2px solid var(--pc-primary);
  border-radius: var(--pc-radius);
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: none;
  letter-spacing: 0;
}

#place_order:hover {
  background-color: var(--pc-primary-hover);
  border-color: var(--pc-primary-hover);
}

#place_order:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Terms and conditions */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 1.5rem;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  color: var(--pc-foreground-muted);
  font-size: 0.8125rem;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--pc-foreground-muted);
  cursor: pointer;
}

/* Checkbox styling */
.woocommerce-checkout input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  background-color: var(--pc-input-bg);
  border: 1px solid var(--pc-border-light);
  border-radius: 0.25rem;
  cursor: pointer;
  margin-top: 0.125rem;
  position: relative;
}

.woocommerce-checkout input[type="checkbox"]:checked {
  background-color: var(--pc-primary);
  border-color: var(--pc-primary);
}

.woocommerce-checkout input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 0.25rem;
  top: 0.0625rem;
  width: 0.375rem;
  height: 0.625rem;
  border: solid var(--pc-primary-foreground);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Radio buttons */
.woocommerce-checkout input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  background-color: var(--pc-input-bg);
  border: 2px solid var(--pc-border-light);
  border-radius: 50%;
  cursor: pointer;
}

.woocommerce-checkout input[type="radio"]:checked {
  border-color: var(--pc-primary);
  background-color: var(--pc-primary);
  box-shadow: inset 0 0 0 3px var(--pc-bg);
}

/* ============================================
   CART PAGE
   ============================================ */

.proped-cart-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}

.cart-item-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
  min-width: 0;
}

.cart-item-thumbnail {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: var(--pc-radius);
  overflow: hidden;
  background-color: var(--pc-bg-lighter);
}

.cart-item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-item-name {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0;
}

.cart-item-name a {
  color: var(--pc-foreground);
}

.cart-item-name a:hover {
  color: var(--pc-primary);
}

.cart-item-pricing {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-shrink: 0;
}

.cart-item-price {
  font-weight: 600;
  font-size: 0.9375rem;
  white-space: nowrap;
}

/* Cart totals */
.woocommerce .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--pc-border);
  font-size: 0.875rem;
}

.woocommerce .cart_totals table th {
  text-align: left;
  color: var(--pc-foreground-muted);
  font-weight: 500;
}

.woocommerce .cart_totals table td {
  text-align: right;
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--pc-foreground);
  border-bottom: none;
}

.woocommerce .cart_totals .wc-proceed-to-checkout {
  margin-top: 1.5rem;
}

.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--pc-font-heading);
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
  border: 2px solid var(--pc-primary);
  border-radius: var(--pc-radius);
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  text-decoration: none;
}

.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button:hover {
  background-color: var(--pc-primary-hover);
  border-color: var(--pc-primary-hover);
}

/* Coupon form in cart */
.woocommerce .coupon {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
  flex-wrap: wrap;
}

.woocommerce .coupon label {
  width: 100%;
  margin-bottom: 0.25rem;
}

.woocommerce .coupon #coupon_code {
  flex: 1;
  min-width: 200px;
}

.woocommerce .coupon button {
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  font-family: var(--pc-font-sans);
  background-color: transparent;
  color: var(--pc-foreground);
  border: 1px solid var(--pc-border-light);
  border-radius: var(--pc-radius);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.woocommerce .coupon button:hover {
  background-color: var(--pc-bg-lighter);
  border-color: var(--pc-foreground-muted);
}

/* ============================================
   ORDER RECEIVED / THANK YOU PAGE
   ============================================ */

.proped-order-received {
  max-width: 600px;
  margin: 0 auto;
  padding: 2rem 0;
}

.proped-order-status {
  text-align: center;
  padding: 2rem 0;
}

.status-icon {
  margin-bottom: 1.5rem;
}

.status-icon-success {
  color: var(--pc-success);
}

.status-icon-failed {
  color: var(--pc-destructive);
}

.proped-order-status h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.proped-order-status .status-message {
  color: var(--pc-foreground-muted);
  font-size: 1rem;
  margin-bottom: 2rem;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.order-details-card {
  text-align: left;
}

.order-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--pc-border);
  flex-wrap: wrap;
}

.order-detail-row:last-child {
  border-bottom: none;
}

.detail-label {
  color: var(--pc-foreground-muted);
  font-size: 0.875rem;
}

.detail-value {
  font-weight: 600;
  font-size: 0.875rem;
}

.order-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--pc-border);
  flex-wrap: wrap;
}

.order-item-row:last-child {
  border-bottom: none;
}

.item-name {
  flex: 1;
  font-size: 0.875rem;
}

.item-qty {
  color: var(--pc-foreground-muted);
  font-size: 0.8125rem;
}

.item-total {
  font-weight: 600;
  font-size: 0.875rem;
}

/* ============================================
   MY ACCOUNT PAGE
   ============================================ */

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: 100%;
  margin-bottom: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  padding: 0;
  background-color: var(--pc-bg-lighter);
  border-radius: var(--pc-radius);
  padding: 0.25rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--pc-foreground-muted);
  border-radius: calc(var(--pc-radius) - 2px);
  transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: var(--pc-bg);
  color: var(--pc-foreground);
  font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--pc-foreground);
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: 100%;
}

/* ============================================
   PRODUCT PAGES
   ============================================ */

.woocommerce ul.products li.product {
  background-color: var(--pc-bg-card);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  padding: 1.25rem;
  transition: border-color 0.2s ease;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--pc-border-light);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--pc-foreground);
  font-family: var(--pc-font-heading);
  font-size: 1rem;
  font-weight: 600;
}

.woocommerce ul.products li.product .price {
  color: var(--pc-primary);
  font-weight: 700;
}

.woocommerce ul.products li.product .button,
.woocommerce .single_add_to_cart_button {
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
  border: 1px solid var(--pc-primary);
  border-radius: var(--pc-radius);
  font-family: var(--pc-font-sans);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0.625rem 1.25rem;
  transition: all 0.2s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce .single_add_to_cart_button:hover {
  background-color: var(--pc-primary-hover);
  border-color: var(--pc-primary-hover);
}

/* ============================================
   GENERIC WOO BUTTONS
   ============================================ */

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
  border: 1px solid var(--pc-primary);
  border-radius: var(--pc-radius);
  font-family: var(--pc-font-sans);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0.625rem 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
  background-color: var(--pc-primary-hover);
  border-color: var(--pc-primary-hover);
  color: var(--pc-primary-foreground);
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
  border-color: var(--pc-primary);
}

.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover {
  background-color: var(--pc-primary-hover);
  border-color: var(--pc-primary-hover);
}

/* ============================================
   TABLES (orders, downloads, etc.)
   ============================================ */

.woocommerce table.shop_table {
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}

.woocommerce table.shop_table th {
  background-color: var(--pc-bg-lighter);
  color: var(--pc-foreground-muted);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--pc-border);
}

.woocommerce table.shop_table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--pc-border);
  font-size: 0.875rem;
  color: var(--pc-foreground);
}

.woocommerce table.shop_table tr:last-child td {
  border-bottom: none;
}

/* ============================================
   WOOCOMMERCE BREADCRUMBS
   ============================================ */

.woocommerce .woocommerce-breadcrumb {
  color: var(--pc-foreground-muted);
  font-size: 0.8125rem;
  margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--pc-foreground-muted);
}

.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--pc-primary);
}

/* ============================================
   LOADING / BLOCKUI
   ============================================ */

.woocommerce .blockUI.blockOverlay {
  background-color: var(--pc-bg) !important;
  opacity: 0.7 !important;
}

.woocommerce .loader::before {
  border-color: var(--pc-primary) !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
  .proped-cart-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .cart-item-pricing {
    width: 100%;
    justify-content: space-between;
    padding-top: 0.5rem;
    border-top: 1px solid var(--pc-border);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }

  .woocommerce .coupon {
    flex-direction: column;
  }

  .woocommerce .coupon #coupon_code {
    min-width: auto;
    width: 100%;
  }
}

/* ============================================
   STAR RATINGS
   ============================================ */

.woocommerce .star-rating {
  color: var(--pc-primary);
}

.woocommerce .star-rating::before {
  color: var(--pc-border-light);
}

/* ============================================
   QUANTITY INPUT
   ============================================ */

.woocommerce .quantity .qty {
  width: 4rem;
  text-align: center;
  padding: 0.5rem;
  background-color: var(--pc-input-bg);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
  color: var(--pc-foreground);
  font-size: 0.875rem;
}

/* ============================================
   SALE BADGE
   ============================================ */

.woocommerce span.onsale {
  background-color: var(--pc-primary);
  color: var(--pc-primary-foreground);
  font-weight: 700;
  border-radius: var(--pc-radius);
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  min-height: auto;
  min-width: auto;
  line-height: 1.4;
}

/* ============================================
   SINGLE PRODUCT PAGE - INLINE CHECKOUT
   ============================================ */

.proped-product-checkout-page {
  max-width: 640px;
  margin: 0 auto;
}

.proped-product-summary {
  margin-bottom: 1.5rem;
}

.proped-product-summary-inner {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}

@media (max-width: 480px) {
  .proped-product-summary-inner {
    flex-direction: column;
  }
}

.proped-product-thumb {
  flex-shrink: 0;
  width: 120px;
}

.proped-product-thumb .product-main-image {
  width: 100%;
  height: auto;
  border-radius: var(--pc-radius);
  border: 1px solid var(--pc-border);
}

.product-image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  background-color: var(--pc-bg-lighter);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius);
}

.proped-product-info {
  flex: 1;
  min-width: 0;
}

.proped-product-title {
  font-family: var(--pc-font-heading);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--pc-foreground);
  margin: 0 0 0.5rem 0;
  line-height: 1.3;
}

.proped-product-excerpt {
  color: var(--pc-foreground-muted);
  font-size: 0.875rem;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.proped-product-price-block {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.proped-price-display {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--pc-foreground);
  font-family: var(--pc-font-heading);
}

.proped-price-display del {
  color: var(--pc-foreground-muted);
  font-size: 1rem;
  font-weight: 400;
}

.proped-price-display ins {
  text-decoration: none;
  color: var(--pc-success);
}

.proped-sale-badge {
  display: inline-block;
  background-color: rgba(245, 158, 11, 0.15);
  color: var(--pc-primary);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Quantity form on product page */
.proped-qty-form {
  width: 100%;
}

/* Inline checkout form loaded via AJAX */
#proped-checkout-content .woocommerce-checkout {
  margin: 0;
  padding: 0;
}

#proped-checkout-content .woocommerce-checkout .col-1,
#proped-checkout-content .woocommerce-checkout .col-2 {
  float: none;
  width: 100%;
}

#proped-checkout-content .woocommerce-checkout h3 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--pc-foreground);
}

#proped-checkout-content .woocommerce-billing-fields__field-wrapper,
#proped-checkout-content .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

@media (max-width: 480px) {
  #proped-checkout-content .woocommerce-billing-fields__field-wrapper,
  #proped-checkout-content .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

#proped-checkout-content .form-row-wide {
  grid-column: 1 / -1;
}

#proped-checkout-content .woocommerce-checkout-review-order-table {
  margin-bottom: 1.5rem;
}

/* Trust badges */
.proped-product-trust {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.proped-trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pc-foreground-muted);
  font-size: 0.8125rem;
}

.proped-trust-item svg {
  flex-shrink: 0;
  color: var(--pc-success);
}

/* WooCommerce default onsale badge on single product - hide (we have our own) */
.proped-single-product-page .woocommerce span.onsale {
  display: none;
}

/* Hide default WooCommerce product title and price (we render our own) */
.proped-single-product-page .product_title,
.proped-single-product-page .woocommerce-product-details__short-description,
.proped-single-product-page .summary > .price {
  display: none;
}
