/**
 * DeepakPaswan.com — Custom WooCommerce Commerce & Account Stylesheet
 * 100% Custom Design System (Warm cream, Terracotta #CA4B00, Inter, Plus Jakarta Sans, JetBrains Mono)
 * Zero generic WooCommerce styling.
 */

/* Form Input Styling */
.dp-input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100% !important;
  background-color: #ffffff !important;
  border: 1px solid #e9e9e9 !important;
  border-radius: 0.75rem !important;
  padding: 0.75rem 1rem !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 0.875rem !important;
  color: #202020 !important;
  line-height: 1.5 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}

.dp-input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #ca4b00 !important;
  box-shadow: 0 0 0 3px rgba(202, 75, 0, 0.12) !important;
}

.dp-input::placeholder {
  color: #9ca3af !important;
}

.dp-checkbox {
  accent-color: #ca4b00 !important;
  width: 1rem !important;
  height: 1rem !important;
  border-radius: 0.25rem !important;
  cursor: pointer !important;
}

/* Hide Unwanted WooCommerce Elements */
.woocommerce-form-coupon-toggle,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  display: none !important;
}

/* Form Row Layout Adjustments */
.woocommerce form .form-row {
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.375rem !important;
}

.woocommerce form .form-row label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #202020 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.woocommerce form .form-row .required {
  color: #dc2626 !important;
  text-decoration: none !important;
}

/* Checkout Payment Gateways Overrides */
.dp-checkout-payment-wrapper #payment,
.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background: #ffffff !important;
  border: 1px solid #e9e9e9 !important;
  border-radius: 1rem !important;
  padding: 1rem 1.25rem !important;
  margin: 0 !important;
  transition: all 0.15s ease !important;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: rgba(202, 75, 0, 0.4) !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #202020 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: #ca4b00 !important;
  width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0 0.5rem 0 0 !important;
  cursor: pointer !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: #fff8f2 !important;
  border: 1px solid rgba(202, 75, 0, 0.2) !important;
  border-radius: 0.75rem !important;
  padding: 0.875rem 1rem !important;
  margin: 0.75rem 0 0 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  color: #666666 !important;
  line-height: 1.6 !important;
}

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

/* Terms and Conditions Container */
.woocommerce-checkout #payment div.form-row.place-order {
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  color: #666666 !important;
  line-height: 1.5 !important;
  margin-bottom: 1rem !important;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a {
  color: #ca4b00 !important;
  text-decoration: underline !important;
}

/* Place Order Submit Button */
#place_order,
.woocommerce-checkout #payment #place_order {
  background-color: #ca4b00 !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  padding: 0.9375rem 2rem !important;
  border-radius: 0.75rem !important;
  border: none !important;
  width: 100% !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(202, 75, 0, 0.25) !important;
  transition: all 0.2s ease !important;
  letter-spacing: -0.01em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
}

#place_order:hover,
.woocommerce-checkout #payment #place_order:hover {
  background-color: #a13a00 !important;
  box-shadow: 0 6px 16px rgba(202, 75, 0, 0.35) !important;
  transform: translateY(-1px) !important;
}

#place_order:active,
.woocommerce-checkout #payment #place_order:active {
  transform: translateY(0) !important;
}

/* WooCommerce Notices Overrides */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  margin: 0 0 1.5rem 0 !important;
  padding: 1rem 1.25rem !important;
  border-radius: 1rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  list-style: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  border-left-width: 4px !important;
}

.woocommerce-error:before,
.woocommerce-info:before,
.woocommerce-message:before {
  display: none !important;
}

.woocommerce-message {
  background-color: #ecfdf5 !important;
  color: #065f46 !important;
  border-left-color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  border-left: 4px solid #10b981 !important;
}

.woocommerce-error {
  background-color: #fef2f2 !important;
  color: #991b1b !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-left: 4px solid #ef4444 !important;
}

.woocommerce-info {
  background-color: #fff8f2 !important;
  color: #9a3412 !important;
  border: 1px solid rgba(202, 75, 0, 0.3) !important;
  border-left: 4px solid #ca4b00 !important;
}

/* BlockUI / Loading Overlay */
.blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(2px) !important;
}

/* Account Modal Styling & State Transitions */
#account-modal {
  z-index: 9999 !important;
}

#account-modal.dp-modal-open {
  display: flex !important;
}

#account-modal.dp-modal-open #account-modal-backdrop {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#account-modal-dialog {
  width: min(100% - 32px, 480px) !important;
  max-width: 480px !important;
  box-sizing: border-box !important;
  margin: auto !important;
}

@media (max-width: 520px) {
  #account-modal-dialog {
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
    margin: 16px auto !important;
  }
}

#account-modal.dp-modal-open #account-modal-dialog {
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* Header Account Dropdown */
#header-account-dropdown {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  z-index: 70 !important;
}

#header-account-dropdown:not(.hidden) {
  display: block !important;
}

#header-account-dropdown.hidden {
  display: none !important;
}

.dp-modal-scroll-lock {
  overflow: hidden !important;
}

.dp-alert-error {
  background-color: #fef2f2 !important;
  color: #991b1b !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
}

.dp-alert-success {
  background-color: #ecfdf5 !important;
  color: #065f46 !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
}

@keyframes dp-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: dp-spin 1s linear infinite !important;
}

