/* Estilos comunes para el sitio web */

/* Transiciones suaves */
.transition-all {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* Efectos hover personalizados */
.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

/* Efectos de sombra personalizados */
.shadow-custom {
    box-shadow: 0 4px 6px -1px rgba(181, 116, 25, 0.1), 0 2px 4px -1px rgba(181, 116, 25, 0.06);
}

/* Gradientes personalizados */
.gradient-primary {
    background: linear-gradient(135deg, #D02A2E 0%, #B57419 100%);
}

.gradient-secondary {
    background: linear-gradient(135deg, #F5D883 0%, #B57419 100%);
}

/* Animaciones de carga lazy para imágenes */
.lazy-load {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.lazy-load.loaded {
    opacity: 1;
}

/* Estilos para el scroll suave */
html {
    scroll-behavior: smooth;
}

/* Estilos para el botón de menú móvil */
.menu-icon {
    transition: transform 0.3s ease;
}

.menu-icon.active {
    transform: rotate(90deg);
}

/* Estilos para las tarjetas de servicios */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(181, 116, 25, 0.1), 0 10px 10px -5px rgba(181, 116, 25, 0.04);
}

/* Estilos para los testimonios */
.testimonial-card {
    transition: transform 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-3px);
}

/* Estilos para los botones */
.button-primary {
    background-color: #D02A2E;
    color: #FDFEFD;
    transition: all 0.3s ease;
}

.button-primary:hover {
    background-color: #B52428;
    transform: translateY(-1px);
}

.button-secondary {
    background-color: #F5D883;
    color: #B57419;
    transition: all 0.3s ease;
}

.button-secondary:hover {
    background-color: #F3D06B;
    transform: translateY(-1px);
}

/* Estilos para el footer */
.footer-link {
    transition: color 0.3s ease;
}

.footer-link:hover {
    color: #F5D883;
}

/* Utilidades de espaciado personalizadas */
.section-padding {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

/* Media queries para responsividad */
@media (max-width: 640px) {
    .section-padding {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

/* Estilos para el formulario de contacto */
.input-field {
    border: 2px solid transparent;
    transition: border-color 0.3s ease;
}

.input-field:focus {
    border-color: #F5D883;
    outline: none;
}

/* Estilos para las imágenes de fondo */
.bg-pattern {
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23F5D883' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}