/**
 * Template Solution / Industry — allineato ai layout Figma.
 * Brand: #1003A3, superfici #EDEDED / #fff.
 */

.drakar-cpt-body .site-main {
	padding: 0;
}

.drakar-cpt {
	--drakar-blue: #1003a3;
	--drakar-blue-soft: #3b34c4;
	--drakar-ink: #1c1c1c;
	--drakar-muted: #4a4a4a;
	--drakar-gray: #ededed;
	--drakar-white: #fff;
	--drakar-gap: clamp(1.25rem, 4vw, 5rem);
	--drakar-wrap: min(1280px, calc(100% - 2.5rem));
	margin: 0;
	max-width: none;
	padding: 0;
	color: var(--drakar-ink);
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
}

@media (min-width: 782px) {
	.drakar-cpt {
		--drakar-wrap: calc(100% - 8rem);
	}
}

.drakar-wrap {
	width: var(--drakar-wrap);
	margin-inline: auto;
}

.drakar-h2 {
	margin: 0;
	color: var(--drakar-blue);
	/*max-width: 100%;*/
	max-width: min(100%, 12em);
	font-family: var(--drakar-title-font-family);
	font-size: var(--drakar-title-font-size);
	font-weight: var(--drakar-title-font-weight);
	line-height: var(--drakar-title-line-height);
	letter-spacing: var(--drakar-title-letter-spacing);
	text-transform: var(--drakar-title-text-transform);
	overflow-wrap: break-word;
}

.drakar-h2--light {
	color: var(--drakar-white);
}

.drakar-split {
	display: grid;
	gap: 1.5rem 4rem;
	align-items: center;

}

@media (min-width: 782px) {
	.drakar-split {
		grid-template-columns: 1fr 1fr;
	}
}

.drakar-prose {
	color: var(--drakar-muted);
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
	text-transform: var(--drakar-testo-text-transform);
}

.drakar-prose p {
	margin: 0 0 1rem;
}

.drakar-prose p:last-child {
	margin-bottom: 0;
}

.drakar-prose ul {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.drakar-prose ul > li {
	position: relative;
	margin-bottom: 0.65em;
	padding-left: 1.35em;
}

.drakar-prose ul > li::before {
	content: "↘";
	position: absolute;
	left: 0;
	top: 0;
	font-family: "Segoe UI Symbol", "Segoe UI", sans-serif;
	font-weight: 400;
	text-transform: none;
}

.drakar-prose--blue {
	color: var(--drakar-blue-soft);
}

.drakar-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.9rem 1.6rem;
	border: 1px solid transparent;
	border-radius: 2px;
	font-family: var(--drakar-link-font-family);
	font-size: var(--drakar-link-font-size);
	font-weight: var(--drakar-link-font-weight);
	letter-spacing: var(--drakar-link-letter-spacing);
	line-height: var(--drakar-link-line-height);
	text-decoration: none;
	text-transform: var(--drakar-link-text-transform);
	transition: opacity 0.2s ease;
}

.drakar-btn:hover,
.drakar-textlink:hover {
	opacity: 0.85;
}

.drakar-btn--primary {
	background: var(--drakar-white);
	color: var(--drakar-blue);
}

.drakar-btn--secondary {
	background: transparent;
	border-color: var(--drakar-white);
	color: var(--drakar-white);
}

.drakar-btn--on-dark {
	background: #d8d8e8;
	color: var(--drakar-blue);
}

.drakar-btn__mob {
	display: none;
}

.drakar-textlink {
	display: inline-flex;
	align-items: center;
	margin-top: 1.25rem;
	color: var(--drakar-blue);
	font-family: var(--drakar-link-font-family);
	font-size: var(--drakar-link-font-size);
	font-weight: var(--drakar-link-font-weight);
	letter-spacing: var(--drakar-link-letter-spacing);
	line-height: var(--drakar-link-line-height);
	text-decoration: none;
	text-transform: var(--drakar-link-text-transform);
}

.drakar-textlink::before {
	content: "→";
	margin-right: 0.4rem;
}

.drakar-duo-pair {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.4rem;
	min-height: 220px;
}

.drakar-duo,
.drakar-closing__heroimg,
.drakar-custom__large,
.drakar-xp-card__media,
.drakar-listing-card__media {
	position: relative;
	overflow: hidden;
}

.drakar-duo img,
.drakar-closing__heroimg img,
.drakar-custom__large img,
.drakar-xp-card__media img,
.drakar-listing-card__media img,
.drakar-hero__media img,
.drakar-hero__video,
.drakar-hero__poster {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.drakar-hero__poster {
	position: absolute;
	inset: 0;
}

.drakar-hero__video {
	position: relative;
	z-index: 1;
}

.drakar-duo {
	min-height: 220px;
}

/* .drakar-duo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--drakar-blue);
	mix-blend-mode: color;
	opacity: 0.82;
	pointer-events: none;
}

.drakar-duo img {
	filter: grayscale(0.15);
} */

/* Hero */

.drakar-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	color: var(--drakar-white);
	overflow: hidden;
	background: #191648;
}

.drakar-hero__media {
	position: absolute;
	inset: 0;
}

.drakar-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16, 3, 163, 0.15) 0%, rgba(16, 3, 163, 0.35) 100%);
}

.drakar-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 5rem 0 4.5rem;
}

.drakar-hero__title {
	margin: 0 0 1rem;
	max-width: min(100%, 12em);
	overflow-wrap: break-word;
	font-family: var(--drakar-title-font-family);
	font-size: var(--drakar-title-font-size);
	font-weight: var(--drakar-title-font-weight);
	line-height: var(--drakar-title-line-height);
	letter-spacing: var(--drakar-title-letter-spacing);
	text-transform: var(--drakar-title-text-transform);
}

.drakar-hero__title-mob {
	display: none;
}

.drakar-hero__subtitle {
	margin: 0 0 2rem;
	max-width: 38rem;
	font-family: var(--drakar-subtitle-font-family);
	font-size: var(--drakar-subtitle-font-size);
	font-weight: var(--drakar-subtitle-font-weight);
	line-height: var(--drakar-subtitle-line-height);
	letter-spacing: var(--drakar-subtitle-letter-spacing);
	text-transform: var(--drakar-subtitle-text-transform);
}

.drakar-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Challenges */

.drakar-challenges {
	padding: var(--drakar-gap) 0 calc(var(--drakar-gap) * 1.2);
	background: var(--drakar-white);
}

.drakar-challenges__bottom {
	margin-top: 3.5rem;
}

.drakar-challenges__list {
	margin: 0;
	padding: 0.5rem 0 0;
	list-style: none;
	color: var(--drakar-blue);
	font-family: var(--drakar-list-font-family);
	font-size: var(--drakar-list-font-size);
	font-weight: var(--drakar-list-font-weight);
	letter-spacing: var(--drakar-list-letter-spacing);
	line-height: var(--drakar-list-line-height);
	text-transform: var(--drakar-list-text-transform);
}

.drakar-challenges__list li {
	display: flex;
	gap: 0.55rem;
	margin-bottom: 0.65em;
}

.drakar-challenges__list li::before {
	content: "↘";
	flex: 0 0 auto;
	font-family: "Segoe UI Symbol", "Segoe UI", sans-serif;
	font-weight: 400;
	text-transform: none;
}

/* Solution + cards */

.drakar-solution {
	padding: var(--drakar-gap) 0 0;
	background: var(--drakar-gray);
	overflow: hidden;
}

.drakar-solution .drakar-split {
	margin-bottom: 3.5rem;
}

.drakar-hl-card {
	flex: 0 0 min(340px, 78vw);
	display: flex;
	flex-direction: column;
	min-height: 280px;
	padding: 2rem 1.75rem 2.25rem;
	background: var(--drakar-white);
}

.drakar-hl-card__icon {
	width: 40px;
	height: 40px;
	margin-bottom: auto;
}

.drakar-hl-card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.drakar-hl-card__title {
	margin: 2.5rem 0 0.6rem;
	color: var(--drakar-blue);
	font-family: var(--drakar-title-card-font-family);
	font-size: var(--drakar-title-card-font-size);
	font-weight: var(--drakar-title-card-font-weight);
	line-height: var(--drakar-title-card-line-height);
	letter-spacing: var(--drakar-title-card-letter-spacing);
	text-transform: var(--drakar-title-card-text-transform);
}

.drakar-hl-card__text {
	margin: 0;
	color: var(--drakar-muted);
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
	text-transform: var(--drakar-testo-text-transform);
}

/* Experience / cases */

.drakar-experience,
.drakar-cases {
	padding: var(--drakar-gap) 0 calc(var(--drakar-gap) * 0.85);
	background: var(--drakar-blue);
	color: var(--drakar-white);
	overflow: hidden;
}

.drakar-experience .drakar-split,
.drakar-cases .drakar-wrap {
	margin-bottom: 6.5rem;
}

.drakar-experience__lead {
	margin: 0 0 1.5rem;
	max-width: 28rem;
	color: #d7d5ee;
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
	text-transform: var(--drakar-testo-text-transform);
}

.drakar-xp-card {
	flex: 0 0 min(860px, 86vw);
	display: grid;
	grid-template-columns: 1fr;
	min-height: 280px;
	padding: 1.75rem;
	background: var(--drakar-white);
	color: inherit;
	text-decoration: none;
	border-radius: 6px;
}

@media (min-width: 782px) {
	.drakar-xp-card {
		grid-template-columns: 1fr 1.15fr;
		gap: 1.5rem;
		align-items: stretch;
	}
}

.drakar-xp-card__copy {
	display: flex;
	flex-direction: column;
	color: var(--drakar-ink);
}

.drakar-xp-card__title {
	margin: 0 0 auto;
	color: var(--drakar-blue);
	font-family: var(--drakar-title-card-font-family);
	font-size: var(--drakar-title-card-font-size);
	font-weight: var(--drakar-title-card-font-weight);
	line-height: var(--drakar-title-card-line-height);
	letter-spacing: var(--drakar-title-card-letter-spacing);
	text-transform: var(--drakar-title-card-text-transform);
}

.drakar-xp-card__text {
	margin: 1.5rem 0 0;
	color: var(--drakar-muted);
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
	text-transform: var(--drakar-testo-text-transform);
}

.drakar-xp-card__cta {
	display: none;
	margin-top: 1rem;
	color: var(--drakar-blue);
	font-family: var(--drakar-link-font-family);
	font-size: var(--drakar-link-font-size);
	font-weight: var(--drakar-link-font-weight);
	letter-spacing: var(--drakar-link-letter-spacing);
	line-height: var(--drakar-link-line-height);
	text-transform: var(--drakar-link-text-transform);
}

.drakar-xp-card__media {
	min-height: 200px;
}

.drakar-xp-card--static {
	cursor: default;
}

/* Closing / custom */

.drakar-closing,
.drakar-custom,
.drakar-flow {
	padding: var(--drakar-gap) 0;
	background: var(--drakar-white);
}

.drakar-closing__grid,
.drakar-custom__media {
	display: grid;
	gap: 2rem 3rem;
}

@media (min-width: 782px) {
	.drakar-closing__grid,
	.drakar-custom__media {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}
}

.drakar-closing__heroimg,
.drakar-custom__large {
	min-height: 360px;
}

.drakar-closing__side .drakar-duo-pair {
	margin: 1.5rem 0;
}

.drakar-custom .drakar-h2 {
	max-width: min(100%, 9em);
}

.drakar-custom .drakar-split {
	align-items: start;
	margin-bottom: 3.5rem;
}

/* Foto di colonna che nel layout escono dal wrap fino al bordo viewport. */
@media (min-width: 782px) {
	.drakar-challenges,
	.drakar-closing,
	.drakar-flow,
	.drakar-custom {
		container-type: inline-size;
	}

	.drakar-challenges__bottom > .drakar-duo-pair,
	.drakar-closing__heroimg,
	.drakar-custom__media > .drakar-duo-pair {
		width: calc(100% + max(3rem, (100cqi - 1280px) / 2));
		max-width: none;
		margin-left: calc(max(3rem, (100cqi - 1280px) / 2) * -1);
	}

	.drakar-flow__support > .drakar-duo-pair,
	.drakar-closing__side .drakar-duo-pair,
	.drakar-custom__large {
		width: calc(100% + max(3rem, (100cqi - 1280px) / 2));
		max-width: none;
		margin-right: calc(max(3rem, (100cqi - 1280px) / 2) * -1);
	}
}

@media (min-width: 1025px) {
	.drakar-custom__media {
		column-gap: 12rem;
	}
}

.drakar-flow__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	margin: 3rem 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 600px) {
	.drakar-flow__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.drakar-flow__grid,
	.drakar-flow__grid--few {
		grid-template-columns: repeat(3, 1fr);
	}
}

.drakar-flow__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 132px;
	padding: 1.15rem 1.25rem;
	border: 1px solid #e4e4ea;
	border-radius: 4px;
	background: var(--drakar-white);
}

.drakar-flow__label {
	color: var(--drakar-blue);
	font-family: var(--drakar-title-card-font-family);
	font-size: var(--drakar-title-card-font-size);
	font-weight: var(--drakar-title-card-font-weight);
	line-height: var(--drakar-title-card-line-height);
	letter-spacing: var(--drakar-title-card-letter-spacing);
	text-transform: var(--drakar-title-card-text-transform);
}

.drakar-flow__icon {
	align-self: flex-end;
	width: 36px;
	height: 36px;
	flex: 0 0 auto;
}

.drakar-flow__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.drakar-flow__support {
	margin-top: 3.5rem;
	align-items: center;
}

/* Slider */

.drakar-slider {
	padding-bottom: var(--drakar-gap);
	cursor: grab;
}

.drakar-slider:active {
	cursor: grabbing;
}

/* Il drag non deve selezionare il testo delle card. */
.drakar-slider.is-infinite,
.drakar-slider.is-infinite * {
	-webkit-user-select: none;
	user-select: none;
}

.drakar-slider.is-infinite img {
	-webkit-user-drag: none;
}

.drakar-slider__viewport {
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	/* Stesso offset della colonna; il clip resta a tutta larghezza. */
	padding-left: max(1.25rem, calc((100% - min(1280px, calc(100% - 2.5rem))) / 2));
}

@media (min-width: 782px) {
	.drakar-slider__viewport {
		padding-left: max(3rem, calc((100% - min(1280px, calc(100% - 6rem))) / 2));
	}
}

.drakar-slider__track {
	display: flex;
	gap: 1rem;
	will-change: transform;
}

.drakar-slider--cards .drakar-slider__track {
	padding-right: 1.5rem;
}

/* Slide industries e case: colonna intera su mobile/tablet, 10/12 da desktop. */
.drakar-experience,
.drakar-cases {
	container-type: inline-size;
}

.drakar-experience .drakar-xp-card,
.drakar-cases .drakar-xp-card {
	flex: 0 0 min(1280px, calc(100cqi - 2.5rem));
	width: min(1280px, calc(100cqi - 2.5rem));
	min-width: 0;
	max-width: none;
	box-sizing: border-box;
}

@media (min-width: 782px) {
	.drakar-experience .drakar-xp-card,
	.drakar-cases .drakar-xp-card {
		flex-basis: min(1280px, calc(100cqi - 6rem));
		width: min(1280px, calc(100cqi - 6rem));
	}
}

@media (min-width: 1025px) {
	.drakar-experience .drakar-xp-card,
	.drakar-cases .drakar-xp-card {
		flex-basis: calc(min(1280px, calc(100cqi - 6rem)) * 10 / 12);
		width: calc(min(1280px, calc(100cqi - 6rem)) * 10 / 12);
	}
}

/* Contact */

.drakar-contact {
	position: relative;
	padding: 4rem 0 5rem;
	background: var(--drakar-blue);
}

.drakar-contact__card {
	width: min(640px, calc(100% - 2.5rem));
	margin: 2.5rem auto 0;
	padding: 3rem 2.25rem 2.5rem;
	background: var(--drakar-gray);
	text-align: center;
}

.drakar-contact__title {
	margin: 0;
	max-width: min(100%, 12em);
	color: var(--drakar-white);
	font-family: var(--drakar-title-form-font-family);
	font-size: var(--drakar-title-form-font-size);
	font-weight: var(--drakar-title-form-font-weight);
	line-height: var(--drakar-title-form-line-height);
	letter-spacing: var(--drakar-title-form-letter-spacing);
	text-transform: var(--drakar-title-form-text-transform);
	overflow-wrap: break-word;
}

.drakar-contact__text {
	margin: 0 0 1.75rem;
	color: var(--drakar-blue);
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
	text-transform: var(--drakar-testo-text-transform);
}

.drakar-contact__form {
	text-align: left;
}

/* Archive */

.drakar-cpt--solutions-archive,
.drakar-cpt--industries-archive {
	padding: 4rem 0 5rem;
	background: var(--drakar-white);
}

.drakar-cpt__archive-header,
.drakar-archive-grid,
.drakar-cpt--solutions-archive > p,
.drakar-cpt--industries-archive > p {
	width: var(--drakar-wrap);
	margin-inline: auto;
}

.drakar-cpt__archive-title {
	margin: 0 0 2rem;
	color: var(--drakar-blue);
	font-family: var(--drakar-title-font-family);
	font-size: var(--drakar-title-font-size);
	font-weight: var(--drakar-title-font-weight);
	line-height: var(--drakar-title-line-height);
	letter-spacing: var(--drakar-title-letter-spacing);
	text-transform: var(--drakar-title-text-transform);
}

.drakar-archive-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

@media (min-width: 782px) {
	.drakar-archive-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.drakar-listing-card {
	background: var(--drakar-gray);
}

.drakar-listing-card__link {
	display: grid;
	color: inherit;
	text-decoration: none;
}

.drakar-listing-card__media {
	min-height: 220px;
}

.drakar-listing-card__body {
	padding: 1.5rem;
}

.drakar-listing-card__title {
	margin: 0 0 0.75rem;
	color: var(--drakar-blue);
	font-family: var(--drakar-title-card-font-family);
	font-size: var(--drakar-title-card-font-size);
	font-weight: var(--drakar-title-card-font-weight);
	line-height: var(--drakar-title-card-line-height);
	letter-spacing: var(--drakar-title-card-letter-spacing);
	text-transform: var(--drakar-title-card-text-transform);
}

.drakar-listing-card__excerpt {
	margin: 0;
	color: var(--drakar-muted);
	font-family: var(--drakar-testo-font-family);
	font-size: var(--drakar-testo-font-size);
	font-weight: var(--drakar-testo-font-weight);
	line-height: var(--drakar-testo-line-height);
	letter-spacing: var(--drakar-testo-letter-spacing);
	text-transform: var(--drakar-testo-text-transform);
}

@media (max-width: 781px) {
	.drakar-hero {
		min-height: 100svh;
		align-items: flex-end;
	}

	.drakar-hero__title-desk,
	.drakar-btn__desk {
		display: none;
	}

	.drakar-hero__title-mob,
	.drakar-btn__mob {
		display: inline;
	}

	.drakar-hero__cta {
		flex-direction: column;
		width: min(100%, 22rem);
	}

	.drakar-btn {
		width: 100%;
	}

	.drakar-btn--primary {
		background: var(--drakar-blue);
		color: var(--drakar-white);
	}

	.drakar-btn--secondary {
		background: var(--drakar-white);
		border-color: var(--drakar-white);
		color: var(--drakar-blue);
	}

	.drakar-xp-card__cta {
		display: inline-block;
	}

	.drakar-contact {
		padding-top: 2.5rem;
	}

	.drakar-contact__card {
		width: 100%;
		padding: 2.25rem 1.25rem 3rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.drakar-slider__track {
		will-change: auto;
	}
}

/* Vince sul colore link del kit Elementor. */
.drakar-cpt-body .drakar-cpt a.drakar-textlink,
.drakar-cpt-body .drakar-cpt .drakar-textlink {
	color: var(--drakar-blue) !important;
}

.drakar-cpt-body .drakar-cpt a.drakar-btn--primary {
	background: var(--drakar-white) !important;
	color: var(--drakar-blue) !important;
}

.drakar-cpt-body .drakar-cpt a.drakar-btn--secondary {
	background: transparent !important;
	border-color: var(--drakar-white) !important;
	color: var(--drakar-white) !important;
}

.drakar-cpt-body .drakar-cpt a.drakar-btn--on-dark {
	background: #d8d8e8 !important;
	color: var(--drakar-blue) !important;
}

.drakar-cpt-body .drakar-cpt .drakar-h2,
.drakar-cpt-body .drakar-cpt .drakar-hl-card__title,
.drakar-cpt-body .drakar-cpt .drakar-xp-card__title,
.drakar-cpt-body .drakar-cpt .drakar-xp-card__cta,
.drakar-cpt-body .drakar-cpt .drakar-listing-card__title,
.drakar-cpt-body .drakar-cpt .drakar-contact__text,
.drakar-cpt-body .drakar-cpt .drakar-flow__label,
.drakar-cpt-body .drakar-cpt .drakar-challenges__list {
	color: var(--drakar-blue);
}

.drakar-cpt-body .drakar-cpt .drakar-h2--light {
	color: var(--drakar-white);
}

@media (max-width: 781px) {
	.drakar-cpt-body .drakar-cpt a.drakar-btn--primary {
		background: var(--drakar-blue) !important;
		color: var(--drakar-white) !important;
	}

	.drakar-cpt-body .drakar-cpt a.drakar-btn--secondary {
		background: var(--drakar-white) !important;
		border-color: var(--drakar-white) !important;
		color: var(--drakar-blue) !important;
	}
}
