.woocommerce-notices-wrapper {
  display: none;
}

/* ---- Billing form selects match input bg ---- */
#ehs-billing-form select {
  background-color: #f5f5f6 !important;
}

#ehs-billing-form select:focus {
  background-color: #ffffff !important;
}

#ehs-billing-form select:disabled {
  background-color: #f5f5f6 !important;
  -webkit-appearance: none;
  opacity: 1;
}

/* ---- Kill WooCommerce blockUI white overlay globally ---- */
.ehs-checkout .blockUI.blockOverlay,
.ehs-checkout .blockUI.blockMsg,
form.checkout .blockUI.blockOverlay,
form.checkout .blockUI.blockMsg,
.woocommerce form .blockUI.blockOverlay {
  background: transparent !important;
  opacity: 0 !important;
  border: none !important;
  cursor: default !important;
  z-index: -1 !important;
}

/* ------------------------------------------------ Checkout (scoped) */
.ehs-checkout wc-order-attribution-inputs {
  display: none;
}

.ehs-checkout h3,
.ehs-checkout h4 {
  font-size: 22px;
  font-weight: 700;
  color: #091b32;
}

.ehs-checkout .form-row {
  margin-bottom: 18px;
}

.ehs-checkout label {
  font-weight: 600;
  color: #091b32;
  display: block;
  margin-bottom: 6px;
}

.ehs-checkout input,
.ehs-checkout select,
.ehs-checkout textarea {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  border: 1px solid #e3e4e8;
  background-color: #f5f5f6;
  padding: 0 12px;
  color: #091b32;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.ehs-checkout textarea {
  height: auto;
  min-height: 96px;
  padding: 10px 12px;
}

.ehs-checkout input:focus,
.ehs-checkout select:focus,
.ehs-checkout textarea:focus {
  outline: none;
  border-color: #4aab3d;
  background-color: #ffffff;
}

.ehs-checkout #order_review {
  background: #f5f5f6;
  border-radius: 16px;
  padding: 24px;
}

.ehs-checkout .woocommerce-checkout-review-order-table {
  margin: 0;
}

.ehs-checkout .woocommerce-checkout-review-order-table th,
.ehs-checkout .woocommerce-checkout-review-order-table td {
  padding: 10px 0;
}

.ehs-checkout #place_order,
.ehs-checkout .place-order button {
  height: 52px;
  border-radius: 14px;
  background: var(--grad-1);
  color: #ffffff;
  font-weight: 700;
  border: none;
  padding: 0 28px;
}

.ehs-checkout #place_order:hover,
.ehs-checkout .place-order button:hover {
  background: #091b32;
}

@media screen and (max-width: 1024px) {
  .ehs-checkout #customer_details {
    grid-template-columns: 1fr;
  }
}

/* ----- Payment Method cards (pay now / invoice) ----- */

/* Active card highlight */
.ehs-pay-now-card.active,
.ehs-pay-invoice-card.active {
  border-color: #4aab3d;
}

.ehs-pay-now-card.active .ehs-radio-dot,
.ehs-pay-invoice-card.active .ehs-radio-dot {
  border-color: #4aab3d;
}

.ehs-pay-now-card.active .ehs-radio-dot > span,
.ehs-pay-invoice-card.active .ehs-radio-dot > span {
  background-color: #4aab3d;
}

/* Hide WooCommerce default payment section chrome inside Pay Now */
.ehs-pay-now-review {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.ehs-pay-now-review .woocommerce-checkout-review-order-table {
  display: none !important;
}

.ehs-pay-now-review .place-order {
  display: none !important;
}

.ehs-pay-now-review #payment {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.ehs-pay-now-review #payment::before,
.ehs-pay-now-review #payment::after {
  display: none !important;
}

.ehs-pay-now-review .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ehs-pay-now-review .wc_payment_methods li {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ehs-pay-now-review .wc_payment_methods li input.input-radio {
  display: none !important;
}

.ehs-pay-now-review .wc_payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 14px;
  color: #091b32;
  cursor: pointer;
  margin: 0;
}

.ehs-pay-now-review .wc_payment_methods li .payment_box {
  display: none !important;
}

/* Show the payment_box for the currently-selected gateway */
.ehs-pay-now-review
  .wc_payment_methods
  li
  .payment_box[style*="display: block"] {
  display: block !important;
  background: transparent !important;
  padding: 12px 0 0 28px !important;
  margin: 0 !important;
  width: 100%;
}

/* Make sure Stripe Elements iframe is visible and usable */
.ehs-pay-now-review .wc-upe-form,
.ehs-pay-now-review .wc-stripe-upe-element {
  min-height: 300px;
  overflow: hidden;
}

.ehs-pay-now-review .wc-stripe-upe-element .__PrivateStripeElement {
  min-height: 280px !important;
  overflow: hidden !important;
}

.ehs-pay-now-review .wc-stripe-upe-element iframe {
  min-height: 280px !important;
  height: 280px !important;
}

/* Fix Stripe fieldset overflow / bottom scrollbar */
.ehs-pay-now-review .wc-upe-form {
  overflow: hidden !important;
  max-width: 100%;
  position: relative;
}

.ehs-pay-now-review .wc-upe-form fieldset {
  overflow: hidden !important;
  position: relative;
}

/* Hide Stripe's hidden style input that causes horizontal scrollbar */
#wc-stripe-hidden-style-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Save payment checkbox alignment */
.ehs-pay-now-review .woocommerce-SavedPaymentMethods-saveNew {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.ehs-pay-now-review
  .woocommerce-SavedPaymentMethods-saveNew
  input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  flex-shrink: 0;
}

.ehs-pay-now-review .woocommerce-SavedPaymentMethods-saveNew label {
  font-size: 13px;
  color: #47464e;
  margin: 0 !important;
}

/* Pay by Invoice – white background */
.ehs-pay-invoice-card input[type="text"],
.ehs-pay-invoice-card input[type="email"] {
  background-color: #fff !important;
}

/* Stripe payment_box full width */
.ehs-pay-now-review .payment_box fieldset {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.ehs-pay-now-review .payment_box .wc-saved-payment-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
}

.ehs-pay-now-review .payment_box p.form-row {
  margin: 8px 0 0 !important;
}

.ehs-pay-now-review .wc_payment_methods li label img {
  height: 24px;
  width: auto;
}

.ehs-pay-now-review .payment_method_stripe label::after {
  content: none;
}

/* ------------------------------------------------ Cancel Subscription Popup */
.ehs-cancel-popup-wrap .ehs-cancel-modal {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db transparent;
}

/* ------------------------------------------------ Address Validation Errors */
input.ehs-field-error {
  border-color: #ef4444 !important;
  background-color: #fef2f2 !important;
}

/* ------------------------------------------------ Action Icon Wrapper (fixed-size, centered) */
.ehs-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  line-height: 1;
}

.ehs-action-icon > i {
  font-size: 14px;
  line-height: 1;
}

/* Smooth centered spin */
@keyframes ehsSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.ehs-spin > i,
i.ehs-spin {
  animation: ehsSpin 0.8s linear infinite;
  transform-origin: center center;
}

/* ---- Consultant CF7 form (dark popup) ---- */
.ehs-consultant-cf7-wrap {
  --cf7-color-input: #f1f1f3;
  --cf7-color-border: #b8b7bc;
  --cf7-color-focus: #f1f1f3;
  --cf7-placeholder-color: #b8b7bc;
  --cf7-input-height: 36px;
  --cf7-border-bottom-width: 1px;
  --cf7-input-padding: 0 0 8px;
  --cf7-label-weight: 600;
  --cf7-label-margin-bottom: 8px;
}

.ehs-consultant-cf7-wrap .wpcf7 label {
  color: #f1f1f3;
  font-size: 14px;
}

.ehs-consultant-cf7-wrap .wpcf7 input,
.ehs-consultant-cf7-wrap .wpcf7 textarea {
  color: #f1f1f3;
}

.ehs-consultant-cf7-wrap .wpcf7-not-valid-tip {
  color: #ef5f5f;
}

.ehs-consultant-cf7-wrap .wpcf7 input.wpcf7-not-valid,
.ehs-consultant-cf7-wrap .wpcf7 textarea.wpcf7-not-valid {
  border-bottom-color: #ef5f5f;
}

.ehs-consultant-cf7-wrap .wpcf7-response-output {
  color: #f1f1f3;
  border-color: #b8b7bc;
}

.ehs-consultant-cf7-wrap .wpcf7 form.invalid .wpcf7-response-output,
.ehs-consultant-cf7-wrap .wpcf7 form.unaccepted .wpcf7-response-output {
  color: #ef5f5f;
  border-color: #ef5f5f;
}

.ehs-consultant-cf7-wrap .wpcf7 form.sent .wpcf7-response-output {
  color: #4aab3d;
  border-color: #4aab3d;
}

.ehs-consultant-cf7-wrap .submit-wrap {
  background: var(--grad-1);
  border-radius: 16px;
  min-width: 220px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.ehs-consultant-cf7-wrap .submit-wrap .wpcf7-submit {
  height: 56px;
  min-width: 220px;
  padding: 0 40px;
}

.ehs-consultant-cf7-wrap .wpcf7 form.submitting .submit-wrap {
  background: #8f8f8f;
}

.ehs-consultant-cf7-wrap .wpcf7-spinner {
  background-color: var(--grad-1);
}

.ehs-consultant-cf7-wrap .wpcf7-spinner.is-active {
  visibility: visible !important;
  opacity: 1;
}
