/*
 * Template "Lamec – Cablit Tunisia"
 * Brand system Lamec: palette, tipografia (Raleway / Outfit / Space Mono),
 * "la linea" arancio 2px. Si appoggia a lamec-pages.css (reset e --lamec-base).
 * Arancio mai come colore di testo su fondo chiaro.
 *
 * Outfit e Space Mono sono ospitati nel plugin (nessuna richiesta a server esterni),
 * licenza SIL OFL 1.1: vedi assets/fonts/LICENSE-*.txt.
 * Raleway lo carica già il tema Magnium.
 */

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/outfit-latin-300-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/outfit-latin-400-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/outfit-latin-500-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Space Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/space-mono-latin-400-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Space Mono";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/space-mono-latin-700-normal.woff2") format("woff2");
}

.lamec-ct {
	--ct-navy: #243250;
	--ct-white: #ffffff;
	--ct-ink: #222222;
	--ct-orange: #e58b2e;
	--ct-grey: #6b7280;
	--ct-grey-strong: #555c69;
	--ct-pale: #f0f2f5;
	--ct-font-display: "Raleway", "Segoe UI", system-ui, sans-serif;
	--ct-font-body: "Outfit", "Segoe UI", system-ui, sans-serif;
	--ct-font-mono: "Space Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
	--ct-space: calc(var(--lamec-base) * 0.5);
	--ct-line: 2px;

	background: var(--ct-white);
	color: var(--ct-ink);
	font-family: var(--ct-font-body);
	font-weight: 300;
}

/* Contenitore */
.lamec-ct__container {
	width: 100%;
	max-width: calc(var(--lamec-base) * 75);
	margin-inline: auto;
	padding-inline: calc(var(--ct-space) * 2);
}

/* Elementi ricorrenti */
.lamec-ct__eyebrow {
	display: flex;
	align-items: center;
	gap: calc(var(--ct-space) * 2);
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 0.8125);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lamec-ct__dash {
	flex: none;
	width: calc(var(--ct-space) * 5);
	height: var(--ct-line);
	background: var(--ct-orange);
}

.lamec-ct__title {
	margin-top: calc(var(--ct-space) * 2);
	font-family: var(--ct-font-display);
	font-size: calc(var(--lamec-base) * 2);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.lamec-ct__subtitle {
	margin-top: var(--ct-space);
	color: var(--ct-grey);
	font-size: calc(var(--lamec-base) * 1.125);
	font-weight: 400;
}

.lamec-ct__subtitle::after {
	content: "";
	display: block;
	width: calc(var(--ct-space) * 20);
	max-width: 100%;
	height: var(--ct-line);
	margin-top: calc(var(--ct-space) * 2);
	background: var(--ct-orange);
}

/* Sezioni */
.lamec-ct__section {
	padding-block: calc(var(--ct-space) * 8);
}

.lamec-ct__section--pale {
	background: var(--ct-pale);
}

.lamec-ct__section--pale .lamec-ct__subtitle {
	color: var(--ct-grey-strong);
}

.lamec-ct__section--navy {
	background: var(--ct-navy);
	color: var(--ct-white);
}

.lamec-ct__section--navy .lamec-ct__subtitle {
	color: rgba(255, 255, 255, 0.82);
}

/* Due colonne: testo + immagini */
.lamec-ct__split {
	display: grid;
	gap: calc(var(--ct-space) * 5);
	align-items: center;
}

.lamec-ct__text > * + .lamec-ct__card,
.lamec-ct__text > * + .lamec-ct__cards,
.lamec-ct__text > * + .lamec-ct__checks {
	margin-top: calc(var(--ct-space) * 4);
}

/* Immagini */
.lamec-ct__media {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--ct-pale);
}

.lamec-ct__media--tall {
	aspect-ratio: 4 / 5;
}

.lamec-ct__media--natural {
	aspect-ratio: auto;
	object-fit: contain;
}

.lamec-ct__media-pair {
	display: grid;
	gap: calc(var(--ct-space) * 2);
}

/* Card */
.lamec-ct__cards {
	display: grid;
	gap: calc(var(--ct-space) * 2);
}

.lamec-ct__card {
	padding: calc(var(--ct-space) * 3);
	background: var(--ct-pale);
	color: var(--ct-ink);
}

.lamec-ct__section--pale .lamec-ct__card {
	background: var(--ct-white);
}

.lamec-ct__card--on-navy {
	background: rgba(255, 255, 255, 0.06);
	color: var(--ct-white);
	border-left: var(--ct-line) solid var(--ct-orange);
}

.lamec-ct__card--line {
	border-top: var(--ct-line) solid var(--ct-orange);
}

.lamec-ct__card-kicker {
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 0.8125);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ct-grey-strong);
}

.lamec-ct__card-title {
	font-family: var(--ct-font-body);
	font-size: calc(var(--lamec-base) * 1.375);
	font-weight: 500;
	line-height: 1.25;
}

.lamec-ct__card-kicker + .lamec-ct__card-title {
	margin-top: var(--ct-space);
}

.lamec-ct__card-title + p {
	margin-top: var(--ct-space);
}

.lamec-ct__grid-3 {
	display: grid;
	gap: calc(var(--ct-space) * 2);
	margin-top: calc(var(--ct-space) * 5);
}

.lamec-ct__media-pair--wide {
	margin-top: calc(var(--ct-space) * 3);
}

/* Hero */
.lamec-ct__hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: calc(var(--lamec-base) * 34);
	background: var(--ct-navy);
	color: var(--ct-white);
	overflow: hidden;
	isolation: isolate;
}

.lamec-ct__hero-img {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
	opacity: 0.35;
}

.lamec-ct__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(36, 50, 80, 0.2) 0%, var(--ct-navy) 92%);
}

.lamec-ct__hero-inner {
	padding-block: calc(var(--ct-space) * 8) calc(var(--ct-space) * 6);
}

.lamec-ct__hero-title {
	margin-top: calc(var(--ct-space) * 3);
	max-width: 12ch;
	font-family: var(--ct-font-display);
	font-size: calc(var(--lamec-base) * 2.75);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.lamec-ct__stats {
	display: grid;
	gap: calc(var(--ct-space) * 2);
	margin: calc(var(--ct-space) * 5) 0 0;
	padding-top: calc(var(--ct-space) * 3);
	border-top: var(--ct-line) solid var(--ct-orange);
}

.lamec-ct__stat {
	display: flex;
	flex-direction: column-reverse;
	gap: calc(var(--ct-space) * 0.5);
}

.lamec-ct__stat dt {
	font-size: calc(var(--lamec-base) * 0.9375);
	font-weight: 300;
	color: rgba(255, 255, 255, 0.82);
}

.lamec-ct__stat dd {
	margin: 0;
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 1.75);
	font-weight: 700;
	line-height: 1.1;
	color: var(--ct-orange);
}

/* Dove siamo */
.lamec-ct__routes {
	display: grid;
	gap: calc(var(--ct-space) * 3);
	margin-top: calc(var(--ct-space) * 5);
}

.lamec-ct__route {
	display: grid;
	gap: calc(var(--ct-space) * 0.5);
	padding-top: calc(var(--ct-space) * 2);
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.lamec-ct__route-kind {
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 0.8125);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

.lamec-ct__route-name {
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 1.125);
	font-weight: 700;
}

.lamec-ct__route-data {
	color: var(--ct-orange);
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 0.9375);
}

/* Controllo qualità */
.lamec-ct__checks {
	display: grid;
	gap: var(--ct-space);
}

.lamec-ct__checks li {
	padding: calc(var(--ct-space) * 1.5) calc(var(--ct-space) * 2);
	border-left: calc(var(--ct-line) * 2) solid var(--ct-orange);
	background: var(--ct-pale);
	font-size: calc(var(--lamec-base) * 1.125);
	font-weight: 400;
}

/* Contatti */
.lamec-ct__address {
	display: grid;
	gap: calc(var(--ct-space) * 0.5);
	padding-left: calc(var(--ct-space) * 3);
	border-left: var(--ct-line) solid var(--ct-orange);
	font-style: normal;
	font-size: calc(var(--lamec-base) * 1.125);
}

.lamec-ct__address strong {
	font-weight: 500;
}

.lamec-ct__address-links {
	display: grid;
	gap: calc(var(--ct-space) * 0.5);
	margin-top: calc(var(--ct-space) * 2);
	font-family: var(--ct-font-mono);
	font-size: calc(var(--lamec-base) * 0.9375);
}

.lamec-ct__address-links a {
	color: var(--ct-white);
	text-decoration-color: var(--ct-orange);
}

.lamec-ct__address-links a:hover {
	text-decoration-thickness: 2px;
}

/* Raccordo con il footer del tema: niente fascia bianca tra Contatti e footer (entrambi navy) */
.lamec-ct__contact {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

body.lamec-pages-template .footer-sidebar-2-wrapper {
	margin-top: 0;
}

/* Tablet */
@media (min-width: 768px) {
	.lamec-ct__container {
		padding-inline: calc(var(--ct-space) * 5);
	}

	.lamec-ct__section {
		padding-block: calc(var(--ct-space) * 12);
	}

	.lamec-ct__title {
		font-size: calc(var(--lamec-base) * 2.75);
	}

	.lamec-ct__hero {
		min-height: calc(var(--lamec-base) * 40);
	}

	.lamec-ct__hero-title {
		font-size: calc(var(--lamec-base) * 4.5);
	}

	.lamec-ct__stats,
	.lamec-ct__routes,
	.lamec-ct__grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}

	.lamec-ct__media-pair {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
}

/* Desktop */
@media (min-width: 992px) {
	.lamec-ct__split {
		grid-template-columns: 1fr 1fr;
		gap: calc(var(--ct-space) * 10);
	}

	.lamec-ct__split--reverse > :first-child {
		order: 2;
	}

	.lamec-ct__media-pair {
		grid-template-columns: 1fr;
	}

	.lamec-ct__media-pair--wide {
		grid-template-columns: 1fr 1fr;
	}

	.lamec-ct__hero {
		min-height: calc(var(--lamec-base) * 44);
	}

	.lamec-ct__hero-title {
		font-size: calc(var(--lamec-base) * 5.5);
	}
}

@media (prefers-reduced-motion: reduce) {
	.lamec-ct * {
		transition: none !important;
		animation: none !important;
	}
}
