:root {
	--text-color-white: white;
	--text-color-violet: hsl(235, 100%, 88%);
	--font-size-small: 14px;
	--font-size-big: 18px;
	--font-size-links: 12px;
	--font-family: 'Roboto', sans-serif;
	--font-family-condensed: 'Roboto Condensed', condensed;
	--font-type: uppercase;
	--background-color-cta: #b600b4;
	--text-color-cta: #ffffff;
	--height-header: 46px;
	--lightgray: #efefef;
	--blue: steelblue;
	--white: #fff;
	--black: rgba(0, 0, 0, 0.856);
	--bounceEasing: cubic-bezier(0.51, 0.92, 0.24, 1.15);
}
@font-face {
	font-family: 'Open Sans Condensed';
	src: url('../fonts/OpenSans-CondBold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

* {
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}
a {
	text-decoration: none;
	margin: 0;
	padding: 0;
	color: var(--text-color-violet);
}

a:hover {
	color: var(--text-color-white);
}
h1 {
	color: var(--text-color-violet);
	font-weight: 100;
	text-transform: var(--font-type);
	margin: auto;
	text-align: center;
	font-size: 30px;
	margin-bottom: 20px;
}
h2 {
	color: var(--text-color-violet);
	margin: auto;
	text-align: center;
	font-size: 25px;
	font-weight: 100;
}

h4 {
	margin: 5px 0 10px 0;
}
html,
body {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: linear-gradient(
			0deg,
			rgba(00, 00, 60, 0.3) -167%,
			rgba(0, 0, 0, 0.9)
		),
		repeating-radial-gradient(
			circle at right,
			rgb(193 0 151),
			rgba(38, 0, 132, 1)
		);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	font-family: var(--font-family);
	background-color: rgb(23, 7, 41);
}

main {
	display: flex;
	flex-direction: column;
}

header {
	width: 100%;
	display: flex;
	flex-direction: column;
}
header ul {
	display: flex;
	background-color: rgba(0, 0, 0, 0.3);
	flex-direction: row-reverse;
	font-size: var(--font-size-links);
	list-style: none;
	text-transform: var(--font-type);
	padding: 0;
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--height-header);
	line-height: var(--height-header);
	box-sizing: border-box;
}
header ul li {
	text-decoration: none;
	padding: 0 10px;
}
.header-logo {
	background: transparent;
	position: absolute;
	top: 0;
	left: 10px;
	box-sizing: border-box;
	height: 100%;
	background-image: url(img/logo-trimi_largo.svg);
	background-repeat: no-repeat;
	background-position: 0px center;
	background-size: contain;
	width: 99px;
	opacity: 0;
	transition: opacity 0.5s ease;
}
.header-logo.active {
	opacity: 1;
}

.logo {
	width: 105px;
	height: 120px;
	background-image: url(img/logo-04.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.banner {
	width: 100%;
	height: 27vw;
	background-image: url(img/BANNER-TRIMI-4K.png);
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	box-sizing: border-box;
	margin-top: var(--height-header);
}

.fundidoNegro {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 1) 0%,
		rgba(0, 0, 0, 0) 100%
	);
	width: 100%;
	height: 85px;
	text-align: center;
	color: var(--text-color-white);
	padding-top: 29px;
}
.fundidoNegro p {
	width: 100%;
	font-weight: 100;
	margin: auto;
}

.iconos {
	height: 60px;
	display: flex;
	justify-content: space-around;
	box-sizing: border-box;
	margin: auto;
	text-align: center;
}

.icono {
	width: 110px;
	height: 95px;
	margin: auto;
	font-size: 10px;
	color: var(--text-color-white);
}

section {
	margin-top: 50px;
	color: var(--text-color-white);
	font-weight: 100;
	text-align: center;
}
section ul {
	margin-top: 10px;
}
section ul li {
	width: fit-content;
	margin: 5px auto;
}

.detalleServicio {
	width: 100%;
	/* height: 170px; */
	background: linear-gradient(
		180deg,
		#00d4ff00 0%,
		#26186d42 25%,
		#26186d42 50%,
		#26186d42 75%,
		#00d4ff00 100%
	);
	color: var(--text-color-white);
	text-align: center;
	/* margin: 0px auto 50px; */
	font-weight: 100;
	padding-top: 40px;
}
.detalleServicio i {
	height: 30px;
	font-size: 12px;
	margin-top: 20px;
}

.dispositivos {
	width: 20vw;
	height: 30px;
	margin: auto;
	background-image: url(img/iconos-medio-05.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.bannersSection {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bannerDispo {
	width: 100%;
	max-width: 1000px;
	background-position: center;
	display: block;
}
.bannerDispo-mob {
	display: none;
}
.detallesDispositivos {
	width: 70vw;
	display: flex;
	flex-direction: row;
	margin: auto;
	margin-top: 1rem;
}

.dispositivo {
	width: 100%;
	text-align: center;
}
.dispositivo p {
	display: flex;
	flex-direction: column;
}
.version {
	font-size: small;
	margin-bottom: 5px;
}
.version-nav {
	font-size: small;
	margin-bottom: 5px;
}
.version-mob {
	display: none;
}
.legal {
	width: 90%;
	display: flex;
	flex-direction: column;
	margin: 70px auto 20px;
}
.legal p {
	color: var(--text-color-violet);
	font-size: 10px;
	text-align: center;
	margin: 10px 0 20px 0;
}
.logos-footer {
	width: 230px;
	margin: 0 auto 10px auto;
}
.logos-footer a {
	display: inline-block;
	width: calc(50% - 20px);
	margin: 0 10px;
	vertical-align: middle;
}
#logo-footer-telered img {
	vertical-align: initial;
}

.store-container {
	margin-top: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 25px;
}

.store-container h2,
.promos-section h2 {
	text-transform: uppercase;
}
.tienda {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
.tiendas {
	width: 150px;
	height: 44px;
}
.punto {
	width: 5px;
}

#cta {
	background-color: var(--background-color-cta);
	color: var(--text-color-cta);
	padding: 4px 24px;
	border-radius: 21px;
}
.cliente {
	width: 92%;
	border-top: 1px solid white;
	border-bottom: 1px solid white;
	margin-bottom: 20px;
	font-size: 20px;
	height: 20%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4% 0 4%;
}

.btn-group {
	margin: auto;
	color: var(--white);
	display: flex;
	flex-direction: column;
	width: 60%;
	text-align: center;
	margin: 0 20px 0 20px;
}

.open-modal {
	font-weight: bold;
	margin-bottom: 10px;
	border-radius: 5px;
	color: var(--text-color-violet);
	font-size: var(--font-size-small);
	outline: none;
}

img {
	width: 100px;
}
.icono-video {
	width: 60px;
	cursor: pointer;
}
.videos {
	display: flex;
	flex-direction: row;
	width: 40%;
	margin: 50px auto;
}

.girar {
	display: none;
}

/* MODAL
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: var(--black);
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	transition: all 0.35s ease-in;
}

.modal.is-visible {
	visibility: visible;
	opacity: 1;
}

.modal-dialog {
	position: relative;
	width: 70%;
	border-radius: 5px;
	cursor: default;
}

/* .modal-dialog > * {
	padding: 1rem;
  } */

.modal-header,
.modal-footer {
	color: var(--text-color-violet);
	font-size: 2rem;
	text-align: left;
	font-family: var(--font-family);
	font-weight: 100;
}

.modal-header {
	display: flex;
	align-items: left;
	flex-direction: inherit;
}

.close-modal {
	font-size: 1.5rem;
	margin-left: auto;
	color: var(--lightgray);
}

.modal p + p {
	margin-top: 1rem;
}
button {
	width: 30px;
	background-color: transparent;
	border: none;
}

.iconoSmall {
	width: 40px;
}

.video-size {
	max-width: 100%;
	width: 100%;
}

.dispoSvgContainer {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.dispoSvg {
	/* ancho fluido con mínimo y máximo */
	width: clamp(260px, 80vw, 600px);
	/* relación de aspecto del arte (ajustá si tu SVG no es 16:9) */
	aspect-ratio: 778 / 170;

	/* imagen de fondo */
	background-image: url(img/tvDispositivos.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* De mayor a menor */
@media (max-width: 1920px) {
	.banner {
		background-image: url(img/BANNER-TRIMI-1920.png);
	}
}
@media (max-width: 1440px) {
	.banner {
		background-image: url(img/BANNER-TRIMI-1440.png);
	}
}

@media all and (max-width: 768px) {
	.logo {
		width: 91px;
		height: 101px;
	}
	.banner {
		height: 34vw;
		background-size: cover;
		background-position: center;
		background-image: url(img/BANNER-TRIMI-768.png);
	}
	.iconos {
		width: 90%;
	}
	.dispositivos {
		width: 50vw;
	}
	.detalleServicio {
		width: 100%;
	}
	.fundidoNegro p {
		width: 80%;
	}
	.bannerDispo-mob {
		display: block;
		width: 100%;
	}
	.bannerDispo {
		display: none;
	}
	.detallesDispositivos {
		flex-direction: column;
	}
	.dispositivo {
		margin: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 22px;
	}
	.dispositivo p {
		flex-direction: row;
		text-align: left;
	}
	.version {
		padding: 0 10px 0 10px;
	}
	.version-mob {
		display: block;
	}
	.version-nav {
		display: none;
	}
	.logos-footer {
		width: 270px;
	}
	.cliente {
		flex-direction: column;
	}
	.videos {
		flex-direction: column;
		align-items: center;
		margin: 50px auto 20px;
	}
	.btn-group {
		margin-top: 20px;
	}
}

@media all and (max-width: 550px) {
	.banner {
		height: 44vw;
		background-position: top;
		background-size: cover;
	}
	.logo {
		width: 61px;
		height: 71px;
	}
	.iconoSmall {
		width: 30px;
	}
	.icono {
		height: 40px;
	}
	.icono p {
		display: none;
	}
	section {
		margin-top: 20px;
	}
	section ul li {
		list-style: none;
	}

	.girar {
		display: block;
		font-size: var(--font-size-small);
		color: var(--text-color-violet);
		display: flex;
		flex-direction: row;
		height: 16px;
	}
	.celu {
		font-size: 20px;
		transform: rotate(90deg);
		margin-left: 15px;
	}
	.modal-header {
		font-size: 20px;
	}
	.btn {
		width: 210px !important;
		height: 40px !important;
		font-size: 15px !important;
	}

	/* .video-size{
		max-width: 80vw;
	} */
	h2 {
		width: 80%;
	}
	.modal-dialog {
		width: 100%;
	}
}

@media all and (max-width: 375px) {
	.banner {
		background-image: url(img/BANNER-TRIMI-375.png);
	}
}
@media all and (max-width: 300px) {
	.tienda {
		flex-direction: column;
	}
}

@media all and (max-width: 579px) {
	header ul {
		--font-size-links: 3vw;
		width: 100%;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: right;
	}
	.header-logo {
		left: 11px;
		width: 70px;
	}
}

.wspContainer {
	position: fixed;
	right: 100px;
	bottom: calc(env(safe-area-inset-bottom) + 20px); /* respeta notch/iPhone */
	z-index: 8;
	display: grid; /* fácil de alinear 1 o más botones */
}

.btn-wsp {
	width: 60px;
	height: 60px;
}

.btn {
	background-color: var(--background-color-cta);
	border-radius: 47px;
	font-size: 18px;
	width: 200px;
	height: 50px;
	font-weight: bold;
	font-family: Roboto, sans-serif;
	display: grid;
	align-items: center;
	justify-items: center;
}
.btn.outline {
	background-color: transparent;
	border: 1px solid var(--background-color-cta);
}

.btn a {
	color: white !important;
}

.buttons-section {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding-left: 10px;
	padding-right: 10px;
}

.btn-outline {
	background-color: transparent;
	border-radius: 47px;
	border: 1px solid;
	font-size: 18px;
	border-color: var(--background-color-cta);
	width: 220px;
	height: 50px;
	font-weight: bold;
}

a .btn-outline {
	color: white !important;
}

/* ===Promos !!!! === */
.promos-section {
	display: flex;
	flex-direction: column;
	margin-top: 2rem;
}

.promos-section h2 {
	font-size: 2rem;
}
.promos {
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin-top: 2rem;
	padding: 10px;
	gap: 25px;
}

.promo-card__container {
	display: flex;
	flex-direction: column;
	justify-items: center;
	align-items: center;
	width: 250px;
	gap: 20px;
}

.promo-card__container h3 {
	font-size: 24px;
}
/* === Card === */
.promo-card {
	border: 1px solid white;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 20px;
	background: linear-gradient(
		180deg,
		rgba(16, 29, 89, 1) 0%,
		rgba(80, 24, 143, 1) 100%
	);
}

.promo-card__header {
	display: flex;
	align-items: center;
}

.promo-card__icon {
	width: 54px;
	height: 54px;
}

/* Body */
.promo-card__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
	justify-content: center;
}

.promo-card__speed {
	font-size: 24px;
}

/* Badges */
.promo-card__badges {
	padding: 0;
	margin: 0;
	font-weight: 500;
	font-size: 14px;
}
.badge {
	background-color: #00c496;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	border-radius: 5px;
	list-style: none;
}

.futbol-hbo-svg {
}

.promo-card__additional-text {
	font-size: 24px;
	font-weight: bold;
	font-family: var(--font-family-condensed);
}
/* Precio */
.promo-card__price {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	font-weight: bold;
}

.promo-card__price span {
	font-size: 31px;
	font-family: 'Open Sans Condensed', sans-serif;
}
.promo-card__price-value {
	font-size: 52px;
	font-family: 'Open Sans Condensed', sans-serif;
}
.promo-card__price-suffix {
	align-items: center;
	justify-content: left;
	display: flex;
	flex-direction: row;
	font-style: italic;
	font-size: 12px;
	font-weight: 100;
}

/* Footer */
.promo-card__footer {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.promo-card__legal {
	font-size: 13px;
}

/* Botón primario (usa tus variables) */
.promo-card__footer .promo-card__promo-btn {
	padding: 5px;
	font-size: 24px;
	width: 100%;
	background-color: #b628b4;
	color: white !important ;
	font-family: var(--font-family-condensed);
}
.promo-btn {
	border: 0;
	padding: 12px 18px;
	border-radius: 12px;
	cursor: pointer;
	font-weight: 700;
	/* background: linear-gradient(135deg, #7a3cff, #b600ff); */
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	transition: transform 0.15s ease, box-shadow 0.2s ease;
	font-family: 'Roboto', sans-serif;
}
.promo-card__icon {
}
.trimiSvg {
	width: 75%;
}
.futbol-hbo-svg {
	width: 100%;
}
.promo-card__additional-svg {
	width: 90%;
}

@media (max-width: 851px) {
	.promos {
		flex-direction: column;
		align-items: center; /* opcional, para centrar las cards */
	}
}

@media (max-width: 400px) {
	.buttons-section {
		display: flex;
		flex-direction: column;
	}
	.buttons-section .btn-outline {
		font-size: 14px;
	}
}
