/* Fondo con tu imagen */
body {
    font-family: Arial, sans-serif;
    background: url('https://diamondcontabilidadmx.com/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;
}

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: 150px;
    height: auto;
    border-radius: 50%;
    border: 4px solid #fff;
    margin-bottom: 15px;
}

/* Separadores de sección */
.section-divider {
    border: 0;
    height: 4px;
    margin-left: auto;
    margin-right: auto;
    background: #4CAF50; /* Verde planta */
    color:  #4CAF50; /* 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: #4CAF50;
    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(76, 175, 80, 0.2);
    border-radius: 12px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

.featured-services h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 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 #4CAF50;
    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: #4CAF50;
}

.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: #4CAF50;
}

/* 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: #4CAF50;
}

.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: #4CAF50;
}

/* 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: #4CAF50; /* 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: #4CAF50; /* 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;
    }
}