/* Banner Info Components Styles */

.banner-info-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10;
    pointer-events: none;
}


.logo-home-container {
    width: 28vw;
    height: 14vh;
    display: flex;
    align-items: center;
    justify-content: start;
    margin-bottom: 2vw;
}

.logo-home-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.logo-container {
    width: 22vw;
    display: flex;
    align-items: flex-end;
    justify-content: start;
    margin-bottom: 2vw;
}

.logo-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.banner-content {
    position: absolute;
    bottom: 15vh;
    left: 5vw;
    right: 5vw;
    max-width: 50vw;
    pointer-events: auto;
}

.banner-content-home {
    display: flex;
    flex-direction: column;
    max-width: 60vw;
    align-items: flex-start;
    justify-content: flex-start;
    padding-left: 8vw;
    padding-top: 18vh;
    text-align: left;
    position: relative;
    z-index: 1;
}

.banner-content-home h2 {
    font-size: 4.5vh !important;
    margin-bottom: 2vh !important;
}

.button-banner-home {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6vh;
   
    padding: 0 1vw;
    text-align: left;
}

.button-banner-home .iconInfo {
  display: inline-block;
  flex-shrink: 0;
  width: 3vh;
  height: 3vh;
  border: none;
  cursor: pointer;
  margin-right: 1vh;
  background-color: var(--color-font-primary);
  -webkit-mask: url('../../assets/images/icoInfo.svg') no-repeat center / contain;
  mask: url('../../assets/images/icoInfo.svg') no-repeat center / contain;
}

.button-banner-home-text{
    font-size: 2vh !important;
    font-weight: 600;
}

.banner-title {
    font-size: 4vh;
    font-weight: 800;
    color: var(--color-font-primary);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    line-height: 1.2;
}

.sinopse-logo-container {
    width: 45vw;
    height: 20vh;
    display: flex;
    align-items: flex-end;
    justify-content: start;
    margin-bottom: 2vw;
}

.sinopse-logo-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.banner-description {
    font-size: var(--font-description) !important;
    font-weight: 500;
    color: var(--color-font-primary);
    margin-bottom: 3vh;
    max-width: 43vw !important;
    text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.8);
    line-height: 1.4 !important;
    opacity: 0.8 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-wrap: break-word !important;
}

.banner-description-home {
    font-size: var(--font-description) !important;
    font-weight: 500;
    color: var(--color-font-primary);
    margin-bottom: 2vh;
    max-width: 43vw !important;
    text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.8);
    line-height: 1.5 !important;
    opacity: 0.8 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    line-clamp: 4 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-wrap: break-word !important;
    max-height: calc(1.4em * 5) !important;
    /*para garantir aplicação imediata*/
}

/* Regra específica para banner da home para garantir aplicação imediata */
.banner-content-home .banner-description {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: calc(1.4em * 3) !important;
}

.banner-metadata {
    display: flex;
    align-items: center;
}

#banner-container .banner-metadata {
    display: flex;
    align-items: center;
    margin-bottom: 2vh;
}

#banner-container .banner-metadata-item {
    color: white;
    font-size: var(--font-metadata);
    font-weight: 800;
    text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.8);
    margin-right: 1vw;
}

/* Classificações indicativas etárias - Padrão brasileiro */
#banner-container .age-rating-livre {
    background-color: #3BB54A !important;
    color: #ffffff !important;
    padding: 0.8vh 1.5vh;
    font-weight: 800;
    font-size: 2vh;
    text-shadow: none;
    backdrop-filter: none;
    padding: 0.7vh 0.7vw !important;
}

#banner-container .age-rating-10 {
    background-color: #3C9CD7 !important;
    color: #ffffff !important;
    padding: 0.8vh 1.5vh;
    font-weight: 800;
    font-size: 2vh;
    text-shadow: none;
    backdrop-filter: none;
}

#banner-container .age-rating-12 {
    background-color: #F7D038 !important;
    color: #ffffff !important;
    padding: 0.8vh 1.5vh;
    font-weight: 800;
    font-size: 2vh;
    text-shadow: none;
    backdrop-filter: none;
}

#banner-container .age-rating-14 {
    background-color: #F78F1E !important;
    color: #ffffff !important;
    padding: 0.8vh 1.5vh;
    font-weight: 800;
    font-size: 2vh;
    text-shadow: none;
    backdrop-filter: none;
}

#banner-container .age-rating-16 {
    background-color: #E51C23 !important;
    color: #ffffff !important;
    padding: 0.8vh 1.5vh;
    font-weight: 800;
    font-size: 2vh;
    text-shadow: none;
    backdrop-filter: none;
}

#banner-container .age-rating-18 {
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 0.8vh 1.5vh;
    border: solid 2px white;
    font-weight: 800;
    font-size: 2vh;
    text-shadow: none;
    backdrop-filter: none;
}

.banner-metadata span {
    font-size: var(--font-metadata);
    font-weight: 500;
    color: var(--color-font-primary);
    text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.8);
}

.duration {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.5vh 1vh;
    border-radius: 0.5vh;
    backdrop-filter: blur(10px);
}

.classification {
    background: linear-gradient(var(--color-app-secondary), var(--color-app-primary));
    padding: 0.5vh 1vh;
    border-radius: 0.5vh;
    color: var(--color-font-secondary);
    font-weight: 800;
}

.bg-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 80vw 80vh;

    z-index: -2;
    background-color: black;
}

.high-res-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: black;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 80vw 80vh;
    z-index: -1;
}

.high-res-layer.visible {
    opacity: 1;
    transition: opacity 0.15s ease-out;
}

.more-info-home-btn {
    background: rgb(55, 55, 55, 0.8);
    text-transform: none !important;
    font-size: 2vh !important;
    font-weight: 800;
    border-radius: var(--more-info-home-btn-radius) !important;
}

.more-info-home-btn.focused,
.more-info-home-btn:hover,
.more-info-home-btn:focus {
    background: linear-gradient(90deg, var(--color-app-primary), var(--color-app-secondary));
    color: var(--color-font-selected) !important;
    border: transparent !important;
    box-shadow: none !important;
    transform: scale(1.05); 
    transition: transform 0.2s ease !important;
}

@media (max-width: 1000px) {

    .banner-content-home h2 {
        font-size: 4vh !important;
        margin-bottom: 3vh !important;
    }

    .sinopse-metadata {
        margin-bottom: 3vh !important;
    }

    .sinopse-metadata-item {
        padding: 0 1vw !important;
        font-size: 2.2vh !important;
    }


}