*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* BODY */
body{
    background:#f4f7fb;
    font-family:Arial;
}
/* MENU */
.menu{

    width:100%;

    background:#0a2540;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 40px;

    position:sticky;

    top:0;

    z-index:999;

}

/* LOGO */
.logo-menu{

    color:white;

    font-size:28px;

    font-weight:bold;

}

/* LINKS */
.menu-links{

    display:flex;

    align-items:center;

    gap:15px;

}

/* LINKS NORMALES */
.menu-links a{

    color:white;

    text-decoration:none;

    padding:10px 16px;

    border-radius:10px;

    transition:0.3s;

}

/* HOVER */
.menu-links a:hover{

    background:#1abc9c;

}

/* LOGIN */
.btn-login{

    border:2px solid #1abc9c;

}

/* REGISTRO */
.btn-register{

    background:#1abc9c;

    font-weight:bold;

}

.btn-register:hover{

    background:#16a085 !important;

}

/* RESPONSIVE */
@media(max-width:768px){

    .menu{

        flex-direction:column;

        gap:15px;

        padding:15px;

    }

    .menu-links{

        flex-wrap:wrap;

        justify-content:center;

    }

}

/* BANNER */
.banner{

    width:100%;
    height:350px;

    background:black;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:20px 40px;

    overflow:hidden;

    position:relative;

}
.img-right{

    width:180px;

    object-fit:contain;

    z-index:2;

    animation:float 4s ease-in-out infinite;

    filter:drop-shadow(0px 0px 15px rgba(255,255,255,0.12));

}

/* EFECTO BRILLO */
.banner::before{

    content:"";

    position:absolute;

    width:200%;
    height:100%;

    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.12),
        transparent
    );

    animation:shine 5s linear infinite;
}

/* LOGO IZQUIERDA */
.logo{

    width:70%;
    max-width:900px;

    object-fit:contain;

    z-index:2;

    animation:logoAnim 2s ease;

    filter:drop-shadow(0px 0px 20px rgba(255,255,255,0.2));

}

/* IMAGEN DERECHA */
.banner-img{

    width:280px;

    z-index:2;

    animation:imgFloat 3s ease-in-out infinite;

    filter:drop-shadow(0px 0px 20px rgba(255,255,255,0.15));

}

/* ANIMACION LOGO */
@keyframes logoAnim{

    0%{
        transform:translateX(-80px);
        opacity:0;
    }

    100%{
        transform:translateX(0);
        opacity:1;
    }

}

/* IMAGEN FLOTANTE */
@keyframes imgFloat{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-10px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* EFECTO BRILLO */
@keyframes shine{

    0%{
        transform:translateX(-100%);
    }

    100%{
        transform:translateX(100%);
    }

}

/* RESPONSIVE */
@media(max-width:768px){

    .banner{
        flex-direction:column;
        height:auto;
        padding:20px;
    }

    .logo{
        width:95%;
        margin-bottom:20px;
    }

    .banner-img{
        width:180px;
    }

}


/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* BODY */
body{
    background:#f4f7fb;
    font-family:Arial;
}

/* BANNER */
.banner{

    width:100%;
    height:350px;

    background:black;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;

    position:relative;

}

/* EFECTO BRILLO */
.banner::before{

    content:"";

    position:absolute;

    width:200%;
    height:100%;

    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.15),
        transparent
    );

    animation:shine 4s linear infinite;
}
.logo{

    width:90%;
    max-width:1200px;

    object-fit:contain;

    z-index:2;

    animation:logoAnim 2s ease;

    filter:drop-shadow(0px 0px 20px rgba(255,255,255,0.2));

}
@keyframes logoAnim{

    0%{
        transform:scale(0.7);
        opacity:0;
    }

    50%{
        transform:scale(1.05);
        opacity:1;
    }

    100%{
        transform:scale(1);
        opacity:1;
    }

}
@keyframes shine{

    0%{
        transform:translateX(-100%);
    }

    100%{
        transform:translateX(100%);
    }

}
@media(max-width:768px){

    .banner{
        height:250px;
    }

    .logo{
        width:95%;
    }

}

body{
    margin:0;
    font-family: 'Segoe UI';
    background:#eef3f8;
     background:#f4f7fb;
    font-family:Arial;
}
/* FONDO */
#loader{
    position:fixed;
    width:100%;
    height:100%;
    background:#0a2540; /* azul marino */
    top:0;
    left:0;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    z-index:9999;
}
.titulo-logo{
    width:220px;
    margin-top:20px;
    animation:fadeIn 2s ease;
}

/* LOGO TEXTO */
.loader-logo{
    font-size:28px;
    color:#1abc9c;
    letter-spacing:3px;
    animation:fadeLogo 1.5s ease infinite;
}

/* BARRA */
.loader-bar{
    width:220px;
    height:4px;
    background:#ffffff33;
    border-radius:10px;
    overflow:hidden;
    margin-top:20px;
}
.logo{
    width:280px;
    border-radius:20px;
    display:block;
    object-fit:cover;
}

.loader-progress{
    width:0%;
    height:100%;
    background:#1abc9c;
    animation:loadBar 2s ease forwards;
}

/* ANIMACIONES */
@keyframes loadBar{
    0%{width:0%;}
    100%{width:100%;}
}

@keyframes fadeLogo{
    0%{opacity:0.3;}
    50%{opacity:1;}
    100%{opacity:0.3;}
}

/* BARRA */
.loader-bar{
    width:200px;
    height:6px;
    background:#eee;
    border-radius:10px;
    overflow:hidden;
    margin-top:10px;
}

.loader-progress{
    width:0%;
    height:100%;
    background:linear-gradient(45deg,#1abc9c,#0a2540);
    animation:load 2s ease forwards;
}

/* ANIMACIÓN */
@keyframes load{
    from{width:0%;}
    to{width:100%;}
}
/* CONTENEDOR */
.section{
    margin:20px;
}
/* LOADER PANTALLA COMPLETA */
#loader{
    position:fixed;
    width:100%;
    height:100%;
    background:white;
    top:0;
    left:0;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    z-index:9999;
}

/* BARRA */
.loader-bar{
    width:200px;
    height:6px;
    background:#eee;
    border-radius:10px;
    overflow:hidden;
    margin-top:10px;
}

.loader-progress{
    width:0%;
    height:100%;
    background:linear-gradient(45deg,#1abc9c,#0a2540);
    animation:load 2s ease forwards;
}

/* ANIMACIÓN */
@keyframes load{
    from{width:0%;}
    to{width:100%;}
}

.section h2{
    color:#0a2540;
    margin-bottom:10px;
}

/* FILA TIPO NETFLIX */
.row{
    display:flex;
    overflow-x:auto;
    gap:15px;
    scroll-behavior:smooth;
    padding-bottom:10px;
}

.row::-webkit-scrollbar{
    display:none;
}

/* TARJETAS */
.card-netflix{
    min-width:220px;
    background:white;
    border-radius:12px;
    overflow:hidden;
    transition:0.3s;
    cursor:pointer;
}

.card-netflix img{
    width:100%;
    height:140px;
    object-fit:cover;
}

/* EFECTO HOVER */
.card-netflix:hover{
    transform:scale(1.1);
    z-index:10;
}

/* TEXTO */
.card-body{
    padding:10px;
}

.card-body h4{
    font-size:14px;
    margin:0;
}

.card-body p{
    font-size:12px;
    color:#555;
}

/* HEADER */
header{
    background:#0a2540;
    color:white;
    padding:15px;
    text-align:center;
    font-size:20px;
}
/* CONTENEDOR APP */
.app-form{
    max-width:500px;
    margin:auto;
    background:#fff;
    padding:20px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.1);
}
.progress-bar{
    width:100%;
    height:5px;
    background:#eee;
    margin-top:5px;
    border-radius:5px;
    overflow:hidden;
}

.progress{
    width:0%;
    height:100%;
    background:#1abc9c;
}

/* CAMPOS */
.input-group{
    position:relative;
    margin-bottom:20px;
}

.input-group input,
.input-group textarea{
    width:100%;
    padding:12px;
    border:none;
    border-bottom:2px solid #ccc;
    outline:none;
    font-size:14px;
    background:transparent;
}

.input-group label{
    position:absolute;
    top:12px;
    left:0;
    color:#999;
    font-size:14px;
    transition:0.3s;
}

/* EFECTO FLOAT */
.input-group input:focus + label,
.input-group input:valid + label,
.input-group textarea:focus + label,
.input-group textarea:valid + label{
    top:-10px;
    font-size:12px;
    color:#1abc9c;
}

/* BOTÓN */
.btn-app{
    width:100%;
    padding:12px;
    background:linear-gradient(45deg,#1abc9c,#0a2540);
    color:white;
    border:none;
    border-radius:10px;
    font-size:16px;
    cursor:pointer;
    transition:0.3s;
}

.btn-app:hover{
    transform:scale(1.05);
}

/* HEADER */
.app-header{
    text-align:center;
    margin-bottom:20px;
}

.app-header h2{
    color:#0a2540;
}

/* MENU */
nav{
    display:flex;
    justify-content:space-around;
    background:#1abc9c;
    padding:10px;
}

nav a{
    color:white;
    text-decoration:none;
    font-weight:bold;
}

/* CARDS */
.card{
    background:white;
    margin:15px;
    padding:15px;
    border-radius:15px;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

/* BOTONES */
button{
    width:100%;
    padding:12px;
    background:#1abc9c;
    color:white;
    border:none;
    border-radius:10px;
    margin-top:10px;
}

button:hover{
    background:#0a2540;
}

/* INPUTS */
input, textarea, select{
    width:100%;
    padding:10px;
    border-radius:10px;
    border:1px solid #ccc;
    margin-top:5px;
}
.slider{
    display:flex;
    overflow-x:auto;
    gap:15px;
    padding:10px;
    scroll-snap-type:x mandatory;
}
.estado-activo{
    color:green;
    font-weight:bold;
}

.estado-inactivo{
    color:red;
    font-weight:bold;
}

.slider::-webkit-scrollbar{
    display:none;
}

.slide{
    min-width:250px;
    background:white;
    border-radius:15px;
    padding:15px;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
    scroll-snap-align:start;
}

.slide img{
    width:100%;
    border-radius:10px;
}
/* ANIMACIÓN GENERAL */
.fade-in{
    opacity:0;
    transform:translateY(20px);
    animation:fadeIn 0.8s forwards;
}

@keyframes fadeIn{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* HOVER CARDS */
.card, .slide{
    transition:all 0.3s ease;
}

.card:hover, .slide:hover{
    transform:scale(1.03);
    box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

/* BOTONES */
button{
    transition:all 0.3s ease;
}

button:hover{
    transform:scale(1.05);
}

/* CLICK EFECTO */
button:active{
    transform:scale(0.95);
}

/* SLIDER SUAVE */
.slider{
    scroll-behavior:smooth;
}

/* ANIMACIÓN ESCALA */
.zoom{
    animation:zoomIn 0.5s ease;
}

@keyframes zoomIn{
    from{transform:scale(0.8);}
    to{transform:scale(1);}
}
.card img{
    width:100%;
    max-height:250px;
    object-fit:cover;
    border-radius:10px;
}