*{
margin: 0px;
padding: 0px;
}

:root {
--red-color: #B90000;
--black-color: #090909;
--white: #FFFFFF;
}

@font-face {
font-family: "font-bold";
src: url(/assets/fonts/Montserrat-Bold.woff2);
}
@font-face {
font-family: "font-xtra";
src: url(/assets/fonts/Montserrat-ExtraBold.woff2);
}
@font-face {
font-family: "font-medium";
src: url(/assets/fonts/Montserrat-Medium.woff2);
}
.font-bold{
font-family: "font-bold"; 
}
.font-xtra{
font-family: "font-xtra";
}
.font-medium{
font-family: "font-medium";
}
body{
font-family: "font-medium";
}
.min-container{
max-width: 500px;
margin: auto;
}
.max-container{
max-width: 720px;
margin: auto;  
}
.main-center{
min-height: calc(100vh - 182px);
display: flex;
align-items: center;
flex-direction: column;
padding: 50px 0px;
}
.header-logo{
background-color: var(--red-color);
text-align: center;
}
.uppercase{
text-transform: uppercase;
}
.p-2x{
font-size: 20px;
line-height: 24px;
}
.form-container{
max-width: 400px;
margin: auto;
}
.input-div {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: stretch;
width: 100%;
flex-direction: column;
margin-bottom: 20px;
}
.input{
padding: 12px 10px;
border: solid 1px #333333;
border-radius: 4px;
font-family: 'font-bold';
color: #000000;
font-size: 20px;
}
.red-button{
background-color: var(--red-color);
color: white;
border: none;
padding: 8px;
border-radius: 6px;
font-size: 22px;
letter-spacing: 1px;
font-family: 'font-bold';
}
.form-check-input:checked {
background-color: var(--red-color);
border-color: var(--red-color);
}
.error{
color: var(--red-color);
font-size: 13px;
margin-top: 2px;
}
/*Xperiences*/
.grid-movies {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
padding: 20px;
}
.movie-card {
background-color: #f5f5f5;
border-radius: 2px;
overflow: hidden;
/* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
text-align: center;
transition: transform 0.2s ease;
}
.movie-card:hover {
transform: scale(1.03);
}
.movie-card img {
width: 100%;
height: auto;
display: block;
border-radius: 2px;
}
.movie-button {
padding: 10px 0px;
background-color: #fff;
}
.movie-button a {
display: inline-block;
padding: 10px 0px;
background-color: var(--red-color);
color: white;
text-decoration: none;
border-radius: 4px;
transition: background-color 0.3s;
width: 90%;
font-family: 'font-bold';
}
.movie-button a:hover {
background-color: var(--red-color);
}
a, a:hover{
color: inherit;
}
.logout-button {
    position: relative;
    overflow: hidden;
    border: solid 2px #7d7d7d;
    border-radius: 50px;
    padding: 5px 20px;
    display: inline-block;
    text-decoration: none;
    color: #000000;
    transition: color 0.4s ease;
    z-index: 1;
}

.logout-button::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: var(--red-color); 
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s ease;
    z-index: -1;
    border-radius: 50px;
}

.logout-button:hover::before {
    transform: scaleX(1);
}

.logout-button:hover {
    color: #fff;
    border-color: var(--red-color);
}
@media only screen and (max-width: 767px) {
    .min-container, .max-container{
    width: 90%;
    }
    .main-center{
    padding: 50px 0px;
    }
}
@media only screen and (max-width: 767px) {
    .form-container{
    max-width: 90%;
    }
}
@media (max-width: 768px) {
    .grid-movies {
    grid-template-columns: repeat(2, 1fr);
    }
    .grid-movies .movie-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: 50%; 
    }
}
@media (max-width: 480px) {
    .grid-movies {
    grid-template-columns: 1fr;
    }
    .grid-movies .movie-card:last-child:nth-child(odd) {
    width: 100%; 
    }
    .input{
    width: 100%;
    font-size: 18px;
    }
}