/* ===============================
   Tech Capabilities Block · Thinex
   Mobile-first · BEM + CSS Vars
=============================== */

.tnx-techcaps {
	position: relative;
	padding: var(--tnx-spacing-l) 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
	
}

.tnx-techcaps .swiper {
	/*overflow: visible;*/
}
.tnx-techcaps--bg-top    { background-position: center top; }
.tnx-techcaps--bg-bottom { background-position: center bottom; }

.tnx-techcaps__inner {
	width: min(var(--tnx-width-default), 100%);
	margin-inline: auto;
	padding-inline: var(--tnx-grid-margin);
	box-sizing: border-box;
	overflow: visible; 
	padding-inline: var(--tnx-grid-margin); 
}

/* -------------------------------
   Title
-------------------------------- */
.tnx-techcaps__title {
	margin: 0 0 var(--tnx-spacing-m);
	font-family: var(--font-heading, 'DM Sans', sans-serif);
	font-weight: 600;
	font-size: 32px;
	line-height: 1.35;
	text-align: center;
	color: var(--tnx-color-secondary);
}

/* -------------------------------
   Grid
-------------------------------- */
.tnx-techcaps__grid {
	display: grid;
	gap: var(--tnx-grid-gutter-lg);
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	align-items: stretch;
	margin-bottom: var(--tnx-spacing-xl);
	padding: 0;
	list-style: none;
}

/* -------------------------------
   Cards
-------------------------------- */
.tnx-techcaps__card {
	background:#0F4282;
	border: 1px solid transparent; /* aquí estava el problema */
	border-radius: 24px;
	padding: calc(var(--tnx-spacing-s) / 2);
	box-sizing: border-box;
	height: auto; 
	flex-direction: column; /* per fer que textos i link es distribueixin bé */
	justify-content: space-between; /* opcional, si vols link sempre abaix */
	transition: border-color 0.2s ease;
	
}
.tnx-techcaps__card:hover {
	border-color: var(--tnx-color-secondary);
}

/* Textos dins la targeta */
.tnx-techcaps__card-title {
	font-family: var(--font-base, 'Inter', sans-serif);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.2;
	color: var(--tnx-color-secondary);
}

.tnx-techcaps__card-text {
	font-family: var(--font-heading, 'DM Sans', sans-serif);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.5;
	color: var(--tnx-color-base);
	margin-bottom: var(--tnx-spacing-s);
}

/* -------------------------------
   CTA final
-------------------------------- */
.tnx-techcaps__cta {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}
.tnx-techcaps__cta-text {
	margin-bottom: var(--tnx-spacing-md);
	text-align: center;
	color: var(--tnx-color-base);
}

.tnx-techcaps__cta-text p {
	font-family: DM Sans;
	font-weight: 300;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: 0%;
	margin-bottom: var(--tnx-spacing-s);
}

.tnx-techcaps__cta-text p strong{
	color: var(--tnx-color-secondary);
	font-weight: 600;
}

.tnx-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	text-align: center;
	padding: 0.75rem 1.5rem;
	border: 2px solid var(--tnx-color-secondary);
	color: var(--tnx-color-secondary);
	background-color: transparent;
	text-decoration: none;
	font-weight: 600;
	border-radius: var(--tnx-border-radius, 7px);
	transition: all 0.3s ease;
}

.tnx-button:hover {
	background-color: var(--tnx-color-secondary);
	color: var(--tnx-color-primary); /* assegura que la icona canviï també */
}

.tnx-button__icon {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	mask-image: url('ico-download.svg');
	-webkit-mask-image: url('ico-download.svg');
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

/* -------------------------------
   Link amb fletxa
-------------------------------- */
.tnx-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	font-family: DM Sans;
	font-weight: 500;
	font-size: 14px;
	line-height: 28px;
	letter-spacing: 0%;
	color: #fff;;

}


.tnx-link__icon {
	line-height: 1;
}

.tnx-link__icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url('../../assets/svg/arrow-down.svg') no-repeat center;
	background-size: contain;
	mask: url('../../assets/svg/arrow-down.svg') no-repeat center;
	-webkit-mask: url('../../assets/svg/arrow-down.svg') no-repeat center;
	background-color: currentColor;
}


/* -------------------------------
   Swiper nav
-------------------------------- */

.tnx-techcaps__slider.swiper {
	overflow: visible;
}
.tnx-techcaps__slider {
	width: 100%;
}
.tnx-techcaps__nav {
	display: flex;
	gap: calc(var(--tnx-spacing-s) / 4);
	justify-content: flex-end;
	justify-content: center; /* centrat */
	margin-top: calc(var(--tnx-spacing-s) / 2);
	margin-bottom: calc(var(--tnx-spacing-s) / 2);
}
.tnx-techcaps__nav button {
	background: none;
	border: none;
	cursor: pointer;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tnx-techcaps__nav img {
	max-width: 100%;
	height: auto;
}

.tnx-techcaps__icon {
	display: inline-block;
	width: 48px;
	height: 48px;
	background-color: var(--tnx-color-secondary);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.tnx-techcaps__icon--prev {
	mask-image: url('../../blocks/tech-capabilities/slider_btn_prev.png');
	-webkit-mask-image: url('../../blocks/tech-capabilities/slider_btn_prev.png');
}

.tnx-techcaps__icon--next {
	mask-image: url('../../blocks/tech-capabilities/slider_btn_next.png');
	-webkit-mask-image: url('../../blocks/tech-capabilities/slider_btn_next.png');
}



/* Reforcem el comportament del Swiper */
.tnx-techcaps__slider .swiper-wrapper {
	display: flex;
	align-items: stretch;
}

.tnx-techcaps__card.swiper-slide {

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: 320px;
}

.tnx-techcaps__prev.is-disabled,
.tnx-techcaps__next.is-disabled {
	opacity: .5;
	pointer-events: none;
}

/* -------------------------------
   Desktop overrides
-------------------------------- */
@media (min-width: 768px) {
	.tnx-techcaps__title {
		font-size: 40px;
	}
	.tnx-techcaps__nav {
		justify-content: flex-end;
	}
	.tnx-button {
		width: auto;
	}
}


.tnx-techcaps__accordion {
	margin-top: 1rem;
}

.tnx-techcaps__toggle {
	background-color: var(--tnx-color-secondary);
	color: var(--tnx-color-contrast);
	border: none;
	padding: 0.5rem 1rem;
	border-radius: 0.25rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.tnx-techcaps__content {
font-family: Inter;
font-weight: 500;

font-size: 14px;

line-height: 28px;
letter-spacing: 0%;
color: #fff;

}



.tnx-techcaps__toggle:hover {
	background-color: var(--tnx-color-primary);
}

.tnx-techcaps__content {
	margin-top: 1rem;
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-5px); }
	to { opacity: 1; transform: translateY(0); }
}


.tnx-techcaps__card-cta--disabled {
	opacity: .25;
}


/* TEXT I FLETXA → hover */
.tnx-link:hover {
	color: var(--tnx-color-secondary);
}
.tnx-link:hover .tnx-link__icon {
	background-color: var(--tnx-color-secondary);
}

/* TEXT I FLETXA → actiu (is-open) */
.tnx-link.is-open {
	color: var(--tnx-color-secondary);
}
.tnx-link.is-open .tnx-link__icon {
	background-color: var(--tnx-color-secondary);
	transform: rotate(180deg);
}
