.container-background-psn, .container-background-steam, .container-background-xbox, .container-background-nintendo, .container-background-epic, .container-background-gog {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    right: 0;
    min-height: 24rem;
}

.background-psn {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, rgb(4, 5, 11) 10%, #002039a0 20%, #001b2fa0 30%, #00101cbc 50%, var(--black-main) 100%);
}
.background-xbox {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, rgb(2, 4, 2) 10%, #010e08 20%, #08281c 30%, #010e08 70%, var(--black-main) 100%);
}
.background-nintendo {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, rgb(11, 4, 4) 10%, #27080cd6 20%, #27080cea 30%, #27080c6b 70%, var(--black-main) 100%);
}
.background-steam {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, rgb(4, 5, 11) 10%, #1c1e23 20%, #1f232d 30%, #1c1e23 70%, var(--black-main) 100%);
}
.background-epic {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, rgb(4, 5, 11) 10%, #1d1e20 20%, #1b292c 30%, #1e1f22 70%, var(--black-main) 100%);
}
.background-gog {
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, rgb(8, 4, 11) 10%, #1d0827d6 20%, #200827ea 30%, #2208276b 70%, var(--black-main) 100%);
}

/*------------------ single item page ------------------*/
.card-details {
	display: flex;
	justify-content: space-between;
	gap: 1.8rem;
	max-width: fit-content;
	padding: 1.5rem 0;
	color: var(--white-main);
}

.card-left {
	position: relative;
	display: flex;
	flex-direction: column;
	object-fit: cover;
}

.card-left a {
    display: flex;
    justify-content: center;
}

.card-left img {
	align-self: center;
    width: 288px;
    height: 288px;
	border-radius: 0.6rem;
    transition: .2s;
}
.card-left img:hover {
	filter: brightness(120%);
}

.card-left.steam-cover img{
    width: 360px;
    aspect-ratio: auto 360 / 168;
    height: 168px;
}
.card-left.nintendo-cover img{
    width: 350px;
    aspect-ratio: auto 350 / 196;
    height: 196px;
}
.card-left.epic-cover img{
    width: 240px;
    aspect-ratio: auto 120 / 160;
    height: 320px;
}
.card-left.gog-cover img{
    width: 228px;
    aspect-ratio: auto 342 / 482;
    height: 320px;
}


.psn-cover-shadow {
    box-shadow: 0 0 15px rgba(0, 134, 237, 0.50);
}
.xbox-cover-shadow {
    box-shadow: 0 0 15px #22aa78;
}
.nintendo-cover-shadow {
    box-shadow: 0 0 15px rgba(255, 28, 55, 0.65);
}
.steam-cover-shadow {
    box-shadow: 0 0 15px #9ca8c4;
}
.epic-cover-shadow {
    box-shadow: 0 0 15px #9cbbc4;
}
.gog-cover-shadow {
    box-shadow: 0 0 15px #bc9cc4;
}


/* -------------- Card left - Item Cover ------------- */
.card-right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
    gap: 2rem;
	width: 22.5rem;
}

.card-title-info {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.card-title-info h1 {
	font-size: 1.2rem;
	font-weight: 600;
    text-align: center;
}

.card-info-prices-btns {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 85%;
}

.card-platforms {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
}

.platform-tag,
.card-type  {
	align-items: center;
	padding: 0.2rem 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
    border-radius: .15rem;
}

.platform-tag {
    border: solid 1px var(--gray);
}

.card-info {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-weight: 600;
	font-size: 0.75rem;
}

.card-info-bottom-extra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
	width: 100%;
	gap: 0.5rem;
}

/* ----------------- Card Right - Pices -------------------- */

.table-prices-list {
	display: flex;
	flex-direction: column;
}

.table-prices-list,
.table-prices-list:visited,
.table-prices-list > * {
    color: inherit;
}

.table-prices-store {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	padding: 0.15rem 2rem;
	font-size: 0.8rem;
	background-color: white;
	color: black;
	font-weight: 700;
}

.table-prices-store img:first-of-type{
    width: 1rem;
    height: 1rem;
}

.table-prices-store .go-to-link{
    width: .7rem;
    height: .7rem;
    margin-left: .5rem;
}

.row-single-price {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem;
	text-wrap: nowrap;
	cursor: pointer;
}


.row-single-price:nth-child(even) {
	background-color: rgba(85, 85, 85, 0.4);
    transition: background-color .3s ease, opacity 0.3s ease;
}

.row-single-price:nth-child(odd) {
	background-color: rgba(85, 85, 85, 0.6);
    transition: background-color .3s ease, opacity 0.3s ease;
}

.row-single-price:nth-child(even):hover {
	background-color: #484848;
    filter: brightness(120%);
}

.row-single-price:hover {
    filter: brightness(120%);
}

.row-icon {
	display: flex;
	align-items: center;
	font-size: 0.6rem;
	gap: 0.3rem;
	border-radius: 2px;
	height: fit-content;
	width: 1.5rem;
}

.row-icon img {
	width: 1.2rem;
	height: 1.2rem;
}

.row-icon .gamepass-icon {
	width: 1.5rem;
	height: 1.5rem;
}

.base-price {
	margin: auto;
    font-weight: 600;
}

.original-price {
	color: rgb(158, 158, 158);
	text-wrap: nowrap;
	font-size: 0.85rem;
}

.disc-price {
	font-weight: 600;
}

.row-price {
	display: flex;
	align-items: baseline;
	justify-content: right;
	width: 6rem;
	gap: 0.3rem;
    /* margin-right: 1rem; */
}

.row-txt {
	display: flex;
	align-items: baseline;
	justify-content: left;
    margin-right: 1.5rem;
}

.txt-trial {
	justify-content: center;
	font-weight: 600;
	font-size: 1rem;
}

.disc-perc {
	color: rgb(255, 255, 255);
	font-weight: 600;
	font-size: 0.8rem;
	text-align: center;
    /* margin-right: 1.5rem; */
}

.row-exp {
	display: flex;
	right: 25%;
	width: fit-content;
	text-wrap: nowrap;
	align-items: center;
	text-align: right;
	gap: 0.3rem;
	font-size: 0.7rem;
	font-weight: 600;
	color: white;
	justify-self: right;
}

.row-exp img{
    height: .8rem;
    width: .8rem;
}

.actions-btns {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
}

.actions-btns button {
    display: flex;
    flex-direction: column;
	justify-content: space-between;
	align-items: center;
    gap: .6rem;
    min-width: 5rem;
    padding: 0;
    color: white;
	border: none;
	background-color: transparent;
	cursor: pointer;
    transition: .3s;
}

.actions-btns button img {
    width: 1.8rem;
    height: 1.8rem;
    fill: white;
}

.actions-btns button span {
    font-size: .75rem;
}

.actions-btns button:hover {
	opacity: 50%;
}

.actions-btns span {
	text-align: center;
	font-size: 0.85rem;
}

/* ----------------- Bottom half ------------------- */
.container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	margin: 0 auto;
    padding: 0 1rem;
    min-height: auto;
    width: 100%;
    max-width: 60rem;
	z-index: 1;
}

/* ----------------- Price tracking section ------------------- */
.container-priceChart {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    width: 100%;
}

.priceChart-top {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.container-priceChart h2 {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.3rem;
    font-weight: 500;
    transition: .2s;
    margin-left: .1rem;
}
.container-priceChart h2 img{
    height: 1rem;
    width: 1rem;
}

.container-priceChart p {
    font-size: .85rem;
    color: #e5e5e5;
    width: 100%;
    text-align: left;
    margin-bottom: 1.2rem;
}
.container-priceChart > p{
    font-size: .75rem;
    margin-top: .5rem;
    opacity: .7;
    text-align: right;
}

#priceChart {
    height: 20rem;
    width: 100%;
    border: 1px solid #494949;
    background: #f1f1f1
}
#priceChart svg {
    max-width: 100%;
    height: 100%;
    overflow: visible;
    font: 14px sans-serif;
    background: #202020;
    cursor: crosshair;
    touch-action: none;
}
.chartAxis {
    color: white;
}
.chartAxis text {
    font-size: 15px;
    fill: currentColor;
}
.chartGrid line {
    stroke: #A9A9A9;
    stroke-opacity: 0.2;
}
.priceLine {
    stroke-width: 1;
    stroke-dasharray: 5;
}
.priceLine.chartPonterLine {
    stroke: white;
}
.priceLine.chartMaxPrice {
    stroke: red;
}
.priceLine.chartMinPrice {
    stroke: green;
}
.chartPrice {
    text-anchor: start;
}
.chartPrice.chartMaxPrice {
    fill: red;
}
.chartPrice.chartMinPrice {
    fill: green;
}
.chartPHInfo rect {
    fill: white;
    rx: 0.3rem;
    ry: 0.3rem;
}
.chartPHInfo text#phDate {
    text-anchor: middle;
    font-weight: bold;
}
.chartPHInfo text {
    text-anchor: start;
}
/* ----------------- Related items section --------------------- */
.rel-items {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 1.5rem;
    width: 100%;
}

.rel-items h2 {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.3rem;
    font-weight: 500;
    transition: .2s;
}

.rel-items-top span {
    font-size: .85rem;
    font-weight: 400;
    opacity: .8;
}

.rel-items-top img {
    height: 1rem;
    width: 1rem;
}

.rel-items p {
    font-size: .8rem;
    color: #e5e5e5;
}


.rel-items-cards {
    display: flex;
    flex-wrap: nowrap;
    align-self: center;
    row-gap: 3rem;
    column-gap: 2.1rem;
    height: 100%;
    width: 100%;
    padding-bottom: 1.5rem ;
    overflow: scroll;
    overflow-x: auto;
    overflow-y: hidden;
}

.rel-items-cards::-webkit-scrollbar {
    border-radius: 10px;
	height: 5px;
	background-color: #F5F5F5;
}

.rel-items-cards::-webkit-scrollbar-track {
    border-radius: 10px;
	width: 5px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	background-color: #585858;
}

.rel-items-cards::-webkit-scrollbar-thumb {
	width: 5px;
    border-radius: 10px;
    background-color: #909090;
	border: none;
}

/* ----------------------- Item Info --------------------------- */
.container-item-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	gap: 3.5rem;
	width: 100%;
}

/* ------------------------ Item media ------------------------- */
.container-media {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: auto;
    max-width: 35rem;
}

.container-full-img {
    position: relative;
    height: fit-content;
    cursor: pointer;
    aspect-ratio: 1440 / 811;
}

#full-size-img {
    width: 100%;
    height: auto;
    aspect-ratio: 1440 / 811;
    border-radius: .3rem;
}

.full-img-arr-left , .full-img-arr-right {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    height: 100%;
    width: 2.5rem;
    background-color: transparent;
    border: none;
    border-radius: .3rem 0 0 .3rem;
	background-color: rgba(0, 0, 0, 0.3);
    cursor: pointer;
    opacity: 1;
    transition: background-color .2s ease, opacity 0.2s ease;
}

.full-img-arr-right{
    right: 0;
    border-radius: 0 .3rem .3rem 0;
}

.full-img-arr-left:hover ,
.full-img-arr-right:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.full-img-arr-left img, .full-img-arr-right img {
    width: 2rem;
    height: 2rem;
}

/* ----------------------- Media slider ------------------------ */
.wrapper-slider-media {
	position: relative;
	display: flex;
    width: 100%;
    margin: auto;
    overflow: hidden;
}

.slider-media {
    display: flex;
	white-space: nowrap;
	overflow: hidden;
	scroll-behavior: smooth;
    border-radius: .1rem;
    gap:.5rem;
}

.slider-img {
	height: 45px;
	width: 80px;
	border-radius: .3rem;
	object-fit: cover;
	cursor: pointer;
	z-index: 1;
}

.slider-img:hover {
    filter: brightness(150%);
}

#arr-left , #arr-right {
    position: absolute;
	top: 0;
	width: 2.1rem;
	height: 100%;
    background: linear-gradient(90deg, rgba(0,0,0,1) 30%, rgba(0,0,0,0.5) 90%, rgba(0,0,0,0.5) 100%);
    border: none;
	cursor: pointer;
    opacity: 1;
    transition: background-color .3s ease, opacity 0.3s ease;
    z-index: 2;
}

#arr-left {
    border-top-left-radius: .1rem;
    border-bottom-left-radius: .1rem;
}

#arr-right {
	right: 0;
    border-top-right-radius: .1rem;
    border-bottom-right-radius: .1rem;
    background: linear-gradient(275deg, rgba(0,0,0,1) 30%, rgba(0,0,0,0.5) 90%, rgba(0,0,0,0.5) 100%);
}

#arr-left.hidden , #arr-right.hidden {
    opacity: 0;
    z-index: -1;
}

#arr-left img , #arr-right img {
    align-self: center;
    width: 1.5rem;
}

#arr-left:hover,
#arr-right:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

#arr-left:active ,
#arr-right:active {
    box-shadow: inset 0px 0px 20px 10px rgb(54, 54, 54);
}

/* --------------------- Modal media ----------------------- */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.98);
    justify-content: center;
    align-items: center;
    z-index: 3;
}

.show-modal{
    display: flex;
}

.modal-full-img {
    display: flex;
    align-items: center;
    justify-content: center;
}

.container-modal {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    gap: 1.5rem;
    width: 100%;
    height: 100%;
    margin: 0 1rem;
}

.container-modal > img {
    width: 750px;
    border-radius: .3rem;
}

#modal-close-btn {
    position: absolute;
    align-self: baseline;
    top: .5rem;
    left: .5rem;
    height: 2rem;
    width: 2rem;
    color: white;
    border: none;
    border-radius: 1rem;
    background-color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
    opacity: 1;
    transition: background-color .2s ease, opacity 0.2s ease;
    z-index: 2;
}

#modal-close-btn:hover {
    opacity: .3;
}

#modal-close-btn img{
    height: 100%;
    width: 100%;
}

.modal-btn-left, .modal-btn-right {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    background-color: transparent;
    border: none;
}

.modal-btn-right {
    left: auto;
    right: 0;
}

.modal-btn-left img, .modal-btn-right img {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: 1.8rem;
    padding: .5rem .2rem;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 1;
    transition: background-color .2s ease, opacity 0.2s ease;
    cursor: pointer;
    z-index: 2;
}
.modal-btn-left img {
    left:0;
}

.modal-btn-right img {
    right: 0;
}

.modal-btn-left img:hover,
.modal-btn-right img:hover {
	background-color: rgba(0, 0, 0, 0.8);
}

.slider.dragging {
    cursor: grab;
    scroll-behavior: auto;
}


/* ------------------- extra info ------------------- */
.item-extra , .item-description {
    margin: auto;
    width: 100%;
}

.item-extra {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    width: fit-content;
}

.info-esrb {
    display: flex;
    justify-content: space-between;
    align-items:center ;
    gap: 3rem;
    height: fit-content;
    width: fit-content;
}

.container-info-block {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: .6rem;
    width: 100%;
    height: 100%;
}

.info-block {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    height: 100%;
}

.info-block img {
    width: 1.1rem;
    height: 1.1rem;
    opacity: .8;
}

.info-block-txt {
    display: flex;
    flex-direction: row;
    justify-content: left;
	white-space: nowrap;
    gap: .45rem;
    width: 100%;
    text-align: center;
    font-size: .85rem;
}

.info-block-txt span:first-child{
    font-weight: 700;
}

.info-block-txt span:last-child{
    font-weight: 400;
    justify-self: right;
}

.esrb-icon {
    height: 3.8rem;
    width: 2.5rem;
}

.info-nintendo-playmodes {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    width: 100%;
    padding: 0rem 0 .3rem 0;
    border-radius: .3rem;
    border: 1px solid #303030;

}

.info-nintendo-playmodes > span {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: .2rem;
    background-color: #303030;
    font-size: .85rem;
    font-weight: 600;
    border-top-right-radius: .3rem;
    border-top-left-radius: .3rem;
}

.info-nintendo-playmodes-row {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
}

.block-nintendo-playmodes {
    display: flex;
    flex-direction: column;
    align-self: baseline;
    align-items: center;
    gap: .2rem;
    padding: .5rem 1rem;
    width: 6rem;
    text-align: center;
    font-size: .85rem;
    opacity: .8;
    border-radius: .3rem;

}

.block-nintendo-playmodes img {
    width: 2.4rem;
}


/* -------------------- */

.item-description {
	display: flex;
	flex-direction: column;
	gap: .5rem;
    max-width: 45rem;
    padding: 1rem;
    border-radius: .3rem;
    background-color: #303030;
}

.item-desc {
	font-size: 0.85rem;
	text-align: justify;
}

.item-desc span {
	font-weight: 600;
}

/* ---------------media queries------------------ */

@media only screen and (max-width: 900px) {

	.container {
		padding: 0 1rem;
	}

    .card-left img {
        max-width: 100%;
    }

	.card-details {
		display: flex;
		flex-direction: column;
		justify-content: space-around;
        align-items: center;
		gap: 1.5rem;
        padding: 3rem 0 2rem 0;
	}

	.card-right {
        margin: auto;
	}

	.card-title-info h1 {
		font-size: 1.5rem;
        text-align: center;
	}

    .row-single-price {
        padding: .9rem .5rem;
    }

    .row-price {
        font-size: 1rem;
    }

    .base-price{
        font-size: 1rem;
    }

    .row-exp {
        font-size: .8rem;
    }

    .actions-btns button  {
        gap: .9rem;
    }

    .actions-btns button img {
        width: 1.8rem;
        height: 1.8rem;
    }
    .actions-btns button span {
        font-size: .8rem;
    }

    .actions-btns button:hover {
	    opacity: 1;
    }

    /* ---- media section ---- */
    .container-media {
        width: 100%;
    }
    .media-wrapper {
        width: 100%;
    }

    .full-img-container {
        width: 100%;
    }

    .container-modal{
        gap: 3rem;
        width: fit-content;
        margin-top: 1.5rem;
    }

    .container-modal > img {
        width: 100%;
    }

    #modal-close-btn {
        height: 1.8rem;
        width: 1.8rem;
    }

/* ----- extra info ----- */
    .esrb-icon {
	    height: 4.5rem;
	    height: 3rem;
    }

    .info-block-container {
        gap: 1.2rem;
    }
	.item-info {
		display: flex;
		flex-direction: column-reverse;
	}

    .container-info-block {
        flex-direction: column;
        gap: .6rem;
    }

    .info-block img {
        width: 1rem;
        height: 1rem;
    }

    .info-block {
        flex-direction: row;
        gap: .6rem;
    }

    .info-block-txt {
        flex-direction: row;
        justify-content: left;
        gap: .45rem;
        font-size: .8rem;
    }

    .info-block-txt span:first-child {
        opacity: 1;
        font-weight: 700;
    }

    .info-block-txt span:last-child {
        font-weight: 400;
        justify-self: right;
    }
}

@media only screen and (max-width: 650px) {
    .container-media {
        margin-top: 1.5rem;
    }
    .container-priceChart > p{
        text-align: left;
        font-size: .75rem;
    }
}

/* --------- mobile landscape -------- */
@media only screen and (max-width: 950px) and (max-height: 450px) and (orientation:landscape) {

    .container-modal > img {
        width: 550px;
    }

    .container-modal {
        width: 550px;
        gap: 1rem;
        margin: 0;
    }

}

@media only screen and (max-width: 450px) {
    .card-right {
        width: 340px;
    }

    .info-esrb {
        width: 100%;
        flex-wrap: wrap;
        gap: 2.4rem;
        justify-content: left;
    }

    .card-left.nintendo-cover img{
        width: 340px;
        aspect-ratio: auto 340 / 186;
        height: 186px;
    }

    .card-left.steam-cover img{
        width: 340px;
        aspect-ratio: auto 360 / 158;
        height: 158px;
    }

}