/* Fondo femenino y moderno para la sección encabezado de contacto */
.service-header-contacto {
    background: linear-gradient(120deg, rgba(252,228,236,0.93) 0%, rgba(243,229,245,0.85) 60%, rgba(255,255,255,0.7) 100%);
    box-shadow: 0 4px 24px 0 rgba(255,128,171,0.07);
    border-radius: 1.5rem;
    background-size: 200% 200%;
    animation: gradientMove 12s ease-in-out infinite;
}

@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
    background: linear-gradient(120deg, rgba(252,228,236,0.93) 0%, rgba(243,229,245,0.85) 60%, rgba(255,255,255,0.7) 100%);
  }
  50% {
    background-position: 100% 50%;
    background: linear-gradient(240deg, rgba(243,229,245,0.93) 0%, rgba(252,228,236,0.85) 60%, rgba(255,255,255,0.7) 100%);
  }
  100% {
    background-position: 0% 50%;
    background: linear-gradient(120deg, rgba(252,228,236,0.93) 0%, rgba(243,229,245,0.85) 60%, rgba(255,255,255,0.7) 100%);
  }
}


@media (max-width: 768px) {
    .service-header-contacto {
        border-radius: 0.5rem;
        padding: 1.5rem 0;
    }
}

.fadeUp {
    opacity: 0;
    transform: translateY(50px);
    animation: fadeUpAnim 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}
.fadeUp.delay-1 { animation-delay: 0.2s; }
.fadeUp.delay-2 { animation-delay: 0.4s; }
.fadeUp.delay-3 { animation-delay: 0.6s; }
@keyframes fadeUpAnim {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.contact-card {
    width: 100%;
    background: linear-gradient(135deg, rgba(255,255,255,0.98) 60%, rgba(173,216,230,0.09) 100%);
    border-radius: 1.5rem;
    box-shadow: 0 4px 24px 0 rgba(173,216,230,0.09);
    border: 1.5px solid #f3e7f7;
    padding: 2.2rem 1.7rem 1.7rem 1.7rem;
    margin-bottom: 2.2rem;
    transition: transform 0.3s cubic-bezier(.4,2,.7,.9), box-shadow 0.3s;
    position: relative;
    overflow: hidden;
    min-height: 340px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    animation: fadeUpAnim 1s cubic-bezier(0.23, 1, 0.32, 1) both;
}
.contact-card > * {
    position: relative;
    z-index: 1;
}

.contacto-icono {
    font-size: 2.5rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    filter: drop-shadow(0 2px 4px #ffc1e3a3);
}

.contacto-info-list {
    padding-left: 0;
    list-style: none;
    margin-bottom: 1.2rem;
}
.contacto-info-list li {
    font-size: 1.09rem;
    color: #37474f;
    margin-bottom: 0.65rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.contacto-info-list i {
    color: var(--primary-color);
    font-size: 1.2rem;
    margin-right: 0.5rem;
}

.contacto-form label {
    font-weight: 600;
    color: var(--primary-color);
}
.contacto-form input, .contacto-form textarea {
    border-radius: 1rem;
    border: 1.5px solid #f3e7f7;
    box-shadow: 0 2px 8px 0 rgba(255,128,171,0.07);
    font-size: 1.08rem;
    margin-bottom: 1rem;
}
.contacto-form textarea {
    resize: vertical;
    min-height: 120px;
}
.btn-enviar {
    background: var(--primary-color);
    border: none;
    color: #fff;
    font-weight: 600;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 8px 0 rgba(255,128,171,0.10);
    border-radius: 1rem;
    padding: 0.7rem 2.2rem;
    font-size: 1.1rem;
}
.btn-enviar:hover, .btn-enviar:focus {
    background: var(--accent-color);
    color: #fff;
}
.btn-whatsapp {
    background: #25d366;
    border: none;
    color: #fff;
    font-weight: 600;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 8px 0 rgba(37,211,102,0.08);
    border-radius: 1rem;
    padding: 0.7rem 2.2rem;
    font-size: 1.1rem;
    margin-left: 0.8rem;
}
.btn-whatsapp i {
    color: #fff !important;
}
.btn-whatsapp:hover, .btn-whatsapp:focus {
    background: #1ebe5d;
    color: #fff;
}
@media (max-width: 767px) {
    .contact-card {
        padding: 1.2rem 0.7rem 1.2rem 0.7rem;
    }
    .btn-whatsapp {
        margin-left: 0;
        margin-top: 0.7rem;
    }
}
