/* ===== GENERALS ===== */

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: "Roboto", sans-serif;
}

html {
	scroll-behavior: smooth;
}

::-webkit-scrollbar {
	width: 1rem;
}

::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px grey;
}

::-webkit-scrollbar-thumb {
	background: #2b4d96;
}
::-webkit-scrollbar-thumb:hover {
	background: #1c3c81c5;
}

body {
	position: relative;
	background: url("../img/bg-body.png") center top no-repeat #1b2838;
}

img {
	vertical-align: top;
}

a {
	display: inline-block;
	text-decoration: none;
}

.container {
	width: 100%;
	max-width: 1150px;
	margin: auto;
	padding: 0 25px;
}

/* ===== HEADER ===== */

header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	background: #171a21cc;
	box-shadow: 0 3px 7px 3px #171a2190;
	backdrop-filter: blur(5px);
	z-index: 10;
}

header .container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.hades-logo {
	height: 70px;
}

.logo {
	display: none;
}

.header-links {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
}

header a {
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	transition: 0.2s;
}

header a:hover {
	color: #338df9;
}

#cart {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	position: relative;
	width: 35px;
	height: 35px;
	background: url("data:image/svg+xml,%3Csvg id='SvgjsSvg1001' width='288' height='288' xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.com/svgjs'%3E%3Cdefs id='SvgjsDefs1002'%3E%3C/defs%3E%3Cg id='SvgjsG1008' transform='matrix(1,0,0,1,0,0)'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='288' height='288' enable-background='new 0 0 64 64' viewBox='0 0 64 64'%3E%3Cpath d='M23.734,28.125c1.104,0,2-0.896,2-2v-7.8c0-3.487,2.837-6.325,6.324-6.325c3.487,0,6.325,2.838,6.325,6.325v7.8 c0,1.104,0.895,2,2,2c1.104,0,2-0.896,2-2v-7.8C42.384,12.632,37.752,8,32.058,8c-5.692,0-10.324,4.632-10.324,10.325v7.8 C21.734,27.229,22.63,28.125,23.734,28.125z' fill='%23ffffff' class='color000 svgShape'%3E%3C/path%3E%3Cpath d='M55,23.631H44.384v2.494c0,2.206-1.794,4-4,4s-4-1.794-4-4v-2.494h-8.649v2.494c0,2.206-1.794,4-4,4s-4-1.794-4-4v-2.494H9 c-0.552,0-0.893,0.435-0.762,0.971l6.998,28.497C15.658,54.701,17.344,56,19,56h26c1.658,0,3.342-1.299,3.766-2.901l6.996-28.497 C55.893,24.065,55.553,23.631,55,23.631z' fill='%23ffffff' class='color000 svgShape'%3E%3C/path%3E%3C/svg%3E%3C/g%3E%3C/svg%3E")
		no-repeat center center / contain;
	background-size: 30px;
	cursor: pointer;
}

#total-cart {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 17px;
	height: 17px;
	background: #ff3403;
	border-radius: 50px;
	font-size: 14px;
	color: #fff;
}

.mini-cart {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	padding-top: 70px;
	z-index: 10;
}

.mini-cart.active {
	display: block;
}

.mini-cart .container {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	height: 100vh;
}

.mini-cart-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: auto;
	height: auto;
	min-width: 350px;
	min-height: 250px;
	padding: 15px 15px 20px;
	background: #fff;
	box-shadow: 0 0 10px #66c0f4;
}

.header-minicart {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.mini-cart-title {
	margin-top: 10px;
}

.close-cart {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 25px;
	background: #171a21;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	pointer-events: all;
	cursor: pointer;
}

.empty-cart {
	display: flex;
	justify-content: center;
	position: relative;
	top: 20px;
	height: 100%;
}

.empty-cart p {
	font-size: 21px;
	font-weight: 600;
}

.prod-cart {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"img game"
		"img price";
	padding-right: 30px;
	position: relative;
}

.cart-game-img {
	grid-area: img;
	height: 70px;
	margin-right: 15px;
}

.cart-game-name {
	grid-area: game;
	max-width: 200px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 18px;
	color: #171a21;
	font-weight: 500;
}

.cart-game-price {
	grid-area: price;
}

.delete-item {
	position: absolute;
	top: 0;
	right: 0;
	width: 25px;
	height: 25px;
	margin: 0;
	background: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23101820;%7D%3C/style%3E%3C/defs%3E%3Ctitle/%3E%3Cg data-name='Layer 17' id='Layer_17'%3E%3Cpath class='cls-1' d='M24,31H8a3,3,0,0,1-3-3V9A1,1,0,0,1,7,9V28a1,1,0,0,0,1,1H24a1,1,0,0,0,1-1V9a1,1,0,0,1,2,0V28A3,3,0,0,1,24,31Z'/%3E%3Cpath class='cls-1' d='M28,7H4A1,1,0,0,1,4,5H28a1,1,0,0,1,0,2Z'/%3E%3Cpath class='cls-1' d='M20,7a1,1,0,0,1-1-1V3H13V6a1,1,0,0,1-2,0V2a1,1,0,0,1,1-1h8a1,1,0,0,1,1,1V6A1,1,0,0,1,20,7Z'/%3E%3Cpath class='cls-1' d='M16,26a1,1,0,0,1-1-1V11a1,1,0,0,1,2,0V25A1,1,0,0,1,16,26Z'/%3E%3Cpath class='cls-1' d='M21,24a1,1,0,0,1-1-1V13a1,1,0,0,1,2,0V23A1,1,0,0,1,21,24Z'/%3E%3Cpath class='cls-1' d='M11,24a1,1,0,0,1-1-1V13a1,1,0,0,1,2,0V23A1,1,0,0,1,11,24Z'/%3E%3C/g%3E%3C/svg%3E")
		no-repeat center center / contain;
	background-size: 20px;
	cursor: pointer;
}

.clear-cart {
	width: 200px;
	margin: auto;
	padding: 5px 0;
	background: #e74c3c;
	font-size: 20px;
	color: #fff;
	text-align: center;
	cursor: pointer;
}

.clear-cart:hover {
	background-color: #df2c18;
}

/* ===== HOME ===== */

.big-banner {
	height: calc(100vh - 70px);
	margin-top: 70px;
	background: url(../img/bg-main.jpeg) no-repeat top center / cover;
	object-fit: cover;
}

.big-banner-bg {
	height: 100%;
	background: #00000090;
	box-shadow: inset 0 -4px 7px #00000080;
}

.big-banner .container {
	display: flex;
	justify-content: flex-end;
	height: 100%;
}

.banner-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.txt-x {
	font-size: 50px;
	color: #fff;
	text-shadow: 4px 4px 1px #000;
}

.txt-sm {
	font-size: 30px;
	color: #fff;
}

.boton-links {
	margin-top: 25px;
}

.link-dest {
	width: 140px;
	margin-right: 15px;
	padding: 8px 0;
	background: #ff3403;
	border: 2px solid #ff3403;
	border-radius: 1px;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	letter-spacing: 2px;
	text-align: center;
	transition: 0.2s;
}

.link-dest:hover {
	background: transparent;
}

.link-ofert {
	width: 140px;
	padding: 8px 0;
	background: transparent;
	border: 2px solid #ff3403;
	border-radius: 1px;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	letter-spacing: 2px;
	text-align: center;
	transition: 0.2s;
}

.link-ofert:hover {
	background: #ff3403;
}

/* ----- BUTTONS PLATFORMS ----- */

.plataforms {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 20px;
	padding: 50px 0;
}

.button {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 15px;
	width: 100%;
	padding: 10px 0;
	border: 1px solid #00000000;
	border-radius: 1px;
	text-align: center;
	cursor: pointer;
	transition: 0.2s;
}

.button:hover {
	box-shadow: 0 0 10px #66c0f4;
	border-color: #bdc3c7;
}

.button p {
	font-size: 18px;
	color: #fff;
}

.button svg {
	width: 30px;
	height: 25px;
}

/* ===== PC ===== */

.pc-button {
	background: #171a21;
	border-color: #171a21;
}

/* ===== NINTENDO ===== */

.nintendo-button {
	background: #fe0016;
	border-color: #fe0016;
}

/* ===== PS4 ===== */

.ps4-button {
	background: #003087;
	border-color: #003087;
	color: #fff;
}

.ps4-button svg {
	width: 35px;
	height: 30px;
}

/* ===== XBOX ===== */

.xbox-button {
	background: #107c10;
	border-color: #107c10;
}

/* ===== ALL PLATFORMS ===== */

.all-plataforms {
	display: flex;
	justify-content: center;
}

.all-button {
	max-width: 300px;
	margin-bottom: 50px;
	background: #8e44ad;
	border-color: #8e44ad;
	font-size: 18px;
	color: #fff;
}

/* ===== HEADER GRID ===== */

.header-grid {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 20px;
}

/* ----- TIT PRODUCT GRID ----- */

.tit-cat {
	font-size: 20px;
	color: #fff;
}

/* ----- ORDER BY ----- */

.order-by p {
	display: inline-block;
	margin-right: 15px;
	font-size: 16px;
	color: #fff;
}

.order-by select {
	padding: 5px 8px;
	outline: none;
	border: 1px solid #00000090;
	cursor: pointer;
}

/* ----- PRODUCT BOX ----- */

.prod-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 20px;
}

.prod-grid h3 {
	grid-row: 1;
}

.product-box {
	position: relative;
	overflow: hidden;
	background: #f7f9f9;
	border: 1px solid #bdc3c7;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	transition: 0.2s;
}

.product-box:hover {
	box-shadow: 0 0 10px #66c0f4;
}

.product-img {
	width: 100%;
}

.dates-prod {
	padding: 20px 15px;
}

.product-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	height: 48px;
	overflow: hidden;
	margin-bottom: 15px;
	font-size: 20px;
	color: #17202a;
	font-weight: 500;
	text-align: center;
}

.price-container {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.product-discount {
	font-size: 15px;
	font-weight: 500;
	color: #e50003;
	text-decoration: line-through;
	margin-right: 10px;
}

.product-price {
	font-size: 19px;
	color: #293341;
	font-weight: 500;
}

.discount {
	position: absolute;
	top: 0;
	right: 0;
	padding: 6px 10px;
	background: #ff3403;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	color: #fff;
}

.add-cart {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(000, 000, 000, 0.5);
	transition: 0.2s;
	opacity: 0;
}

.product-box:hover .add-cart {
	opacity: 1;
}

.svg {
	width: 80px;
	height: 80px;
	background: url("data:image/svg+xml,%3Csvg id='SvgjsSvg1001' width='288' height='288' xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.com/svgjs'%3E%3Cdefs id='SvgjsDefs1002'%3E%3C/defs%3E%3Cg id='SvgjsG1008' transform='matrix(1,0,0,1,0,0)'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='288' height='288' enable-background='new 0 0 64 64' viewBox='0 0 64 64'%3E%3Cpath d='M23.734,28.125c1.104,0,2-0.896,2-2v-7.8c0-3.487,2.837-6.325,6.324-6.325c3.487,0,6.325,2.838,6.325,6.325v7.8 c0,1.104,0.895,2,2,2c1.104,0,2-0.896,2-2v-7.8C42.384,12.632,37.752,8,32.058,8c-5.692,0-10.324,4.632-10.324,10.325v7.8 C21.734,27.229,22.63,28.125,23.734,28.125z' fill='%23ffffff' class='color000 svgShape'%3E%3C/path%3E%3Cpath d='M55,23.631H44.384v2.494c0,2.206-1.794,4-4,4s-4-1.794-4-4v-2.494h-8.649v2.494c0,2.206-1.794,4-4,4s-4-1.794-4-4v-2.494H9 c-0.552,0-0.893,0.435-0.762,0.971l6.998,28.497C15.658,54.701,17.344,56,19,56h26c1.658,0,3.342-1.299,3.766-2.901l6.996-28.497 C55.893,24.065,55.553,23.631,55,23.631z' fill='%23ffffff' class='color000 svgShape'%3E%3C/path%3E%3C/svg%3E%3C/g%3E%3C/svg%3E")
		no-repeat center center / contain;
	background-size: 70px;
	transform: translatey(200%);
	transition: 0.5s;
}

.text-add {
	font-size: 18px;
	color: #fff;
	text-shadow: 0 0 10px #003087;
	transform: translatey(-800%);
	transition: 0.5s;
}

.product-box:hover .svg,
.product-box:hover .text-add {
	transform: translatey(0);
}

/* ===== CONSULTAS ===== */

.consulta-games {
	margin: 80px 0;
}

.consulta-games .container {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
}

.search {
	text-align: center;
	font-size: 20px;
	color: #fff;
	font-weight: 400;
}

.consulta-inputs {
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin-top: 5px;
}

.consulta-games #field-game {
	display: block;
	width: 100%;
	max-width: 350px;
	padding: 8px 10px;
	background: #ecf0f1;
	border: 1px solid #bdc3c7;
	border-right: none;
	border-radius: 0;
	outline: none;
}

.consulta-games #field-game:focus {
	box-shadow: 0 0 10px #66c0f4;
}

.consulta-games #search-button {
	display: inline-block;
	width: 120px;
	padding: 8px;
	background: #3498db;
	border: 1px solid #bdc3c7;
	border-left: none;
	font-size: 15px;
	font-weight: 400;
	color: #fff;
	cursor: pointer;
	transition: 0.2s;
}

.consulta-games #search-button:hover {
	box-shadow: 0 0 10px #66c0f4;
}

.results {
	display: flex;
	flex-direction: row;
	margin-top: 20px;
}

.results h3 {
	color: #f7f9f9;
	font-weight: 400;
}

.results span {
	letter-spacing: 1px;
}

.results p {
	margin-left: 20px;
	border: 1px solid #00000010;
	padding: 3px 10px;
	background: #fe0016;
	color: #f7f9f9;
	cursor: pointer;
}

.lista-juegos {
	display: grid;
	background: #f7f9f9;
	background: rgba(000, 000, 000, 0.4);
}

.game-search {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 20px 15px;
	border-bottom: 1px solid #00000030;
}

.game-search:last-child {
	border-bottom: none;
}

.game-search p {
	font-size: 14px;
	color: #ecf0f1;
}

.game-search a {
	font-size: 14px;
	color: #ecf0f1;
	text-decoration: underline;
}

/* ===== FORM CONTACTO ===== */

.contacto {
	background: url(../img/bg-home-shadow1.jpeg) center top no-repeat,
		url(../img/bg-home-shadow.jpeg) center top repeat-y #000000;
	margin: 50px 0 200px;
	box-shadow: 0 0 10px 4px rgba(000, 000, 000, 0.5);
}

.contacto .container {
	display: flex;
	justify-content: center;
	padding: 30px 0;
	border-top: 1px solid #bdc3c7;
	border-bottom: 1px solid #bdc3c7;
}

.contacto form {
	width: 100%;
	max-width: 500px;
}

.contacto h3 {
	margin-bottom: 25px;
	text-align: center;
	font-size: 20px;
	color: #fff;
	font-weight: 400;
}

.form-row-1 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 20px;
	margin-bottom: 20px;
}

.form-row-1 div {
	width: 100%;
}

.contacto label {
	display: inline-block;
	font-size: 16px;
	font-weight: 300;
	color: #f7f9f9;
	margin-bottom: 10px;
}

.contacto textarea {
	display: block;
	background: #ecf0f1;
	border: 1px solid #bdc3c7;
	border-radius: 0;
	outline: none;
}

.contacto input:focus,
.contacto textarea:focus {
	box-shadow: 0 0 10px #66c0f4;
}

.contacto input {
	width: 100%;
	padding: 8px 10px;
}

.contacto textarea {
	width: 100% !important;
	min-width: 100%;
	max-width: 100%;
	min-height: 100px;
	max-height: 250px;
	padding: 10px;
}

.contacto .submit {
	display: flex;
	justify-content: flex-end;
}

.contactoButton {
	display: inline-block;
	width: 120px;
	margin-top: 20px;
	padding: 8px;
	background: #3498db;
	border: 1px solid #bdc3c7;
	font-size: 15px;
	font-weight: 400;
	color: #ffffff;
	cursor: pointer;
	transition: 0.2s;
}

.contactoButton:hover {
	box-shadow: 0 0 10px #66c0f4;
}

/* ===== MODAL VENTA ===== */

.modal {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #00000090;
	z-index: 1000;
}

.modal-container {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	max-width: 400px;
	height: 100%;
	max-height: 150px;
	background: #fff;
}

.close-modal {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 25px;
	height: 25px;
	background: #171a21;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	pointer-events: all;
	cursor: pointer;
}

.modal-text {
	text-align: center;
	font-size: 20px;
	color: #171a21;
	font-weight: 500;
}

/* ===== ERROR FORM ===== */

.error-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: auto;
	margin-top: 30px;
	padding: 25px;
	border-radius: 4px;
	background: #cf2413;
}

.error-form p {
	font-size: 16px;
	color: #fff;
	font-weight: 500;
}

/* ===== FOOTER ===== */

footer {
	position: relative;
	border-top: 1px solid #566573;
	background: #111;
}

footer .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px;
}

.info {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	position: absolute;
	top: -43px;
	width: 200px;
	padding: 10px;
	background: #111;
	border: 1px solid #566573;
	border-bottom: none;
	border-radius: 5px 5px 0 0;
	cursor: pointer;
}

footer .institucional {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
	padding: 30px 0 30px;
	border-bottom: 1px solid #566573;
}

footer .inst-col {
	display: flex;
	flex-direction: column;
}

footer .tit-footer {
	margin-bottom: 10px;
	font-size: 16px;
	color: #fdfefe;
	font-weight: 300;
	letter-spacing: 0.5px;
}

footer .link-inst {
	display: inline-block;
	margin-bottom: 5px;
	font-size: 15px;
	color: #d0d3d4;
	font-weight: 300;
	letter-spacing: 0.5px;
}

footer .link-inst:hover {
	text-decoration: underline;
}

footer .link-inst:last-child {
	margin: 0;
}

footer .social {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
}

footer .social img {
	height: 25px;
}

.info p {
	font-size: 18px;
	color: #fff;
	font-weight: 500;
}

.info svg {
	position: relative;
	top: 2px;
	right: -6px;
	width: 30px;
	height: 22px;
	transform: rotate(180deg);
	transition: all .4s ease-in-out;
}

.info svg:hover {
	transform: rotate(0deg)

}

/* ===== ANIMATION TEXT ===== */

.animate--text {
	padding: 5px;
	font-size: 0.9em;
	text-transform: uppercase;
	font-weight: 400;
	background-image: linear-gradient(-225deg, #d1c8c2 0%, #ebdfc9 29%, #aaa46a 67%, #cfa398 100%);
	background-size: auto auto;
	background-clip: border-box;
	background-size: 200% auto;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: textclip 2s linear infinite;
	text-align: center; 
}
  
@keyframes textclip {
	to {
	  	background-position: 200% center; 
	} 
}

/* ===== MEDIA QUERIES ===== */

@media screen and (max-width: 1025px) {
	.prod-grid {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media screen and (max-width: 650px) {
	.prod-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 600px) {
	.hades-logo {
		display: none;
		visibility: hidden;
	}

	.logo {
		display: flex;
		visibility: visible;
		justify-content: center;
		justify-items: center;
		margin-bottom: 7%;
		margin-top: 7%;
		transition-delay: 3s;
		height: 70px;
	}

	.txt-x {
		display: flex;
		text-align: justify;
		margin-left: 23%;
	}

	.txt-sm {
		display: flex;
		text-align: justify;
	}

	.boton-links {
		display: flex;
		text-align: justify;
	}

	#form {
		margin: auto 20px auto 20px;
	}
}