/* ══════════════════════════════════════
   Personnalisations Nelson Galley
   Chargé après main.css et responsive.css : les fichiers du thème restent intacts.
   ══════════════════════════════════════ */

/* ── Logo texte ── */
.tj-header-area .logo-box.logo-text {
	max-width: none;
	width: auto;
}
.tj-header-area .logo-box.logo-text a {
	font-family: var(--tj-ff-heading);
	font-size: 26px;
	font-weight: var(--tj-fw-bold);
	letter-spacing: -0.02em;
	color: var(--tj-white);
	text-decoration: none;
}
.tj-header-area .logo-box.logo-text a span {
	color: var(--tj-theme-primary);
}

/* ── Hero : mot de fond plus long que le "HI" d'origine ── */
.hero-section .intro_text svg text {
	font-size: 190px;
}

/* ── Hero : portrait en mode sombre ── */
.hero-image-box img {
	width: 437px;
	max-width: 100%;
	aspect-ratio: 437 / 475;
	object-fit: cover;
	object-position: center top;
	filter: grayscale(1) brightness(0.72) contrast(1.12);
}
.hero-image-box img:hover {
	filter: grayscale(1) brightness(0.85) contrast(1.08);
}
@media (max-width: 767px) {
	.hero-image-box img {
		max-width: 80%;
	}
}

/* ── Typographie française : pas de majuscule à chaque mot ── */
.btn,
.tj-btn-primary,
.tj-btn-secondary,
.services-widget .service-item .left-box .service-title,
.portfolio-filter .button-group button {
	text-transform: none;
}

/* ── Outils : usage de chaque logiciel à la place du pourcentage, sans zoom au survol ── */
.skills-widget .skill-item {
	max-width: 200px;
}
.skills-widget .skill-item .number {
	font-size: 13px;
	font-weight: var(--tj-fw-medium);
	line-height: 1.4;
}
.skills-widget .skill-item p {
	font-weight: var(--tj-fw-bold);
}
/* Icônes toujours en couleur, pas seulement au survol */
.skills-widget .skill-item .icon-box img,
.skills-widget .skill-item:hover .icon-box img {
	filter: none;
	-webkit-filter: none;
	transform: none;
}

/* ── Clôture : bandeau de contact court, à la place du formulaire du thème ── */
.contact-section.cloture {
	padding: 130px 0 140px;
	overflow: hidden;
}
/* Halo violet centré derrière le texte */
.contact-section.cloture::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 520px;
	max-width: 80%;
	height: 320px;
	margin: -160px 0 0 -260px;
	border-radius: 50%;
	background: var(--tj-theme-primary);
	filter: blur(150px);
	opacity: 0.28;
	pointer-events: none;
}
.cloture-box {
	position: relative;
	max-width: 640px;
	margin: 0 auto;
}
.cloture-statut {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	padding: 8px 16px;
	border: 1px solid var(--tj-theme-secondary);
	border-radius: 30px;
	background-color: rgba(var(--tj-theme-primary-rgb), 0.1);
	color: var(--tj-white);
	font-size: 13px;
	font-weight: var(--tj-fw-medium);
	line-height: 1;
}
.cloture-statut::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: var(--tj-theme-primary);
	box-shadow: 0 0 10px 2px rgba(var(--tj-theme-primary-rgb), 0.7);
}
.cloture-box .section-title {
	margin-bottom: 18px;
	font-size: 54px;
	line-height: 1.15;
	background: linear-gradient(to right, var(--tj-theme-primary) 0%, var(--tj-white) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.cloture-box p {
	margin-bottom: 34px;
	font-size: 17px;
	line-height: 1.7;
}
/* Le thème fait pivoter les icônes des boutons (prévu pour ses flèches) : pas ici */
.cloture-box .btn i,
.cloture-box .btn:hover i {
	margin-right: 8px;
	font-size: 18px;
	vertical-align: -1px;
	transform: none;
}
.cloture-box .cloture-lieu {
	margin: 26px 0 0;
	color: var(--tj-grey-1);
	font-size: 14px;
}
.cloture-box .cloture-lieu i {
	margin-right: 6px;
	color: var(--tj-theme-primary);
}
@media (max-width: 767px) {
	.contact-section.cloture {
		padding: 90px 0 100px;
	}
	.cloture-box .section-title {
		font-size: 36px;
	}
}

/* ── En-tête : menu centré entre le logo et le bouton ── */
@media (min-width: 992px) {
	.tj-header-area .logo-box.logo-text,
	.tj-header-area .header-button {
		flex: 1 1 0;
		margin: 0;
	}
	.tj-header-area .header-button {
		display: flex;
		justify-content: flex-end;
	}
	.tj-header-area .header-menu {
		margin: 0;
	}
}

/* ── Écran de chargement : "Chargement" compte 10 lettres, le thème en prévoyait 7 ──
   Taille et espacement suivent la largeur de l'écran pour tenir sur une ligne en mobile */
.preloader .preloader-heading .load-text {
	--espace: clamp(3px, 1.6vw, 15px);
	font-size: clamp(13px, 3.6vw, 20px);
	letter-spacing: var(--espace);
	/* compense l'espacement après la dernière lettre, pour rester centré */
	margin-right: calc(var(--espace) * -1);
	white-space: nowrap;
}
.load-text span:nth-child(8) {
	animation-delay: 0.7s;
}
.load-text span:nth-child(9) {
	animation-delay: 0.8s;
}
.load-text span:nth-child(10) {
	animation-delay: 0.9s;
}

/* ── Écran de chargement déjà vu dans cette visite : on ne le rejoue pas ── */
.sans-chargement .preloader {
	display: none !important;
}
/* Le hero attendait la fin du chargement (1 s et plus) avant d'apparaître */
.sans-chargement .hero-section .wow {
	animation-delay: 0s !important;
}
