/* Fondo con tu imagen */
body {
    font-family: Arial, sans-serif;
    background: url('https://pactwithevil.com.mx/img/bg.png') no-repeat center center fixed;
    background-size: cover;
    color: #fff;
    min-height: 100vh;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

h1 {
      font-family: 'Creepster', cursive;
      font-size: 4rem;          /* Tamaño grande */
      letter-spacing: 6px;      /* Espaciado entre letras */
      /* text-align: justify;      Justificado */
      line-height: 1.2;         /* Espaciado vertical */
      color: #282828;              /* Negro intenso */
      text-shadow: 2px 2px 5px #ffffff; /* Efecto siniestro */ 
      margin-left: auto;
        margin-right: auto;
    }

a{
    color: #25D366;
    background-color: #25D366;
}

/* Imagen personal del contador */
.profile-pic {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin-top: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: 3px solid #1c1c1c;
}

/* Eslogan debajo de la imagen */
.slogan {
    margin-top: 10px;
    font-style: italic;
    color: #ffffff;
    font-size: 16px;
    text-align: center;
}

/* Contenedor principal */
.container {
    text-align: center;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.8);
    max-width: 800px;
    width: 90%;
}

/* Logo */
.profile img {
    width: 100%;         /* ocupa todo el ancho del contenedor */
    max-width: 360px;    /* no crece más de 360px */
    height: auto;        /* mantiene proporción */
    border: 4px solid #fff;
    margin-bottom: 15px;
    display: block;      /* evita espacios raros */
    margin-left: auto;
    margin-right: auto;
}


/* Separadores de sección */
.section-divider {
    border: 0;
    height: 4px;
    margin-left: auto;
    margin-right: auto;
    background: #780606; /* Verde planta */
    color:  #780606; /* Verde planta */
    margin: 20px 0;
    opacity: 0.8;
    width: 90%;
}

/* Enlaces */
.links {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
}

/* Estilos base para los botones */
.link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none;
    color: #fff;
    background: #780606;
    padding: 14px 24px;
    border-radius: 30px;
    transition: 0.3s;
    font-weight: bold;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.link i {
    font-size: 26px;
    transition: 0.3s;
}

/* TikTok */
.link.tiktok {
    background: #000;
}

.link.tiktok:hover {
    background: #ff0050;
    color: #c1ffff;
}

/* YouTube */
.link.youtube {
    background: #FF0000;
}

.link.youtube:hover {
    background: #620202;
    color: #c1ffff;
}

/* Facebook */
.link.facebook {
    background: #1877f2;
}

.link.facebook:hover {
    background: #0e5a8a;
    color: #c1ffff;
}

/* WhatsApp */
.link.whatsapp {
    background: #25D366;
}

.link.whatsapp:hover {
    background: #128C7E;
    color: #c1ffff;
}

/* Instagram */
.link.instagram {
    background: #C13584;
}

.link.instagram:hover {
    background: #833AB4;
    color: #c1ffff;
}

.link:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
    color: #c1ffff;
}

/* Sección de Servicios Destacados */
.featured-services {
    margin-top: 30px;
    padding: 20px;
    background: rgba(40, 40, 40, 0.779);
    border-radius: 12px;
    box-shadow: 0 8px 16px rgb(38, 38, 38);
}

.featured-services h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #fff;
    text-shadow: 0 2px 4px rgba(142, 11, 11, 0.2);
}

.featured-services-carousel {
    margin: 0 auto;
}

.featured-service-card {
    background: rgba(0, 0, 0, 0.8);
    padding: 20px;
    border-radius: 10px;
    margin: 0 10px;
    border: 2px solid #780606;
    transition: transform 0.3s, box-shadow 0.3s;
}

.featured-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.4);
}

.featured-service-card h3 {
    font-size: 20px;
    margin-bottom: 10px;
    color: #780606;
}

.featured-service-card p {
    font-size: 16px;
    color: #fff;
    margin-bottom: 10px;
}

.featured-service-card .pricing {
    list-style: none;
    padding: 0;
    margin-bottom: 15px;
}

.featured-service-card .pricing li {
    font-size: 14px;
    color: #ccc;
    margin-bottom: 5px;
}

.featured-service-card .paypal-placeholder {
    text-align: center;
}

.featured-service-card .paypal-placeholder img {
    width: 100px;
    margin-bottom: 10px;
}

.featured-service-card .paypal-placeholder p {
    font-size: 14px;
    color: #780606;
}

/* Sección de Servicios Generales y Adicionales */
.services {
    margin-top: 30px;
    padding: 20px;
}

.services h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #fff;
}

.services-carousel {
    margin: 0 auto;
}

.service-card {
    background: rgba(0, 0, 0, 0.7);
    padding: 15px;
    border-radius: 10px;
    margin: 0 10px;
    border: 1px solid #fff;
    transition: transform 0.3s;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

.service-card h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #fff;
}

.service-card p {
    font-size: 14px;
    color: #ccc;
}

/* Sección de Videos */
.videos {
    margin-top: 30px;
    padding: 20px;
}

.videos h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #fff;
}

.videos-carousel {
    margin: 0 auto;
}

.video-card {
    background: rgba(0, 0, 0, 0.7);
    border-radius: 10px;
    overflow: hidden;
    margin: 0 10px;
    transition: transform 0.3s;
    text-decoration: none;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

.video-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.video-card h3 {
    font-size: 16px;
    color: #fff;
    padding: 10px;
    margin: 0;
    text-align: center;
}

.video-card.youtube {
    border: 2px solid #FF0000;
}

.video-card.tiktok {
    border: 2px solid #000;
}

.video-card.youtube:hover {
    border-color: #620202;
}

.video-card.tiktok:hover {
    border-color: #ff0050;
}

/* Estilos para Slick Slider */
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 30px;
    height: 30px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    z-index: 1;
}

.slick-prev:hover, .slick-next:hover {
    background: #780606;
}

.slick-prev:before, .slick-next:before {
    font-family: 'FontAwesome';
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: 0.75;
}

.slick-prev:before {
    content: '\f053';
}

.slick-next:before {
    content: '\f054';
}

.slick-prev {
    left: -40px;
}

.slick-next {
    right: -40px;
}

.slick-dots {
    text-align: center;
    margin-top: 10px;
}

.slick-dots li {
    display: inline-block;
    margin: 0 5px;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    cursor: pointer;
    border: 0;
    outline: none;
    background: #ccc;
    border-radius: 50%;
}

.slick-dots li.slick-active button {
    background: #780606;
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 600px) {
    body {
        padding: 20px;
        flex-direction: column;
        align-items: stretch;
    }

    .container {
        padding: 20px;
        width: 100%;
        max-width: 100%;
        box-shadow: none;
        border-radius: 0;
    }

    .profile img {
        width: 120px;
        margin-bottom: 10px;
    }

    .profile-pic {
        width: 120px;
        height: 120px;
        margin-top: 10px;
    }

    .slogan {
        font-size: 14px;
        padding: 0 10px;
    }

    .link {
        padding: 12px 16px;
        font-size: 14px;
    }

    .link i {
        font-size: 22px;
    }

    .featured-services {
        padding: 15px;
    }

    .featured-services h2 {
        font-size: 20px;
    }

    .featured-service-card {
        padding: 15px;
    }

    .featured-service-card h3 {
        font-size: 18px;
    }

    .featured-service-card p {
        font-size: 14px;
    }

    .services {
        padding: 15px;
    }

    .services h2 {
        font-size: 20px;
    }

    .service-card {
        padding: 10px;
    }

    .service-card h3 {
        font-size: 16px;
    }

    .service-card p {
        font-size: 12px;
    }

    .videos {
        padding: 15px;
    }

    .videos h2 {
        font-size: 20px;
    }

    .video-card img {
        height: 100px;
    }

    .video-card h3 {
        font-size: 14px;
    }

    .slick-prev {
        left: -20px;
    }

    .slick-next {
        right: -20px;
    }
}

/* Estilo del formulario de contacto */
.contact-form {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.8);
    z-index: 9999; /* Cambia de 1000 a 9999 */
    width: 90%;
    max-width: 400px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: auto;
}

/* Estado visible del formulario */
.contact-form.visible {
    display: block;
    opacity: 1;
}

/* Estilo del título */
.contact-form h3 {
    margin-top: 0;
    color: #fff; /* Texto blanco para legibilidad */
    font-size: 1.5em;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Sombra como en otros títulos */
}

/* Estilo de los campos de entrada */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    background-color: #333; /* Fondo oscuro para inputs */
    color: #fff; /* Texto blanco */
    box-sizing: border-box;
    pointer-events: auto; /* Asegura que los inputs sean interactivos */
    opacity: 1; /* Evita que parezcan deshabilitados */
}

/* Efecto al enfocar los inputs */
.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: #780606; /* Verde principal al enfocar */
    outline: none;
    background-color: #444; /* Fondo ligeramente más claro al enfocar */
}

/* Estilo para inputs deshabilitados (por si se aplican en el futuro) */
.contact-form input:disabled,
.contact-form select:disabled,
.contact-form textarea:disabled {
    background-color: #555; /* Fondo más claro para inputs deshabilitados */
    opacity: 0.6;
    cursor: not-allowed;
}

/* Estilo del select */
.contact-form select {
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23fff" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
}

/* Estilo del textarea */
.contact-form textarea {
    resize: vertical; /* Permite redimensionar solo verticalmente */
    min-height: 80px;
}

/* Estilo del botón */
.contact-form button {
    background-color: #780606; /* Verde principal del diseño */
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 30px; /* Bordes redondeados como los enlaces */
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    width: 100%;
    margin-top: 10px;
    transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
    pointer-events: auto; /* Asegura que el botón sea interactivo */
}

/* Efecto hover del botón */
.contact-form button:hover {
    background-color: #45a049; /* Tono más oscuro al pasar el ratón */
    transform: translateY(-5px); /* Efecto de elevación como los enlaces */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3); /* Sombra al hover */
}

/* Botón deshabilitado */
.contact-form button:disabled {
    background-color: #555;
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Overlay para atenuar el fondo */
.contact-form::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Gris semitransparente */
    z-index: 998; /* Justo debajo del formulario */
    display: none;
}

/* Mostrar el overlay cuando el formulario esté visible */
.contact-form.visible::before {
    display: block;
}
.contact-form::before {
    display: none; /* Comenta o elimina esta línea después de probar */
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    position: relative;
    z-index: 1001; /* Por encima del contenedor del formulario */
    pointer-events: auto !important;
}


/* Ajustes para pantallas pequeñas */
@media (max-width: 600px) {
    .contact-form {
        padding: 15px;
        width: 100%;
        max-width: 100%;
        border-radius: 0;
    }

    .contact-form h3 {
        font-size: 1.2em;
    }

    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form input[type="tel"],
    .contact-form select,
    .contact-form textarea {
        padding: 8px;
        font-size: 0.9em;
    }

    .contact-form button {
        padding: 8px 16px;
        font-size: 0.9em;
    }
}






/* Contenedor general con la foto grupal */
.IMGGRUPAL {
  position: relative;
  width: 100%;
  min-height: 600px; /* altura base en pantallas grandes */
  background: url('https://pactwithevil.com.mx/img/AsSoonAs%20Possible.png') no-repeat center center/cover;
  display: flex;
  justify-content: center;
  align-items: flex-end; /* contenido abajo */
  padding: 40px 20px;
  box-sizing: border-box;
}

/* Tablets */
@media (max-width: 1024px) {
  .IMGGRUPAL {
    min-height: 450px;
    padding: 30px 15px;
  }
}

/* Celulares */
@media (max-width: 600px) {
  .IMGGRUPAL {
    min-height: 300px;  /* menos alto para pantallas pequeñas */
    padding: 20px 10px;
  }
}


    /* Contenedor de los integrantes */
    .Integrantes {
      display: flex;
      gap: 20px;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 1000px;
      width: 100%;
    }

    /* Cada integrante */
    .Integrante {
      position: relative;
      width: 100px;
      height: 180px;
      border-radius: 15px;
      overflow: hidden;
      box-shadow: 0 5px 15px rgba(0,0,0,0.6);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      transition: transform 0.3s;
    }
    .Integrante:hover {
      transform: scale(1.05);
    }

    /* Foto del integrante */
    .Foto {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      z-index: 1;
    }

    /* Footer con nombre y redes */
    .Info {
      position: relative;
      z-index: 2;
      background: rgba(0,0,0,0.7);
      color: #fff;
      padding: 1px;
      text-align: center;
      font-family: 'Creepster', cursive;
      font-size: 14px;
    }

    .RedesSociales {
      margin-top: 1px;
    }

    .RedesSociales a {
      margin: 0 6px;
      color: #fff;
      font-size: 24px;
      background-color: #00000000 !important;
      transition: color 0.3s;
    }
    .RedesSociales a:hover {
      color: crimson;
    }

  .FotoProducto {
  width: 250px;              /* ocupa todo el ancho disponible */
  height: 250px;            /* ajusta según lo que necesites */
  background-size: cover;   /* la imagen se recorta para llenar todo */
  background-position: center; /* centrada */
  background-repeat: no-repeat; /* sin repetir */
  border-radius: 10px;      /* opcional */
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}


  .REPRODUCTOR {
  width: 200px;              /* ocupa todo el ancho disponible */
  height: 140px;            /* ajusta según lo que necesites */
  background-size: cover;   /* la imagen se recorta para llenar todo */
  background-position: center; /* centrada */
  background-repeat: no-repeat; /* sin repetir */
  border-radius: 10px;      /* opcional */
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}
