*{
    box-sizing: border-box;
    margin: 0;
    scroll-behavior: smooth;
}

:root{
    --background: #1A1A1A;
 --red-main: #DD2900;
 --yellow-main: #F0DD4D;
 --green-main: #1DEA96;
 --purple-main: #4D80FF;
}
/* Import Ubuntu font (weights: 300, 400, 500, 700) */
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap');

body {
    font-family: 'Ubuntu', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: var(--background);
}

/* Make all anchor links white by default and ensure accessible focus/hover states */
a,
a:link,
a:visited {
    color: white;
    text-decoration: none;
}

a:hover,
a:active,
a:focus {
    color: #ffffff;
    outline: none;
    outline-offset: none;
    text-decoration: none;
}

h1 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
    margin: 0;
    padding: 0.5rem 1rem;
}
h2 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
    margin: 0;
    padding: 0.5rem 1rem;
}

#hero-section{
    height: 100%;
    background: url('../images/hero-background.png') no-repeat center center/cover;
}

#hero-section .content{
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

/* Hero Logo */
#hero-section .logo{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 56px;
    margin-bottom: 80px;
}

/* Hero Statistics */
#hero-section .statistics{
    color: white;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: 32px;
}

#hero-section .statistics .stat{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

#hero-section .statistics .stat .number{
    font-size: 80px;
    font-weight: 700;
    padding: 0 4px;
}

#hero-section .statistics .stat .divider{
    height: 8px;
    width: 100%;
    background-color: red;
}

#hero-section .statistics .stat .label{
    font-size: 42px;
    text-transform: uppercase;
    font-weight: 500;
}


/* Button */
#hero-section .hero-button{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 64px;
}

#hero-section .hero-button .label{
    color: white;
    font-size: 16px;
    text-align: center;
    margin-bottom: 32px;
    white-space: pre-line;
}

#hero-section .hero-button .button{
    background-color: var(--red-main);
    width: fit-content;
    height: 60px;
    width: 400px;
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    border: none;
    outline: none;

    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    color: white;
    text-decoration: none;
}

/* Movie grid wrapper */
.wrapper-container{
    padding: 40px;
}

.movies-grid{
    margin: 0 auto;
    max-width: 1440px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}

.movie-cover{
    position: relative;
    width: 100%;
    padding-top: 150%; /* 2:3 aspect ratio approximation */
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.movie-cover:hover{
    transform: scale(1.02);
}


/* Remove badge styles (badges removed in markup) */

.movie-cover .overlay{
    position: absolute;
    inset: 0;
}

/* Movie link wrapper should behave like the grid item */
.movie-link{
    display: block;
    width: 100%;
}

/* Play button (SVG as background) - hidden by default, shown on hover */
.movie-cover::after{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    width: 64px;
    height: 64px;
    background-image: url('./images/play-button.png');
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 150ms ease, transform 150ms ease;
    pointer-events: none;
}

.movie-cover:hover::after,
.movie-link:focus .movie-cover::after{
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

#hero-section .hero-button .button:hover{
    scale: 1.02;
    transition: all 0.2s ease-in-out;
}

/* Hero Plans */
#hero-section .hero-plans{
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 80px;
}

#hero-section .hero-plans .plan-title .title{
color: var(--yellow-main);
font-size: 40px;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 16px;
}

#hero-section .hero-plans .plan-title .sub_title{
    text-align: center;
font-size: 32px;
margin-bottom: 16px;
}

/* Hero Plans Cards */
#hero-section .hero-plans .plan-cards{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
    margin-bottom: 150px;
}

#hero-section .hero-plans .plan-cards .plan-card{
    color: black;
    background-color: white;
    border: 2px solid var(--green-main);
    border-radius: 12px;
    height: auto;
    
    padding: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
}



#hero-section .hero-plans .plan-cards .plan-card .plan-button:hover{
    scale: 1.01;
    transition: all 0.2s ease-in-out;
}

/* Small cards */
#hero-section .hero-plans .plan-cards .plan-card.small{
 width: 160px;
 height: 212px;
 white-space: nowrap;


}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-name{
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 20px;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-sub_name{
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 28px;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-price{
    font-size: 11px;
    font-weight: 400;
    margin-bottom: 22px;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-price span{
    font-size: 22px;
    font-weight: 700;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-description{
    font-size: 8px;
    font-weight: 400;
    text-align: center;
    white-space: normal;
    line-height: 150%;
    margin-bottom: 11px;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-button{
        display: flex;
    justify-content: center;
    align-items: center;

  height: 26px;
background-color: var(--green-main);
border-radius: 6px;
font-size: 11px;
width: 100%;
padding: 4px;
font-weight: 700;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-button a{
    display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;

      width: 100%;
      position: relative;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-button a img{
width: 16px;
height: 16px;
position: absolute;
left: 4px;
}

#hero-section .hero-plans .plan-cards .plan-card.small .plan-button a div{
    text-align: center;
width: 100%;
}

/* Medium cards */
#hero-section .hero-plans .plan-cards .plan-card.medium{
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
 width: 270px;
 height: 360px;
 white-space: nowrap;

 padding: 4px 8px;

    border: 3px solid var(--green-main);

}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-name{
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 28px;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-sub_name{
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 28px;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-price{
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 22px;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-price span{
    font-size: 36px;
    font-weight: 700;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-description{
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    white-space: normal;
    line-height: 150%;
    margin-bottom: 11px;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-button{
    display: flex;
    justify-content: center;
    align-items: center;

  height: 46px;
background-color: var(--green-main);
border-radius: 8px;
font-size: 18px;
width: 100%;
padding: 4px;
margin-bottom: 2px;
font-weight: 700;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-button a{
    display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;

      width: 100%;
      position: relative;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-button a img{
width: 24px;
height: 24px;
position: absolute;
left: 4px;
}

#hero-section .hero-plans .plan-cards .plan-card.medium .plan-button a div{
    text-align: center;
width: 100%;
}

/* Large cards */

#hero-section .hero-plans .plan-cards .plan-card.large{
    border: none;
    border-radius: 24px;
    border-color: var(--purple-main);
 
 width: 322px;
 height: 478px;
 white-space: nowrap;
 background-color: var(--purple-main);


}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-content{
width: 100%;
height: 100%;
   display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;

    background-color: white;
    border-radius: 22px;

 padding: 12px 12px;

}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-trial{
    font-size: 22px;
    font-weight: 700;
    color: white;
    padding: 8px 0;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-name{
    font-size: 42px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 72px;
    margin-bottom: 28px;

}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-sub_name{
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 28px;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-price{
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 22px;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-price span{
    font-size: 42px;
    font-weight: 700;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-description{
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    white-space: break-spaces;
    line-height: 150%;
    margin-bottom: 11px;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-button{
    display: flex;
    justify-content: center;
    align-items: center;

  height: 55px;
background-color: var(--purple-main);
border-radius: 6px;
font-size: 22px;
width: 100%;
padding: 4px;
font-weight: 700;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-button a{
    display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;

      width: 100%;
      position: relative;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-button a img{
width: 32px;
height: 32px;
position: absolute;
left: 6px;
}

#hero-section .hero-plans .plan-cards .plan-card.large .plan-button a div{
    text-align: center;
width: 100%;
}

/* Promotion Banner */
.promotion-banner{
    margin: 0 auto;
    padding: 0 0 150px 0;
max-width: 1440px;
}

.promotion-banner div{
 display: flex;
 justify-content: center;
 align-items: center;
}

.description{
    color: white;
    max-width: 800px;
    margin: 20px auto;
    padding: 40px 20px;
    font-size: 16px;
    text-align: center;
    line-height: 1.4;
}



#footer {
    color: white;
    max-width: 800px;
    margin: 20px 50px;
    padding: 40px 20px;
}
