.gp-invisible {
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.wc-saved-payment-methods input[disabled] {
  display: none;
}

#payment .payment_methods .credix-payments-wrapper {
  font-family: sans-serif;
}

.wc-saved-payment-methods [class*="woocommerce-SavedPaymentMethods"] label,
#payment .payment_methods .woocommerce-PaymentMethod > label {
  display: inline;
  font-family: sans-serif;
  margin-left: 0;
  vertical-align: middle;
  width: 100%;
}

#payment .payment_methods li .payment_box .wc-credit-card-form-card-number {
  background-position: right 0.6180469716em center;
  background-repeat: no-repeat;
  background-size: 45px;
}

#payment
  .payment_methods
  li
  .payment_box
  .wc-credit-card-form-card-number.credix {
  background-image: url(../images/credix.svg);
}

#payment
  .payment_methods
  li
  .payment_box
  .wc-credit-card-form-card-number.visa {
  background-image: url(../images/visa.svg);
}

#payment
  .payment_methods
  li
  .payment_box
  .wc-credit-card-form-card-number.amex {
  background-image: url(../images/amex.svg);
}

#payment
  .payment_methods
  li
  .payment_box
  .wc-credit-card-form-card-number.mastercard {
  background-image: url(../images/mastercard.svg);
}

#payment .payment_methods li img.greenpayService-icon {
  display: initial;
  float: none;
  margin: 0;
  max-width: 45px;
  padding-right: 3px;
}

#payment .greenpayService-cc-form-wrapper fieldset[class],
.greenpayService-cc-form-wrapper > fieldset[class] {
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#payment
  .greenpayService-cc-form-wrapper
  fieldset[class].wc-greenpayService-payment-additional-fields,
.greenpayService-cc-form-wrapper
  fieldset[class].wc-greenpayService-payment-additional-fields {
  padding-top: 0;
}

#payment #place_order.processing,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}

#payment .tasa-cero-description {
  font-size: 11px;
}

.woocommerce-error.wc-greenpayService-error {
  margin-bottom: 10px;
}

.woocommerce-error.wc-greenpayService-error ul,
.greenpayService-ul {
  margin: 0;
}

#payment .payment_methods .woocommerce-PaymentMethod fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

#payment .payment_methods .woocommerce-PaymentMethod .woocommerce-PaymentBox {
  padding: 15px;
}

#payment .payment_methods .credix-payments-wrapper p {
  margin-bottom: 10px;
}

/** Thankyou page **/
.greenpayService-message-wrapper {
  display: block;
  padding: 15px;
}

.greenpayService-message-wrapper p {
  margin: 0;
  padding: 0;
}

.greenpayService-on-hold {
  background: #fff3cd;
  border: 2px solid #ffeeba;
  color: #856404;
}

.greenpayService-cancelled {
  background-color: #f8d7da;
  border: 2px solid #f5c6cb;
  color: #721c24;
}

.center-full-screen {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

#step_up_iframe {
  position: absolute;
  top: 25%;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  border: none;
  margin: 0 auto;
  background-color: white;
}

.div-iframe {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.div-iframe iframe {
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border: none;
  max-width: 95vw;
  max-height: 95vh;
  min-width: 300px;
  width: fit-content;
  height: -webkit-fill-available;
  transform: translateY(-25%);
}

/* Ajustes para móviles */
@media (max-width: 799px) {
  .div-iframe iframe {
    width: 95vw;
    height: 80vh;
  }
}

@media (min-width: 1024px) {
  .div-iframe iframe {
    width: 40vw;
    height: 80vh;
  }
}

@media (min-width: 800px) and (max-width: 1024px) {
  .div-iframe iframe {
    width: 50vw;
    height: 80vh;
  }
}
.div-loader {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6) !important;
  z-index: 1000;
}

.loader {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background:
    radial-gradient(farthest-side, #25abef 94%, #0000) top/11.5px 11.5px
      no-repeat,
    conic-gradient(#0000 30%, #25abef);
  -webkit-mask: radial-gradient(
    farthest-side,
    #0000 calc(100% - 11.5px),
    #000 0
  );
  animation: loader-rotate 1.2s infinite linear;
}

@keyframes loader-rotate {
  100% {
    transform: rotate(1turn);
  }
}
