.elementor-widget-section.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-column.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}/* Start custom CSS for html, class: .elementor-element-34f779d */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700;800&family=Inter:wght@400;500;700&display=swap');

.moja-black-red-rapid-bar {
  font-family: 'Inter', sans-serif;
  background: #1c1c1c; /* Negro Mate */
  color: #f0f0f0; /* Texto principal blanco hueso */
  padding: 10px 15px; /* Padding original de la barra sticky */
  position: relative; /* Necesario para el botón de cierre absoluto y el ::after */
  /* Se eliminan: top: 0; left: 0; position: sticky; */
  width: 100%; /* Ocupará el ancho del contenedor padre */
  /* max-width: 800px; /* Eliminado para que se sienta más como una barra al 100% del contenedor */
  margin: 30px 0; /* Margen vertical para espaciarlo, horizontal 0 para que ocupe el contenedor */
  z-index: 5; /* Z-index más bajo, ya no necesita estar encima de todo */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
  animation: mojaBlackRedBarAppear 0.6s ease-out forwards;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 2px solid #ff4b2b; /* Línea de acento roja */
  /* border-radius: 8px; /* Eliminado para mantener el look original de la barra */
}

/* Efecto de Destello (Shine) - se mantiene */
.moja-black-red-rapid-bar::after {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 70%;
  height: 100%;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.1) 50%, transparent 100%);
  transform: skewX(-25deg);
  animation: mojaBlackRedShineSweep 3.5s infinite linear;
  animation-delay: 2s;
  z-index: 0;
}

@keyframes mojaBlackRedBarAppear {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes mojaBlackRedShineSweep {
  100% { left: 150%; }
}

.moja-black-red-rapid-bar-content {
  display: flex;
  align-items: center;
  justify-content: space-between; /* Mantenemos la distribución original */
  gap: 15px; /* Gap original */
  width: 100%;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.moja-black-red-info-area {
  display: flex;
  flex-direction: column;
  gap: 3px; /* Gap original */
  flex-grow: 1;
  text-align: left; /* Alineación original */
}

.black-red-line-1,
.black-red-line-2 {
  display: flex;
  align-items: center;
  gap: 6px; /* Gap original */
  font-size: 0.9em; /* Tamaño original */
  font-weight: 500;
}

.black-red-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.map-pin-icon {
  fill: #cccccc;
}

.black-red-line-1 strong {
  color: #ffffff;
  font-weight: 700;
}

.emergency-text-highlight-black-red {
  font-family: 'Montserrat', sans-serif;
  color: #ff4b2b;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.lightning-icon {
  fill: #ff4b2b;
  animation: mojaBlackRedLightningFlicker 1.5s infinite steps(1, end);
  animation-delay: 0.7s;
}

@keyframes mojaBlackRedLightningFlicker {
  0%, 100% { opacity: 1; transform: translateX(0); }
  50% { opacity: 0.7; transform: translateX(-1px) rotate(-5deg); }
}

.timer-icon {
  fill: #ff4b2b;
  animation: mojaBlackRedTimerTick 2s infinite linear;
  animation-delay: 1s;
}

@keyframes mojaBlackRedTimerTick {
  0% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(7deg) scale(1.05); }
  75% { transform: rotate(-7deg) scale(1.05); }
  100% { transform: rotate(0deg) scale(1); }
}

.fast-quote-text-highlight-black-red {
  font-family: 'Montserrat', sans-serif;
  color: #ff4b2b;
  font-weight: 700;
  text-transform: uppercase;
}

.offer-text-highlight-black-red {
  color: #ff4b2b;
  font-weight: 800;
  background-color: rgba(255,255,255,0.05);
  padding: 1px 4px;
  border-radius: 3px;
}

.moja-black-red-rapid-bar-button {
  font-family: 'Montserrat', sans-serif;
  background: #ff4b2b;
  color: #ffffff !important;
  padding: 10px 20px; /* Padding original del botón */
  text-decoration: none !important;
  font-size: 0.95em; /* Tamaño original del botón */
  font-weight: 700;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 10px rgba(255,75,43,0.3);
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  flex-shrink: 0;
  white-space: nowrap;
}

.moja-black-red-rapid-bar-button:hover {
  background: #e03c1a;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 6px 15px rgba(255,75,43,0.4);
}

.moja-black-red-rapid-bar-close {
  background: transparent;
  color: #777777;
  border: none;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  padding: 0 10px; /* Padding original */
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
  position: absolute; /* Posicionamiento absoluto */
  top: 50%; /* Centrado vertical */
  right: 10px; /* Pegado a la derecha */
  transform: translateY(-50%); /* Ajuste para centrado vertical perfecto */
  z-index: 2;
}

.moja-black-red-rapid-bar-close:hover {
  color: #ff4b2b;
  transform: translateY(-50%) rotate(180deg); /* Mantener centrado al rotar */
}

/* --- Media Queries --- */
@media (max-width: 992px) {
  .moja-black-red-rapid-bar-content {
    /* justify-content: center; /* No es necesario si el flex-grow del texto funciona */
    /* gap: 10px; /* Ya está en el estilo base */
  }
  .moja-black-red-info-area {
    align-items: flex-start; /* Mantener alineación a la izquierda */
    text-align: left; /* Mantener alineación a la izquierda */
    /* margin-bottom: 10px; /* El gap del flex container padre lo maneja */
  }
  .black-red-line-1,
  .black-red-line-2 {
    justify-content: flex-start; /* Mantener alineación a la izquierda */
    font-size: 0.85em;
  }
}

@media (max-width: 768px) {
  .moja-black-red-rapid-bar {
    padding: 12px 10px; /* Padding original para móvil */
    /* padding-right: 45px; /* No es estrictamente necesario si el botón de cierre se maneja bien */
  }
  .moja-black-red-rapid-bar-content {
    flex-direction: column;
    gap: 10px; /* Espacio entre área de info y botón cuando se apilan */
  }
  .moja-black-red-info-area {
      width: 100%; /* Ocupar todo el ancho al apilarse */
      align-items: center; /* Centrar el texto cuando está apilado */
      text-align: center;
  }
  .black-red-line-1,
  .black-red-line-2 {
    justify-content: center; /* Centrar las líneas de texto cuando están apiladas */
  }
  .moja-black-red-rapid-bar-button {
    width: auto; /* Ancho automático para el botón o 100% si se prefiere */
    min-width: 240px; /* Ancho mínimo para buena apariencia */
    padding: 12px 15px;
    font-size: 0.9em;
  }
  .moja-black-red-rapid-bar-close {
    top: 10px; /* Ajustar para que no se solape con el contenido si la barra es muy alta */
    right: 10px;
    transform: none; /* Quitar el translateY en este caso para un posicionamiento simple en esquina */
  }
}

@media (max-width: 420px) {
  .black-red-line-1,
  .black-red-line-2 {
    font-size: 0.8em;
    gap: 4px;
  }
  .black-red-icon {
    width: 16px;
    height: 16px;
  }
  .moja-black-red-rapid-bar-button {
    font-size: 0.85em;
    width: 100%; /* Botón a todo lo ancho en pantallas muy pequeñas */
    min-width: unset;
  }
}/* End custom CSS */