/* ═══════════════════════════════════════════════════════════════════════════════
   GREENPOINT SEEDS — CHECKOUT PAGE STYLES
   Mobile-First • Conversion-Optimized • Trust-Building
   ═══════════════════════════════════════════════════════════════════════════════
   
   Split from gps-cart-checkout-2.0.css for conditional loading
   Version: 3.1.0
   
   ═══════════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════════
   1. CHECKOUT PAGE LAYOUT
   ═══════════════════════════════════════════════════════════════════════════════ */

.woocommerce-checkout .page-wrapper {
  background-color: var(--color-bg-void) !important;
  min-height: 100vh;
}

.woocommerce-checkout #content {
  padding: 0 !important;
}

.woocommerce-checkout .row {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px 16px 60px !important;
}

/* Hide default page titles */
.woocommerce-checkout .page-title {
  display: none !important;
}

/* Column Layout */
.woocommerce-checkout .col-left,
.woocommerce-checkout .large-7 {
  padding-right: 20px !important;
}

.woocommerce-checkout .col-right,
.woocommerce-checkout .large-5 {
  padding-left: 20px !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   2. PROGRESS INDICATOR / BREADCRUMB
   ═══════════════════════════════════════════════════════════════════════════════ */

.woocommerce-breadcrumb,
.checkout-breadcrumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 24px 16px !important;
  margin-bottom: 24px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.woocommerce-breadcrumb a,
.checkout-breadcrumb a {
  color: var(--color-text-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.woocommerce-breadcrumb a:hover,
.checkout-breadcrumb a:hover {
  color: var(--color-accent) !important;
}

.woocommerce-breadcrumb .breadcrumb-separator,
.checkout-breadcrumb .separator {
  color: var(--color-text-muted) !important;
  font-size: 12px !important;
}

.woocommerce-breadcrumb .current,
.checkout-breadcrumb .current {
  color: var(--color-accent) !important;
  font-weight: 600 !important;
}

/* Progress Steps (if custom breadcrumb) */
.checkout-steps {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-bottom: 32px !important;
}

.checkout-step {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--color-text-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.checkout-step.active {
  color: var(--color-accent) !important;
}

.checkout-step.completed {
  color: var(--color-text-secondary) !important;
}

.checkout-step-divider {
  width: 24px !important;
  height: 1px !important;
  background: var(--color-border) !important;
}

.checkout-step.completed + .checkout-step-divider {
  background: var(--color-accent) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   3. COUPON SECTION
   ═══════════════════════════════════════════════════════════════════════════════ */

.woocommerce-form-coupon-toggle {
  margin-bottom: 24px !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(30, 41, 59, 0.8) 100%) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 16px !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  color: var(--color-text-body) !important;
  font-size: 15px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none !important;
}

.woocommerce-form-coupon-toggle .showcoupon {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  margin-top: 12px !important;
  background: var(--color-accent) !important;
  border: none !important;
  border-radius: 10px !important;
  color: #000 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.woocommerce-form-coupon-toggle .showcoupon:hover {
  background: var(--color-accent-bright) !important;
}

/* Coupon Form (Expanded) */
.checkout_coupon.woocommerce-form-coupon {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(30, 41, 59, 0.8) 100%) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.checkout_coupon p:first-child {
  color: var(--color-text-secondary) !important;
  font-size: 14px !important;
  margin-bottom: 16px !important;
}

.checkout_coupon .form-row-first {
  width: 100% !important;
  margin-bottom: 12px !important;
}

.checkout_coupon #coupon_code {
  width: 100% !important;
  height: 50px !important;
  background: var(--color-bg-surface) !important;
  border: 1px dashed var(--color-border) !important;
  border-radius: 10px !important;
  padding: 0 16px !important;
  color: var(--color-accent) !important;
  font-family: var(--font-mono) !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.checkout_coupon #coupon_code:focus {
  border-style: solid !important;
  border-color: var(--color-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15) !important;
}

.checkout_coupon .form-row-last {
  width: 100% !important;
}

.checkout_coupon button[name="apply_coupon"] {
  width: 100% !important;
  height: 50px !important;
  background: transparent !important;
  border: 1px solid var(--color-accent) !important;
  border-radius: 10px !important;
  color: var(--color-accent) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.checkout_coupon button[name="apply_coupon"]:hover {
  background: var(--color-accent) !important;
  color: #000 !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   4. BILLING & SHIPPING FORMS
   ═══════════════════════════════════════════════════════════════════════════════ */

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  margin-bottom: 32px !important;
}

.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
#order_review_heading {
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--color-text-secondary) !important;
  border-bottom: 1px solid var(--color-border) !important;
  padding-bottom: 16px !important;
  margin: 0 0 24px 0 !important;
}

/* Form Rows */
.woocommerce-checkout .form-row {
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: calc(50% - 8px) !important;
  float: left !important;
}

.woocommerce-checkout .form-row-first {
  margin-right: 16px !important;
}

.woocommerce-checkout .form-row-wide {
  width: 100% !important;
  clear: both !important;
}

/* Labels */
.woocommerce-checkout label {
  display: block !important;
  color: var(--color-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 8px !important;
}

.woocommerce-checkout label .required {
  color: var(--color-accent) !important;
  font-weight: 400 !important;
}

.woocommerce-checkout label .optional {
  color: var(--color-text-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

/* Input Fields */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection {
  width: 100% !important;
  height: 52px !important;
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
  padding: 0 16px !important;
  color: var(--color-accent) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.woocommerce-checkout textarea {
  height: 120px !important;
  padding: 16px !important;
  resize: vertical !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
  border-color: var(--color-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15) !important;
  background: rgba(34, 197, 94, 0.05) !important;
}

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
  color: var(--color-text-muted) !important;
  font-weight: 400 !important;
}

/* Select2 Dropdown Styling */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  height: 52px !important;
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 52px !important;
  padding-left: 16px !important;
  color: var(--color-accent) !important;
  font-size: 15px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 50px !important;
  right: 12px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--color-accent) transparent transparent transparent !important;
}

.select2-dropdown {
  background: var(--color-bg-elevated) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
  overflow: hidden !important;
}

.select2-search--dropdown {
  padding: 12px !important;
}

.select2-search--dropdown .select2-search__field {
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 8px !important;
  color: var(--color-text-primary) !important;
  padding: 8px 12px !important;
}

.select2-results__option {
  padding: 12px 16px !important;
  color: var(--color-text-body) !important;
  transition: all 0.15s ease !important;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option:hover {
  background: rgba(34, 197, 94, 0.15) !important;
  color: var(--color-accent) !important;
}

.select2-results__option[aria-selected="true"] {
  background: rgba(34, 197, 94, 0.1) !important;
  color: var(--color-accent) !important;
}

/* Ship to Different Address Checkbox */
.woocommerce-shipping-fields #ship-to-different-address {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
  margin-bottom: 24px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.woocommerce-shipping-fields #ship-to-different-address:hover {
  border-color: rgba(34, 197, 94, 0.4) !important;
}

.woocommerce-shipping-fields #ship-to-different-address label {
  margin: 0 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  color: var(--color-text-body) !important;
}

.woocommerce-shipping-fields #ship-to-different-address input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  accent-color: var(--color-accent) !important;
  cursor: pointer !important;
}

/* Order Notes */
.woocommerce-additional-fields__field-wrapper textarea {
  min-height: 100px !important;
}

/* Field Validation */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

.woocommerce-checkout .woocommerce-validated input,
.woocommerce-checkout .woocommerce-validated select {
  border-color: var(--color-accent) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   5. ORDER REVIEW PANEL
   ═══════════════════════════════════════════════════════════════════════════════ */

#order_review,
.woocommerce-checkout-review-order {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.98) 0%, rgba(30, 41, 59, 0.95) 100%) !important;
  border: 2px solid var(--color-accent) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4), 0 0 60px rgba(34, 197, 94, 0.1) !important;
  position: sticky !important;
  top: 100px !important;
}

/* Order Review Header */
.woocommerce-checkout-review-order-table {
  border: none !important;
  margin: 0 0 24px 0 !important;
}

.woocommerce-checkout-review-order-table thead {
  display: none !important;
}

/* Order Items */
.woocommerce-checkout-review-order-table tbody tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.woocommerce-checkout-review-order-table tbody tr:last-child {
  border-bottom: none !important;
}

.woocommerce-checkout-review-order-table td.product-name {
  flex: 1 !important;
  padding: 0 !important;
  background: transparent !important;
}

.woocommerce-checkout-review-order-table td.product-name .product-quantity {
  color: var(--color-text-muted) !important;
  font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table td.product-total {
  padding: 0 !important;
  background: transparent !important;
  text-align: right !important;
}

.woocommerce-checkout-review-order-table td.product-total .amount {
  font-family: var(--font-mono) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--color-accent) !important;
}

/* Order Totals */
.woocommerce-checkout-review-order-table tfoot {
  border-top: 1px solid var(--color-border) !important;
}

.woocommerce-checkout-review-order-table tfoot tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 12px 0 !important;
}

.woocommerce-checkout-review-order-table tfoot th {
  padding: 0 !important;
  background: transparent !important;
  color: var(--color-text-secondary) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: left !important;
  border: none !important;
}

.woocommerce-checkout-review-order-table tfoot td {
  padding: 0 !important;
  background: transparent !important;
  text-align: right !important;
  border: none !important;
}

.woocommerce-checkout-review-order-table tfoot td .amount {
  font-family: var(--font-mono) !important;
  font-weight: 600 !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   6. SHIPPING OPTIONS
   ═══════════════════════════════════════════════════════════════════════════════ */

.woocommerce-checkout-review-order-table .shipping td {
  width: 100% !important;
}

#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#shipping_method li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  margin-bottom: 10px !important;
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

#shipping_method li:last-child {
  margin-bottom: 0 !important;
}

#shipping_method li:hover {
  border-color: rgba(34, 197, 94, 0.4) !important;
  background: rgba(34, 197, 94, 0.05) !important;
}

#shipping_method li:has(input:checked) {
  border-color: var(--color-accent) !important;
  background: rgba(34, 197, 94, 0.1) !important;
  box-shadow: 0 0 0 1px var(--color-accent), 0 4px 12px rgba(34, 197, 94, 0.2) !important;
}

#shipping_method input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  accent-color: var(--color-accent) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

#shipping_method label {
  flex: 1 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 14px !important;
  color: var(--color-text-body) !important;
  margin: 0 !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#shipping_method .amount {
  font-family: var(--font-mono) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--color-accent) !important;
}

/* Free Shipping Highlight */
#shipping_method li:has(.woocommerce-Price-amount:empty),
#shipping_method li:has([data-amount="0"]) {
  border-color: var(--color-accent) !important;
  background: rgba(34, 197, 94, 0.08) !important;
}

/* Shipping method status indicator */
#shipping_method li::before {
  display: none !important;
}

/* Order Total Row */
.woocommerce-checkout-review-order-table .order-total {
  border-top: 2px solid var(--color-border) !important;
  margin-top: 8px !important;
  padding-top: 20px !important;
}

.woocommerce-checkout-review-order-table .order-total th {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--color-text-primary) !important;
}

.woocommerce-checkout-review-order-table .order-total .amount {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--color-accent) !important;
  text-shadow: 0 0 30px rgba(34, 197, 94, 0.4) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   7. PAYMENT METHODS
   ═══════════════════════════════════════════════════════════════════════════════ */

#payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin-top: 24px !important;
}

#payment .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  border: none !important;
}

#payment .wc_payment_method {
  margin-bottom: 12px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

#payment .wc_payment_method:hover {
  border-color: rgba(34, 197, 94, 0.3) !important;
}

#payment .wc_payment_method.payment_method_selected,
#payment .wc_payment_method:has(input:checked) {
  border-color: var(--color-accent) !important;
  background: rgba(34, 197, 94, 0.05) !important;
}

#payment .wc_payment_method > label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  cursor: pointer !important;
  background: var(--color-bg-surface) !important;
  transition: background 0.2s ease !important;
}

#payment .wc_payment_method > label:hover {
  background: var(--color-bg-elevated) !important;
}

#payment .wc_payment_method input[type="radio"] {
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  accent-color: var(--color-accent) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

#payment .wc_payment_method > label img {
  max-height: 28px !important;
  width: auto !important;
}

#payment .payment_box {
  background: var(--color-bg-elevated) !important;
  padding: 20px !important;
  margin: 0 !important;
  border-top: 1px solid var(--color-border) !important;
  color: var(--color-text-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

#payment .payment_box::before {
  display: none !important;
}

#payment .payment_box p {
  margin: 0 0 16px 0 !important;
  color: var(--color-text-secondary) !important;
}

#payment .payment_box p:last-child {
  margin-bottom: 0 !important;
}

/* Payment Form Fields (Credit Card) */
#payment .payment_box .form-row {
  margin-bottom: 16px !important;
}

#payment .payment_box label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--color-text-muted) !important;
  margin-bottom: 8px !important;
}

#payment .payment_box input {
  width: 100% !important;
  height: 48px !important;
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  color: var(--color-text-primary) !important;
  font-family: var(--font-mono) !important;
  font-size: 15px !important;
  letter-spacing: 0.05em !important;
}

#payment .payment_box input:focus {
  border-color: var(--color-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15) !important;
}

#payment .payment_box .form-row-first,
#payment .payment_box .form-row-last {
  width: calc(50% - 6px) !important;
  display: inline-block !important;
}

#payment .payment_box .form-row-first {
  margin-right: 12px !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   8. TERMS & CONDITIONS
   ═══════════════════════════════════════════════════════════════════════════════ */

.woocommerce-terms-and-conditions-wrapper {
  margin: 20px 0 !important;
  padding: 16px !important;
  background: var(--color-bg-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  font-size: 13px !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
  accent-color: var(--color-accent) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.woocommerce-terms-and-conditions-wrapper a {
  color: var(--color-accent) !important;
  text-decoration: underline !important;
}

/* Privacy Policy */
.woocommerce-privacy-policy-text {
  font-size: 12px !important;
  color: var(--color-text-muted) !important;
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--color-border) !important;
}

.woocommerce-privacy-policy-text a {
  color: var(--color-accent) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   9. PLACE ORDER BUTTON
   ═══════════════════════════════════════════════════════════════════════════════ */

#place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  height: 64px !important;
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
  border: none !important;
  border-radius: 16px !important;
  color: #000 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 6px 24px rgba(34, 197, 94, 0.35) !important;
  position: relative !important;
  overflow: hidden !important;
}

#place_order::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent) !important;
  transition: left 0.6s ease !important;
}

#place_order:hover {
  background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 40px rgba(34, 197, 94, 0.5) !important;
}

#place_order:hover::before {
  left: 100% !important;
}

#place_order:active {
  transform: translateY(-1px) !important;
}

#place_order:disabled {
  background: var(--color-bg-surface) !important;
  color: var(--color-text-muted) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   10. SHARED COMPONENTS
   ═══════════════════════════════════════════════════════════════════════════════ */

/* --- Trust Signals --- */

.gps-trust-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 16px !important;
  margin: 24px 0 !important;
  padding: 20px !important;
  border-top: 1px solid var(--color-border) !important;
}

.gps-trust-badge {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--color-text-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.gps-trust-badge svg,
.gps-trust-badge i {
  color: var(--color-accent) !important;
  font-size: 16px !important;
}

/* Secure badge near payment */
.secure-checkout-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 16px !important;
  background: rgba(34, 197, 94, 0.08) !important;
  border: 1px solid rgba(34, 197, 94, 0.2) !important;
  border-radius: 10px !important;
  margin-bottom: 16px !important;
  color: var(--color-accent) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.secure-checkout-badge svg,
.secure-checkout-badge i {
  font-size: 16px !important;
}

/* Money back guarantee */
.guarantee-badge {
  text-align: center !important;
  padding: 16px !important;
  border-top: 1px solid var(--color-border) !important;
  margin-top: 20px !important;
}

.guarantee-badge p {
  color: var(--color-text-muted) !important;
  font-size: 11px !important;
  margin: 0 !important;
}

.guarantee-badge strong {
  color: var(--color-text-secondary) !important;
}

/* --- Notices & Alerts --- */

.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(30, 41, 59, 0.8) 100%) !important;
  border: 1px solid var(--color-border) !important;
  border-left: 4px solid var(--color-accent) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin-bottom: 20px !important;
  color: var(--color-text-body) !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before {
  color: var(--color-accent) !important;
  font-size: 20px !important;
}

.woocommerce-checkout .woocommerce-error {
  border-left-color: #ef4444 !important;
}

.woocommerce-checkout .woocommerce-error::before {
  color: #ef4444 !important;
}

.woocommerce-checkout .woocommerce-error li {
  list-style: none !important;
}

/* --- Loading States --- */

.woocommerce-checkout .blockUI.blockOverlay {
  background: rgba(2, 6, 23, 0.8) !important;
  backdrop-filter: blur(4px) !important;
}

.woocommerce-checkout .blockUI.blockOverlay::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 40px !important;
  height: 40px !important;
  margin: -20px 0 0 -20px !important;
  border: 3px solid var(--color-border) !important;
  border-top-color: var(--color-accent) !important;
  border-radius: 50% !important;
  animation: gps-spin 0.8s linear infinite !important;
}

@keyframes gps-spin {
  to { transform: rotate(360deg); }
}

/* Processing Button State */
.processing #place_order,
.woocommerce-checkout.processing #place_order {
  pointer-events: none !important;
  opacity: 0.7 !important;
}

.processing #place_order::after {
  content: '' !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid rgba(0, 0, 0, 0.2) !important;
  border-top-color: #000 !important;
  border-radius: 50% !important;
  animation: gps-spin 0.8s linear infinite !important;
  margin-left: 8px !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   11. FOCUSED CHECKOUT (HEADER LOGO ONLY)
   ═══════════════════════════════════════════════════════════════════════════════ */

/* If using a minimal checkout header */
.focused-checkout-header,
.woocommerce-checkout .header-main {
  justify-content: center !important;
}

.focused-checkout-logo {
  padding: 20px 0 16px !important;
  text-align: center !important;
  border-bottom: 1px solid var(--color-border) !important;
  margin-bottom: 24px !important;
}

.focused-checkout-logo img {
  max-height: 48px !important;
  margin: 0 auto !important;
}


/* ═══════════════════════════════════════════════════════════════════════════════
   12. ANIMATIONS
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Smooth transitions for interactive elements */
#shipping_method li,
#payment .wc_payment_method,
.woocommerce-checkout input,
.woocommerce-checkout select {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Subtle pulse for the checkout button on page load */
@keyframes gps-checkout-pulse {
  0%, 100% {
    box-shadow: 0 6px 24px rgba(34, 197, 94, 0.35);
  }
  50% {
    box-shadow: 0 6px 32px rgba(34, 197, 94, 0.5);
  }
}

#place_order {
  animation: gps-checkout-pulse 3s ease-in-out infinite !important;
}

#place_order:hover {
  animation: none !important;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  #place_order {
    animation: none !important;
  }
  
}


/* ═══════════════════════════════════════════════════════════════════════════════
   13. MOBILE OPTIMIZATIONS
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 849px) {
  
  /* Checkout Page Mobile */
  .woocommerce-checkout .row {
    padding: 16px 12px 40px !important;
  }
  
  .woocommerce-checkout .col-left,
  .woocommerce-checkout .large-7,
  .woocommerce-checkout .col-right,
  .woocommerce-checkout .large-5 {
    width: 100% !important;
    padding: 0 !important;
    float: none !important;
  }
  
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }
  
  .woocommerce-checkout input[type="text"],
  .woocommerce-checkout input[type="email"],
  .woocommerce-checkout input[type="tel"],
  .woocommerce-checkout select,
  .woocommerce-checkout .select2-selection {
    height: 50px !important;
    font-size: 16px !important; /* Prevents iOS zoom */
  }
  
  /* Order Review Mobile */
  #order_review {
    position: static !important;
    margin-top: 24px !important;
    padding: 16px 12px !important;
    border-radius: 16px !important;
    border-width: 1px !important;
  }
  
  .woocommerce-checkout-review-order-table .order-total .amount {
    font-size: 24px !important;
  }
  
  /* Shipping Options Mobile */
  
  /* Hide the "Shipping" label on mobile - it's awkwardly placed */
  .woocommerce-checkout-review-order-table .shipping th,
  .woocommerce-checkout-review-order-table tr.shipping > th {
    display: none !important;
  }
  
  .woocommerce-checkout-review-order-table .shipping td {
    width: 100% !important;
    padding: 0 !important;
  }
  
  /* Make shipping row full width */
  .woocommerce-checkout-review-order-table tr.shipping {
    display: block !important;
    width: 100% !important;
    margin: 16px 0 !important;
  }
  
  /* Bigger, better shipping option boxes */
  #shipping_method {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  #shipping_method li {
    padding: 18px 20px !important;
    margin-bottom: 0 !important;
    border-radius: 14px !important;
    min-height: 70px !important;
    align-items: flex-start !important;
  }
  
  #shipping_method input[type="radio"] {
    width: 24px !important;
    height: 24px !important;
    margin-top: 2px !important;
  }
  
  #shipping_method label {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
  }
  
  #shipping_method .amount {
    font-size: 16px !important;
    font-weight: 700 !important;
  }
  
  /* Payment Methods Mobile */
  #payment .wc_payment_methods {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-bottom: 24px !important;
  }
  
  #payment .wc_payment_method {
    margin-bottom: 0 !important;
    border-radius: 16px !important;
  }
  
  #payment .wc_payment_method > label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 14px !important;
    min-height: 70px !important;
  }
  
  #payment .wc_payment_method input[type="radio"] {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  
  /* Style the payment method text */
  #payment .wc_payment_method > label .payment_method_title,
  #payment .wc_payment_method > label {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }
  
  /* Credit card form — remove excess padding so inputs get full width */
  #payment .payment_box {
    padding: 16px 12px !important;
    margin: 0 !important;
  }
  
  #payment .payment_box p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--color-text-muted) !important;
  }
  
  #payment .payment_box .form-row {
    margin-bottom: 12px !important;
    padding: 0 !important;
  }
  
  #payment .payment_box .form-row-first,
  #payment .payment_box .form-row-last {
    width: 100% !important;
    display: block !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;
  }
  
  #payment .payment_box input {
    width: 100% !important;
    height: 50px !important;
    padding: 0 12px !important;
    font-size: 16px !important; /* Prevents iOS zoom */
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }
  
  #payment .payment_box label {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }
  
  /* Place Order Mobile */
  #place_order {
    height: 58px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
    position: sticky !important;
    bottom: 16px !important;
    margin-top: 20px !important;
    z-index: 100 !important;
  }
  
  /* Coupon Section Mobile */
  .checkout_coupon.woocommerce-form-coupon {
    padding: 20px !important;
  }
  
  .woocommerce-form-coupon-toggle .showcoupon {
    padding: 12px 16px !important;
  }
  
  /* Trust Badges Mobile */
  .gps-trust-badges {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
  }
  
}

/* Extra small screens */
@media (max-width: 480px) {
  
  #order_review {
    padding: 12px 8px !important;
  }
  
  #payment .payment_box {
    padding: 12px 8px !important;
  }
  
  #payment .wc_payment_method > label {
    padding: 14px 10px !important;
  }
  
  #payment .wc_payment_method {
    border-radius: 12px !important;
  }
  
  .woocommerce-checkout-review-order-table .order-total .amount {
    font-size: 22px !important;
  }
  
}

/* Touch-friendly improvements */
@media (hover: none) and (pointer: coarse) {
  
  #shipping_method li,
  #payment .wc_payment_method > label {
    min-height: 52px !important;
  }
  
}

/* Safe area for notched devices */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  
  #place_order {
    padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  }
  
}
