.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-f5478ee *//* ===========================
   FOOTER RJ SERV — ESTILOS BASE
   =========================== */

.rj-footer {
  width: 100%;
  background: #000;
  color: #fff;
  padding: 40px 20px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Fila superior */
.rj-footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

/* Columnas */
.rj-footer-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Imagen del taller */
.rj-footer-img {
  width: 380px;
  border-radius: 10px;
  box-shadow: 0 0 10px #222;
}

/* Información */
.rj-footer-info {
  width: 40%;
  text-align: center;
}

.rj-footer-title {
  font-size: 2rem;
  color: #e65700;
  font-weight: 700;
}

/* Líneas de contacto */
.rj-footer-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.rj-icon {
  height: 40px;
}

/* Dirección */
.rj-footer-link {
  color: #e65700;
  text-decoration: underline;
  font-size: 1.1rem;
}

/* Redes sociales */
.rj-footer-social {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding-top: 10px;
}

.rj-social-icon {
  height: 70px;
  transition: 0.3s;
}

.rj-social-icon:hover {
  transform: scale(1.1);
}

/* Enlaces legales */
.rj-footer-legal {
  text-align: left;
  gap: 12px;
}

.rj-legal-title {
  color: #e65700;
  font-size: 1.3rem;
  font-weight: 700;
}

.rj-legal-link {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: #e65700;
  font-size: 1.1rem;
}

.rj-legal-link:hover {
  color: #e65700;
}

/* ===========================
   FOOTER — COPYRIGHT
   =========================== */

.rj-footer-bottom {
  border-top: 1px solid #444;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.rj-produced {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rj-produced-img {
  width: 140px;
}

/* ===========================
   RESPONSIVE
   =========================== */

@media (max-width: 900px) {

  .rj-footer-top {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .rj-footer-info {
    width: 100%;
  }

  .rj-footer-img {
    width: 90%;
  }

  .rj-footer-legal {
    text-align: center;
  }

  .rj-footer-bottom {
    flex-direction: column;
    gap: 20px;
  }
}

/* ===========================
   AJUSTE ESCRITORIO — líneas separadas
   =========================== */

@media (min-width: 901px) {

  /* Cada línea de contacto en su propia fila */
  .rj-footer-line {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    gap: 12px;
  }

  /* Centrado general del bloque, pero líneas alineadas */
  .rj-footer-info {
    text-align: center;
  }

  /* Iconos tamaño perfecto */
  .rj-icon {
    height: 38px;
  }
}
@media (max-width: 900px) {

  .rj-footer-top {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .rj-footer-info {
    width: 100%;
  }

  .rj-footer-img {
    width: 90%;
  }

  .rj-footer-legal {
    text-align: center;
  }

  .rj-footer-bottom {
    flex-direction: column;
    gap: 20px;
  }

  /* 🔥 CORRECCIÓN: líneas de contacto en columna en móvil */
  .rj-footer-line {
    flex-direction: column !important;
    gap: 6px;
  }
}
/* Redes sociales */
.rj-footer-social {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding-top: 10px;
}

/* Tamaño uniforme y proporciones correctas */
.rj-social-icon {
  width: 60px;              /* ancho fijo */
  height: 60px;             /* alto fijo */
  object-fit: contain;      /* mantiene proporción interna */
  aspect-ratio: 1 / 1;      /* fuerza caja cuadrada */
  transition: transform 0.3s ease;
}

/* Hover */
.rj-social-icon:hover {
  transform: scale(1.1);
}

/* Redes sociales */
.rj-footer-social {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding-top: 10px;
}

/* Tamaño uniforme en escritorio */
@media (min-width: 901px) {
  .rj-social-icon {
    width: 95px !important;
    height:65px !important;
    object-fit: contain !important;
    aspect-ratio: 1 / 1 !important;
    display: block;
  }
}

/* Tamaño móvil (ya estaba perfecto) */
@media (max-width: 900px) {
  .rj-social-icon {
    width: 90px;
    height: 60px;
    object-fit: contain;
    aspect-ratio: 1 / 1;
  }
}

/* Hover */
.rj-social-icon:hover {
  transform: scale(1.1);
  transition: 0.3s;
}/* End custom CSS */