/*
 Theme Name:   Hello Elementor Child
 Description:  Tema hijo para Envasify
 Author:       Tu Nombre
 Template:     hello-elementor
 Version:      1.0.0
*/


* { font-family: 'Inter', sans-serif; }
        .fade-in { opacity: 0; transform: translateY(30px); animation: fadeInUp 0.8s ease forwards; }
        @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }
        .parallax-section {
            position: relative;
            min-height: 350px;
            display: flex;
            align-items: center;
            justify-content: center;
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            background-repeat: no-repeat;
        }
				.hero-bg { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); }
        .parallax-overlay {
            position: absolute;
            inset: 0;
            background: rgba(0, 59, 92, 0.45);
            z-index: 1;
        }
        @supports (-webkit-touch-callout: none) {
            .parallax-section { background-attachment: scroll; }
        }

/* Hacer la cabecera fija */
.navbar, header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999; /* Para que siempre esté por encima de todo */
    background: rgba(255, 255, 255, 0.95); /* Fondo con ligera transparencia */
    backdrop-filter: blur(10px); /* Efecto de desenfoque moderno */
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
            transform: translateY(-100%);
            animation: slideDown 0.6s ease forwards 0.3s;
}
 @keyframes slideDown { to { transform: translateY(0); } }
/* Evitar que el contenido de la página se meta debajo de la cabecera */
body {
    padding-top: 64px; /* Ajusta este valor a la altura real de tu cabecera */
}

/* Ocultar el pie de página por defecto del tema Hello Elementor */
.copyright.show {
    display: none !important;
}

/*--------------- ESTILOS PAGINA DE INICIO ------------------------------*/

/* Hero with Video Background */
        .hero {
            position: relative;
            min-height: 100vh;
            display: flex;
            align-items: center;
            overflow: hidden;
            background: linear-gradient(135deg, #0047AB 0%, #003B5C 100%);
        }

        .hero-video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            transform: translate(-50%, -50%);
            object-fit: cover;
            z-index: 1;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.38) 50%, rgba(0,0,0,0.50) 100%);
            z-index: 2;
        }

        .hero::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background-image: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
            background-size: 50px 50px;
            z-index: 3;
            pointer-events: none;
        }
/* Hero Animations */
        @keyframes fadeInUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes fadeInScale {
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .fade-in-up {
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 1s ease forwards 0.5s;
        }

        .fade-in-scale {
            opacity: 0;
            transform: scale(0.9);
            animation: fadeInScale 1s ease forwards 0.8s;
        }
/* Button Effects */
        .btn-secondary-hero {
            background: rgba(255, 255, 255, 0.1);
            color: white;
            border: 2px solid rgba(255, 255, 255, 0.3);
            backdrop-filter: blur(10px);
            padding: 16px 32px;
            border-radius: 12px;
            font-weight: 600;
            transition: all 0.3s;
        }

        .btn-secondary-hero:hover {
            background: rgba(255, 255, 255, 0.2);
            border-color: white;
        }
/* Icon Container */
        .icon-container {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        /* Cards */
        .problem-card {
            background: white;
            padding: 32px;
            border-radius: 16px;
            border: 1px solid #e5e7eb;
            transition: all 0.3s ease;
        }

        .problem-card:hover {
            transform: translateY(-4px);
            border-color: #0047AB;
            box-shadow: 0 12px 24px rgba(0, 71, 171, 0.1);
        }
/* Problem Section - Drata style */
        .problem-card-drata {
            background: #f8fafc;
            padding: 36px 32px;
            border-radius: 16px;
            border: none;
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
        }

        .problem-card-drata p {
            flex: 1;
        }

        .problem-card-drata:hover {
            background: #f1f5f9;
        }
/* Animated Icons */
        .icon-animated {
            transition: transform 0.3s ease, background 0.3s ease;
        }

        .feature-card:hover .icon-animated {
            transform: scale(1.1);
            background: rgba(255,255,255,0.25);
        }
.feature-card {
            background: linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 100%);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255,255,255,0.25);
            border-top-color: rgba(255,255,255,0.4);
            border-left-color: rgba(255,255,255,0.3);
            padding: 32px 24px;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 8px 32px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.2);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .feature-card:hover {
            background: linear-gradient(135deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.1) 100%);
            transform: translateY(-6px);
            border-color: rgba(255,255,255,0.45);
            box-shadow: 0 16px 48px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.3);
        }

button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
	border:0px;
}

/* Anular el efecto hover heredado del tema padre */
[type=button]:hover, 
[type=submit]:focus, 
[type=submit]:hover, 
button:focus, 
button:hover {
    /*background-color: transparent !important; /* O el color que quieras por defecto */
    color: inherit !important;
    text-decoration: none !important;
}

/* Esto hace que el hover de WordPress no se aplique si el botón tiene clases de Tailwind */
button:hover, 
button:focus, 
[type="button"]:hover, 
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus{
    background-color: unset;
    color: unset;
}

/* Step-by-step reveal */
        .step-reveal {
            opacity: 0;
            transform: translateY(30px) scale(0.95);
            transition: all 0.9s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .step-reveal.visible {
            opacity: 1;
            transform: translateY(0) scale(1);
        }

        .step-reveal .step-number {
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            transform: scale(0.5);
        }

        .step-reveal.visible .step-number {
            transform: scale(1);
        }

        .step-line-animate {
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
        }

        .step-line-animate.visible {
            transform: scaleX(1);
        }
/* Botones CTA en pagina de funcionalidades*/

.comments-area a, .page-content a, a.cta {
	text-decoration: none;
}

/* Estilos pagina FAQ*/
.faq-hero .hero-bg {
    background: linear-gradient(135deg, #002FA7 0%, #001f7a 50%, #6A5ACD 100%);
}

 .faq-item { transition: all 0.3s ease; }
        .faq-answer { 
            max-height: 0; 
            overflow: hidden; 
            transition: max-height 0.4s ease-out;
            opacity: 0;
        }
        .faq-item.active .faq-answer { 
            max-height: 1000px; 
            opacity: 1;
            transition: max-height 0.4s ease-in, opacity 0.3s ease-in;
        }
        .faq-item.active .faq-icon { transform: rotate(180deg); }
        .faq-icon { transition: transform 0.3s ease; }
        .faq-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 32px;
            height: 32px;
            border-radius: 8px;
            font-weight: 700;
            margin-right: 12px;
            font-size: 14px;
        }
        .faq-tab {
            background: #f3f4f6;
            color: #4b5563;
        }
        .faq-tab:hover {
            background: #e5e7eb;
        }
        .faq-tab.active {
            background: #0047AB;
            color: white;
        }
/*-----------Estilos de Obligacion-------------*/
 .scroll-reveal {
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .scroll-reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .checker-step {
            transition: opacity 0.4s ease, transform 0.4s ease;
        }
        .checker-step.hidden-step {
            opacity: 0;
            transform: translateY(20px);
            position: absolute;
            pointer-events: none;
        }
        .checker-step.active-step {
            opacity: 1;
            transform: translateY(0);
            position: relative;
            pointer-events: auto;
        }

        .option-btn {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .option-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 24px rgba(0, 71, 171, 0.15);
        }