/**
 * Aguilera.ch — Identité visuelle
 * Palette : noir #0a0a0a | gris #6b7280 / #f0f0f0 | blanc #ffffff | bleu marine #1a2744
 */

:root {
	--agu-navy: #1a2744;
	--agu-navy-light: #2a3f66;
	--agu-navy-dark: #0f1829;
	--agu-black: #0a0a0a;
	--agu-gray: #6b7280;
	--agu-gray-light: #f0f0f0;
	--agu-gray-mid: #d1d5db;
	--agu-white: #ffffff;
	--agu-accent: #3b82f6;
	--agu-gradient: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
}

/* ── Typographie globale ── */
body.aguilera-theme {
	font-family: 'Inter', 'Roboto', sans-serif;
	color: var(--agu-black);
	-webkit-font-smoothing: antialiased;
}

body.aguilera-theme h1,
body.aguilera-theme h2,
body.aguilera-theme h3,
body.aguilera-theme h4,
body.aguilera-theme h5,
body.aguilera-theme h6,
body.aguilera-theme .elementor-heading-title {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	letter-spacing: 0.02em;
}

/* ── Couleurs Elementor Kit (override globals) ── */
body.aguilera-theme {
	--e-global-color-primary: var(--agu-navy);
	--e-global-color-secondary: var(--agu-gray-light);
	--e-global-color-text: var(--agu-black);
	--e-global-color-accent: var(--agu-navy-light);
}

/* ── Header / Navigation ── */
body.aguilera-theme .elementor-location-header {
	background-color: var(--agu-navy-dark) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.aguilera-theme .elementor-nav-menu--main .elementor-item {
	color: var(--agu-white) !important;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: color 0.25s ease;
}

body.aguilera-theme .elementor-nav-menu--main .elementor-item:hover,
body.aguilera-theme .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: #93c5fd !important;
}

body.aguilera-theme .elementor-search-form__input {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: var(--agu-white) !important;
	border-radius: 4px;
}

body.aguilera-theme .elementor-search-form__submit {
	background: var(--agu-navy-light) !important;
	color: var(--agu-white) !important;
	border-radius: 4px;
}

/* ── Hero ── */
body.aguilera-theme .elementor-element-43d80949 {
	background-color: var(--agu-navy-dark) !important;
}

body.aguilera-theme .elementor-element-43d80949::before {
	background: linear-gradient(
		160deg,
		rgba(15, 24, 41, 0.92) 0%,
		rgba(26, 39, 68, 0.85) 50%,
		rgba(10, 10, 10, 0.75) 100%
	) !important;
	opacity: 1 !important;
}

body.aguilera-theme .elementor-element-5862066 .elementor-heading-title {
	color: var(--agu-white) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(1.4rem, 3vw, 2.2rem) !important;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

/* ── Section À propos ── */
body.aguilera-theme .elementor-element-36ea2fd8,
body.aguilera-theme .elementor-element-afbe89f {
	background-color: var(--agu-white) !important;
}

body.aguilera-theme .elementor-element-06400bf .elementor-heading-title {
	color: var(--agu-navy) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

body.aguilera-theme .elementor-element-5ab11fe .elementor-divider-separator {
	border-color: var(--agu-navy) !important;
}

body.aguilera-theme .elementor-element-7b8ce14 img {
	border: 4px solid var(--agu-navy);
	box-shadow: 0 8px 32px rgba(26, 39, 68, 0.2);
}

body.aguilera-theme .elementor-element-60ab0eb,
body.aguilera-theme .elementor-element-c8063b9 {
	color: var(--agu-gray) !important;
	line-height: 1.75;
}

/* ── Masquer le bloc certifications (legacy) ── */
body.aguilera-theme .elementor-element-b876ee4 {
	display: none !important;
}

/* ── Compétences clés ── */
body.aguilera-theme .elementor-element-5f4e313 {
	background-color: var(--agu-navy) !important;
	background-image: none !important;
}

body.aguilera-theme .elementor-element-6b995ea .elementor-heading-title {
	color: var(--agu-white) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
}

body.aguilera-theme .elementor-element-6bfc649 .elementor-divider-separator {
	border-color: rgba(255, 255, 255, 0.4) !important;
}

/* Skill cards — alternance navy clair / gris */
body.aguilera-theme .elementor-element-51d8915,
body.aguilera-theme .elementor-element-575db8f,
body.aguilera-theme .elementor-element-4dad38e {
	background-color: var(--agu-navy-light) !important;
	transition: background-color 0.3s ease, transform 0.3s ease;
}

body.aguilera-theme .elementor-element-e13cfd4,
body.aguilera-theme .elementor-element-2b0dc44,
body.aguilera-theme .elementor-element-65d5c4f {
	background-color: rgba(255, 255, 255, 0.06) !important;
	transition: background-color 0.3s ease, transform 0.3s ease;
}

body.aguilera-theme .elementor-element-51d8915:hover,
body.aguilera-theme .elementor-element-e13cfd4:hover,
body.aguilera-theme .elementor-element-575db8f:hover,
body.aguilera-theme .elementor-element-2b0dc44:hover,
body.aguilera-theme .elementor-element-4dad38e:hover,
body.aguilera-theme .elementor-element-65d5c4f:hover {
	background-color: rgba(59, 130, 246, 0.25) !important;
	transform: translateY(-4px);
}

body.aguilera-theme .elementor-element-e950fc5 .elementor-heading-title,
body.aguilera-theme .elementor-element-e296e98 .elementor-heading-title,
body.aguilera-theme .elementor-element-211cbc3 .elementor-heading-title,
body.aguilera-theme .elementor-element-9b3b345 .elementor-heading-title,
body.aguilera-theme .elementor-element-7ce3651 .elementor-heading-title,
body.aguilera-theme .elementor-element-6520f85 .elementor-heading-title {
	color: var(--agu-white) !important;
	font-size: 0.85rem !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600 !important;
}

body.aguilera-theme .elementor-element-a15a9a8 .elementor-heading-title,
body.aguilera-theme .elementor-element-46f1f28 .elementor-heading-title,
body.aguilera-theme .elementor-element-93dcd7c .elementor-heading-title,
body.aguilera-theme .elementor-element-830afa6 .elementor-heading-title,
body.aguilera-theme .elementor-element-312f400 .elementor-heading-title,
body.aguilera-theme .elementor-element-835ac30 .elementor-heading-title {
	color: #93c5fd !important;
	font-weight: 700 !important;
}

/* ── Footer / Contact ── */
body.aguilera-theme .elementor-element-3cdf358 {
	background-color: var(--agu-navy) !important;
}

body.aguilera-theme .elementor-element-e92c70e {
	background-color: var(--agu-gray-light) !important;
}

body.aguilera-theme .elementor-element-7b0f4bc .elementor-heading-title,
body.aguilera-theme .elementor-element-c35076b .elementor-heading-title {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

body.aguilera-theme .elementor-element-c35076b .elementor-heading-title {
	color: var(--agu-navy) !important;
}

body.aguilera-theme .elementor-element-99b8161 .elementor-divider-separator,
body.aguilera-theme .elementor-element-207d011 .elementor-divider-separator {
	border-color: var(--agu-accent) !important;
}

/* Masquer badge LinkedIn dans Quick ID */
body.aguilera-theme .elementor-element-53103b6 {
	display: none !important;
}

/* Formulaire contact */
body.aguilera-theme .elementor-element-dd75628 .elementor-field {
	border-bottom-color: var(--agu-navy) !important;
	color: var(--agu-black);
	font-family: 'Inter', sans-serif;
}

body.aguilera-theme .elementor-element-dd75628 .elementor-field:focus {
	border-bottom-color: var(--agu-accent) !important;
}

body.aguilera-theme .elementor-element-dd75628 .elementor-button[type="submit"] {
	background-color: var(--agu-navy) !important;
	color: var(--agu-white) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 12px 32px !important;
	border-radius: 4px !important;
	transition: background-color 0.25s ease;
}

body.aguilera-theme .elementor-element-dd75628 .elementor-button[type="submit"]:hover {
	background-color: var(--agu-navy-light) !important;
}

/* Réseaux sociaux */
body.aguilera-theme .elementor-element-a723185 .elementor-social-icon {
	background-color: var(--agu-navy) !important;
	border-radius: 50%;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

body.aguilera-theme .elementor-element-a723185 .elementor-social-icon:hover {
	background-color: var(--agu-accent) !important;
	transform: scale(1.1);
}

body.aguilera-theme .elementor-element-3130b4b {
	background-color: var(--agu-black) !important;
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}

body.aguilera-theme .elementor-element-4041f89 {
	color: var(--agu-gray-mid) !important;
	font-size: 0.85rem;
}

body.aguilera-theme .elementor-element-4041f89 h6 {
	color: var(--agu-gray-mid) !important;
	font-weight: 400;
	margin: 0;
}

/* ── Liens ── */
body.aguilera-theme a {
	transition: color 0.2s ease;
}

body.aguilera-theme .elementor-element-3cdf358 a {
	color: #93c5fd !important;
}

body.aguilera-theme .elementor-element-3cdf358 a:hover {
	color: var(--agu-white) !important;
}

/* ── Responsive ── */
@media (max-width: 767px) {
	body.aguilera-theme .elementor-element-eedf7b3 {
		grid-template-columns: 1fr !important;
	}

	body.aguilera-theme .elementor-element-5862066 .elementor-heading-title {
		font-size: 1.2rem !important;
	}
}

/* ── Animations subtiles ── */
body.aguilera-theme .elementor-element-7b8ce14 img,
body.aguilera-theme .elementor-element-bfc06cb img {
	transition: transform 0.4s ease;
}

body.aguilera-theme .elementor-element-7b8ce14:hover img {
	transform: scale(1.02);
}

/* ── Page Compétences ── */
body.aguilera-theme .elementor-element-sk001hero {
	background-color: var(--agu-navy-dark) !important;
	min-height: 420px !important;
}

body.aguilera-theme .elementor-element-sk001hero::before {
	background: linear-gradient(
		180deg,
		rgba(15, 24, 41, 0.75) 0%,
		rgba(26, 39, 68, 0.88) 60%,
		rgba(15, 24, 41, 0.92) 100%
	) !important;
	opacity: 1 !important;
}

body.aguilera-theme .elementor-element-sk002title .elementor-heading-title {
	color: var(--agu-white) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 0 !important;
}

body.aguilera-theme .elementor-element-sk003subtitle .elementor-heading-title {
	color: rgba(147, 197, 253, 0.85) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 400 !important;
	font-size: clamp(0.82rem, 2vw, 0.95rem) !important;
	line-height: 1.65 !important;
	letter-spacing: 0.03em;
	max-width: 920px;
	margin: 0 auto;
}

body.aguilera-theme .elementor-element-sk010visual {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 12px;
}

/* Hero compétences : photo + 5 piliers */
.agu-competences-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.agu-competences-hero__photo {
	position: relative;
	z-index: 2;
}

.agu-competences-hero__photo img {
	width: 130px;
	height: 130px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center 18%;
	border: 3px solid rgba(255, 255, 255, 0.9);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 6px rgba(26, 39, 68, 0.5);
	display: block;
	filter: grayscale(100%) contrast(1.08) brightness(1.04);
}

/* Visuel dédié 5 piliers */
.agu-competences-visual {
	position: relative;
	width: 100%;
	padding: 4px 0;
}

.agu-competences-visual__line {
	position: absolute;
	top: 50%;
	left: 4%;
	right: 4%;
	height: 2px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(56, 189, 248, 0.35) 12%,
		rgba(129, 140, 248, 0.35) 30%,
		rgba(167, 139, 250, 0.35) 50%,
		rgba(52, 211, 153, 0.35) 68%,
		rgba(251, 146, 60, 0.35) 84%,
		transparent
	);
	transform: translateY(-50%);
	z-index: 0;
}

.agu-competences-visual__items {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	position: relative;
	z-index: 1;
	align-items: stretch;
}

.agu-competences-visual__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 14px 10px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	min-height: 118px;
	transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.agu-competences-visual__item:hover {
	transform: translateY(-3px);
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.25);
}

.agu-competences-visual__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
}

.agu-competences-visual__icon svg {
	width: 28px;
	height: 28px;
	display: block;
	flex-shrink: 0;
}

.agu-competences-visual__item--cyber .agu-competences-visual__icon {
	background: rgba(56, 189, 248, 0.2);
	color: #38bdf8;
}

.agu-competences-visual__item--cloud .agu-competences-visual__icon {
	background: rgba(99, 102, 241, 0.2);
	color: #818cf8;
}

.agu-competences-visual__item--ai .agu-competences-visual__icon {
	background: rgba(167, 139, 250, 0.2);
	color: #a78bfa;
}

.agu-competences-visual__item--project .agu-competences-visual__icon {
	background: rgba(52, 211, 153, 0.2);
	color: #34d399;
}

.agu-competences-visual__item--devops .agu-competences-visual__icon {
	background: rgba(251, 146, 60, 0.2);
	color: #fb923c;
}

.agu-competences-visual__label {
	font-family: 'Montserrat', sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.9);
	text-align: center;
	line-height: 1.35;
	min-height: 2.7em;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 960px) {
	.agu-competences-visual__items {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.agu-competences-visual__item {
		grid-column: span 2;
	}

	.agu-competences-visual__item:nth-child(4) {
		grid-column: 2 / span 2;
	}

	.agu-competences-visual__item:nth-child(5) {
		grid-column: 4 / span 2;
	}
}

@media (max-width: 640px) {
	.agu-competences-visual__items {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.agu-competences-visual__line {
		display: none;
	}

	.agu-competences-visual__item {
		flex-direction: row;
		width: 100%;
		max-width: 300px;
		min-height: unset;
		padding: 12px 16px;
	}

	.agu-competences-visual__item:nth-child(4),
	.agu-competences-visual__item:nth-child(5) {
		grid-column: auto;
		justify-self: auto;
		width: 100%;
	}

	.agu-competences-visual__label {
		min-height: unset;
		text-align: left;
		justify-content: flex-start;
	}
}

body.aguilera-theme .elementor-element-sk004intro {
	background-color: var(--agu-white) !important;
}

body.aguilera-theme .elementor-element-sk006certs {
	background-color: var(--agu-gray-light) !important;
}

body.aguilera-theme .elementor-element-sk007certtitle .elementor-heading-title {
	color: var(--agu-navy) !important;
	font-family: 'Montserrat', sans-serif !important;
	text-transform: uppercase;
}

/* Masquer compétences sur la page Bienvenue (sécurité CSS) */
body.aguilera-theme.page-id-2 .elementor-element-5f4e313 {
	display: none !important;
}

/* ── Footer Hello Elementor (fallback) : plus compact ── */
body.aguilera-theme .site-footer,
body.aguilera-theme .site-footer.dynamic-footer {
	padding-block: 1rem !important;
	padding-inline: 1.5rem !important;
	min-height: 0 !important;
	background-color: var(--agu-black);
}

body.aguilera-theme .site-footer .footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0 !important;
}

body.aguilera-theme .site-footer .site-branding {
	gap: 0.25rem !important;
	flex-direction: row !important;
	align-items: center !important;
}

body.aguilera-theme .site-footer .site-branding .site-logo img {
	width: 48px !important;
	max-width: 48px !important;
	height: auto !important;
}

body.aguilera-theme .site-footer .site-description,
body.aguilera-theme .site-footer .copyright p {
	font-size: 0.8rem !important;
	color: var(--agu-gray-mid) !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

/* Scroll fluide */
html {
	scroll-behavior: smooth;
}
