/* Estilos para validaci¨®n de tel¨¦fono */

/* Mensaje de ayuda */
.phone-help-message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #e7f3ff;
  border: 1px solid #b3d9ff;
  border-radius: 4px;
  font-size: 13px;
  color: #0066cc;
}

.phone-help-message .help-icon {
  font-size: 14px;
  flex-shrink: 0;
}

.phone-help-message .help-text {
  line-height: 1.4;
}

/* Mensaje de error */
.phone-error-message {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #ffe6e6;
  border: 1px solid #ffb3b3;
  border-radius: 4px;
  font-size: 13px;
  color: #cc0000;
}

.phone-error-message .error-icon {
  font-size: 14px;
  flex-shrink: 0;
}

.phone-error-message .error-text {
  line-height: 1.4;
  font-weight: 500;
}

/* Estados de validaci¨®n para los campos */
.phone-valid {
  border-color: #28a745 !important;
  box-shadow: 0 0 0 1px rgba(40, 167, 69, 0.25) !important;
}

.phone-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 1px rgba(220, 53, 69, 0.25) !important;
}

/* Placeholder mejorado */
input[type="tel"]::placeholder {
  color: #999;
  font-style: italic;
}

/* Error general de validaci¨®n */
.phone-validation-error {
  margin-bottom: 20px !important;
  animation: slideDown 0.3s ease-out;
}

.phone-validation-error .wc-block-components-notice-banner__content {
  display: flex;
  align-items: center;
  gap: 10px;
}

.phone-validation-error .error-icon {
  font-size: 16px;
  flex-shrink: 0;
}

/* Animaci¨®n para el error general */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .phone-help-message,
  .phone-error-message {
    font-size: 12px;
    padding: 6px 10px;
  }

  .phone-help-message .help-icon,
  .phone-error-message .error-icon {
    font-size: 12px;
  }
}

/* Mejorar visibilidad en temas oscuros */
@media (prefers-color-scheme: dark) {
  .phone-help-message {
    background-color: #1a365d;
    border-color: #2c5aa0;
    color: #90cdf4;
  }

  .phone-error-message {
    background-color: #742a2a;
    border-color: #e53e3e;
    color: #feb2b2;
  }
}

/* Asegurar que los mensajes no interfieran con el layout */
.wc-block-components-text-input {
  position: relative;
}

.phone-help-message,
.phone-error-message {
  position: relative;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
}

/* Evitar conflictos con otros estilos */
.phone-help-message *,
.phone-error-message * {
  box-sizing: border-box;
}
