/* =========================================================
   DEXSHELL ACTIVITY PAGES
   ========================================================= */

.activity-page *,
.activity-page *::before,
.activity-page *::after {
	box-sizing:border-box;
}
.activity-page {
	overflow:hidden;
}

.activity-page .container {
	width:min(92%,1440px);
	max-width:1440px;
	margin-inline:auto;
}

/* =========================================================
   HERO
   ========================================================= */

.activity-hero {
	position:relative;
	min-height:680px;
	display:flex;
	align-items:flex-end;
	background-position:center;
	background-size:cover;
	color:#fff;
}

.activity-hero__overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(
		90deg,
		rgba(0,0,0,.70),
		rgba(0,0,0,.35) 50%,
		rgba(0,0,0,.05)
	);
}

.activity-hero__content {
	position:relative;
	z-index:1;
	padding-block: 100px;
	max-width:760px;
	margin-left:4%;
}

.activity-hero__eyebrow {
	margin-bottom:18px;
	font-size:14px;
	font-weight:700;
	letter-spacing:.2em;
	text-transform:uppercase;
}

.activity-hero__heading {
	margin:0;
	max-width:780px;
	font-size:clamp(44px,6vw,86px);
	line-height:.98;
	color:inherit;
}

.activity-hero__text {
	max-width:620px;
	margin:28px 0;
	font-size:clamp(17px,1.5vw,22px);
	line-height:1.5;
}



/* =========================================================
   GLOBAL SECTION RHYTHM
   ========================================================= */

.activity-intro,
.activity-conditions,
.activity-products,
.activity-technology,
.activity-guides,
.activity-faq {

	padding-block:clamp(8px,4vw,24px);

}


/* =========================================================
   INTRO / TECHNOLOGY GRID
   ========================================================= */

.activity-intro__grid,
.activity-technology__grid {

	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	align-items:center;
	gap:clamp(40px,7vw,110px);

}
.activity-intro__content > h2,
.activity-conditions > .container > h2 {
	max-width: 760px;
}

.activity-intro {
    padding-bottom: 10px;
}
.activity-intro__image img,
.activity-technology__image img {

	width:100%;
	height:auto;
	border-radius:2px;

}


.activity-intro__content h2,
.activity-technology__content h2,
.activity-products__intro h2,
.activity-guides h2,
.activity-faq h2,
.activity-conditions h2 {

	font-size:clamp(34px,4vw,58px);
	line-height:1.05;
	
}

.activity-conditions > .container > h2 {
	margin-top: 20px;
	max-width: 560px;
}

/* =========================================================
   CONDITIONS
   ========================================================= */


.activity-conditions__grid {

	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
	margin-top:10px;

}


.activity-condition {

	padding:10px;
	background:#fff;
	border-radius:2px;

}
.activity-conditions {
    padding-top: 10px;
}

.activity-condition h3 {

	margin:0 0 10px;
	font-size:20px;
	line-height:1.3;

}


.activity-condition p {

	margin:0;
	font-size:16px;
	line-height:1.6;

}



/* =========================================================
   PRODUCTS
   ========================================================= */


.activity-products__group {

	margin-top:15px;

}

.activity-products__group-title {

	margin-bottom:15px;
	font-size:clamp(28px,3vw,42px);

}

/* Activity product Swiper rows */

.activity-product-slider {
	width: 100%;
	overflow: hidden;
	padding-bottom: 6px;
}

.activity-product-slider .swiper-wrapper {
	align-items: stretch;
}

.activity-product-slider .swiper-slide {
	width: 300px;
	height: auto;
}

.activity-product-slider .teaserCard {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	background: #fff;
	border-radius: 2px;
	overflow: hidden;
}

.activity-product-slider .teaserCard__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.activity-product-slider .teaserCard__thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.activity-product-slider .teaserCard__title {
	margin: 14px 0 8px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	overflow-wrap: break-word;
}

.activity-product-slider .teaserCard__bottom {
	margin-top: auto;
}

.activity-product-slider .swiper-scrollbar {
	margin-top: 28px;
}

/* =========================================================
   TECHNOLOGY FEATURE
   ========================================================= */


.activity-technology__image {
	max-width:100%;
}


.activity-technology__feature img {
	width:100%;
	height:auto;
	border-radius:2px;
	display:block;
}

.activity-technology__feature a {
	color:inherit;
	text-decoration:none;
}

.activity-technology__feature h3 {
	margin-top:12px;
	font-size:22px;
	line-height:1.3;
}



/* =========================================================
   FAQ
   ========================================================= */


.activity-faq {

	padding-top:25px;
	padding-bottom:100px;

}


.activity-faq__list {

	max-width:960px;

}


.activity-faq__item {

	border-top:1px solid #d7d7d7;

}


.activity-faq__item:last-child {

	border-bottom:1px solid #d7d7d7;

}


.activity-faq__item summary {

	position:relative;
	padding:24px 40px 24px 8px;
	cursor:pointer;
	font-size:20px;
	font-weight:600;
	list-style:none;

}


.activity-faq__item summary::-webkit-details-marker {

	display:none;

}


.activity-faq__item summary::after {

	content:"+";
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
	font-size:26px;
	color:#333;

}


.activity-faq__item[open] summary::after {

	content:"−";

}


.activity-faq__answer {

	padding-bottom:26px;
	font-size:18px;
	line-height:1.6;

}



/* =========================================================
   CLOSING CTA
   ========================================================= */


.activity-closing {

	position:relative;
	min-height:520px;
	display:flex;
	align-items:center;
	background-position:center;
	background-size:cover;
	color:#fff;

}


.activity-closing__overlay {

	position:absolute;
	inset:0;
	background:rgba(0,0,0,.30);

}


.activity-closing__content {

	position:relative;
	z-index:1;
	max-width:780px;
	text-align:center;
	color:#fff;
}


.activity-closing h2 {

	font-size:clamp(40px,5vw,72px);
	line-height:1;
	max-width: 760px;
	margin: 0 auto 20px;
	color:inherit;
}

.activity-closing__content p {
	color:inherit;
}


/* =========================================================
   TABLET
   ========================================================= */


@media(max-width:1024px){

	.activity-conditions__grid
	 {

		grid-template-columns:repeat(2,minmax(0,1fr));

	}

	.activity-hero {

		min-height:600px;

	}

		.activity-product-slider .swiper-slide {
		width: 240px;
	}

}



/* =========================================================
   MOBILE
   ========================================================= */


@media(max-width:767px){

	.activity-page .container {
		width:88%;
	}

	.activity-hero {
        min-height: clamp(520px, 72vh, 620px);
        min-height: clamp(520px, 72svh, 620px);
    }

	.activity-hero__content {

		padding:70px 0;
		margin-left:0;

	}


	.activity-hero__heading {

		font-size:40px;

	}


	.activity-intro__grid,
	.activity-technology__grid,
	.activity-conditions__grid
	 {

		grid-template-columns:1fr;

	}


	.activity-condition {

		padding:22px;

	}


	


	.activity-technology__image {

		max-width:90%;
		margin-inline:auto;

	}


	.activity-faq__item summary {

		font-size:18px;

	}
	.activity-product-slider .swiper-slide {
		width: 76%;
		max-width: 320px;
	}

	.activity-product-slider .teaserCard__title {
		font-size: 19px;
	}

	.activity-product-slider .swiper-scrollbar {
		margin-top: 22px;
	}

	.activity-closing {

		position:relative;
		min-height:350px;
		display:flex;
		align-items:center;
		background-position:center;
		background-size:cover;
		color:#fff;

	}	
	
}


/* =========================================================
   ACTIVITY PAGES — HERO BREADCRUMBS
   ========================================================= */

.activity-hero,
.activities-hero__visual {
	position: relative;
}


.activity-hero__breadcrumbs,
.activities-hero__breadcrumbs {
	position: absolute;
	top: 28px;
	left: 0;
	right: 0;
	z-index: 4;

	font-size: 15px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.82);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}


.activity-hero__breadcrumbs a,
.activities-hero__breadcrumbs a {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
}


.activity-hero__breadcrumbs a:hover,
.activities-hero__breadcrumbs a:hover {
	color: #fff;
	text-decoration: underline;
}


.activity-hero__breadcrumbs .separator,
.activities-hero__breadcrumbs .separator {
	margin: 0 6px;
	color: rgba(255, 255, 255, 0.62);
}


.activity-hero__breadcrumbs .current,
.activities-hero__breadcrumbs .current {
	color: rgba(255, 255, 255, 0.82);
}


/* Mobile */

@media (max-width: 767px) {

	.activity-hero__breadcrumbs,
	.activities-hero__breadcrumbs {
		top: 18px;
		font-size: 13px;
		line-height: 1.4;
	}

}