/* PERFUM - styles du thème enfant (Agence Zeugma) - maquette Figma home du 01/10/2026 */
:root {
	--pf-ink: #1C3F46;
	--pf-olive: #73770E;
	--pf-lime: #CAD308;
	--pf-sand: #F1ECE2;
	--pf-white: #FFFFFF;
	--pf-text: #010101;
	--pf-line: #CDCDCD;
	--pf-bar-on: #D9D9D9;
	--pf-bar-off: #8A8A8A;
	--pf-serif: "ivypresto-headline", Georgia, "Times New Roman", serif;
	--pf-sans: "avenir-next-lt-pro", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
	--pf-gutter: 80px;
}
@media (max-width: 767px) {
	:root { --pf-gutter: 20px; }
}

/* ---------- Utilitaires ---------- */
.pf-visually-hidden, .pf-skip:not(:focus) {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.pf-skip:focus {
	position: fixed; z-index: 10001; top: 10px; left: 10px; padding: 10px 16px;
	background: var(--pf-white); color: var(--pf-ink); font: 400 14px/1 var(--pf-sans);
}
.pf-w500 { max-width: 500px; margin-inline: auto; }
.pf-w600 { max-width: 600px; margin-inline: auto; }
.pf-w800 { max-width: 800px; margin-inline: auto; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--pf-olive); outline-offset: 3px; }

/* ---------- CTA souligné ---------- */
.pf-cta .elementor-button,
.pf-cta .elementor-button:hover,
.pf-cta .elementor-button:focus {
	background: none !important; border: 0; border-radius: 0; box-shadow: none;
	padding: 0 0 8px; border-bottom: 1px solid currentColor;
	color: var(--pf-ink); fill: var(--pf-ink);
	font-family: var(--pf-sans); font-weight: 400; font-size: 12px; line-height: 1;
	letter-spacing: .05em; text-transform: uppercase;
	transition: color .2s ease;
}
.pf-cta .elementor-button:hover { color: var(--pf-olive); }

/* ---------- Header ---------- */
.elementor-location-header { position: relative; z-index: 1000; }
.pf-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
	pointer-events: none;
}
.pf-header__inner {
	pointer-events: auto;
	display: flex; align-items: center; gap: 40px;
	max-width: 1440px; margin: 0 auto; padding: 50px var(--pf-gutter);
	color: var(--pf-white);
	border: 1px solid transparent; border-radius: 10px;
	transition: background-color .35s ease, color .35s ease, padding .35s ease, max-width .35s ease, margin .35s ease, border-color .35s ease;
}
a.pf-header__logo { display: none; color: inherit; line-height: 0; }
.pf-header__logo .pf-logo { width: 83px; height: auto; }
.pf-header__nav { flex: 1; }
.pf-nav, .pf-lang { display: flex; gap: 40px; margin: 0; padding: 0; list-style: none; }
.pf-nav a, .pf-lang a {
	display: block; padding: 8px 0; color: inherit; text-decoration: none;
	font: 400 12px/1.2 var(--pf-sans); text-transform: uppercase;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
	transition: background-size .25s ease;
}
.pf-nav a:hover, .pf-nav a:focus-visible { background-size: 100% 1px; }
.pf-lang a[aria-current="true"] { font-weight: 900; }
.pf-burger { display: none; }

/* Pilule fixe au défilement (desktop) */
body.pf-scrolled .pf-header__inner {
	display: grid; grid-template-columns: 1fr auto 1fr;
	max-width: 1060px; margin-top: 20px; padding: 10px 50px;
	background: rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
	border-color: var(--pf-line); color: var(--pf-ink);
	animation: pf-drop .35s ease;
}
body.pf-scrolled a.pf-header__logo { display: block; }
body.pf-scrolled .pf-header__lang { justify-self: end; }
@keyframes pf-drop { from { transform: translateY(-12px); opacity: 0; } to { transform: none; opacity: 1; } }

/* Mobile */
@media (max-width: 767px) {
	.pf-header__inner {
		display: flex; justify-content: space-between; gap: 0;
		margin: 10px auto 0; padding: 8px 20px; max-width: 315px;
		-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
	}
	a.pf-header__logo { display: block; }
	.pf-header__logo .pf-logo { width: 70px; }
	.pf-header__nav, .pf-header__lang { display: none; }
	.pf-burger {
		display: flex; flex-direction: column; justify-content: space-between;
		width: 30px; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; color: inherit;
		position: relative;
	}
	.pf-burger::before { content: ""; position: absolute; inset: -12px; } /* zone tactile 44 px */
	.pf-burger span { display: block; height: 1.5px; width: 100%; background: currentColor; transition: transform .3s ease, opacity .3s ease; }
	body.pf-scrolled .pf-header__inner {
		display: flex; max-width: 315px; margin: 10px auto 0; padding: 8px 20px;
	}
	body.pf-menu-open .pf-header__inner {
		background: transparent; border-color: transparent; color: var(--pf-white);
		-webkit-backdrop-filter: none; backdrop-filter: none; animation: none;
	}
	body.pf-menu-open .pf-burger span:nth-child(1) { transform: translateY(9.25px) rotate(45deg); }
	body.pf-menu-open .pf-burger span:nth-child(2) { opacity: 0; }
	body.pf-menu-open .pf-burger span:nth-child(3) { transform: translateY(-9.25px) rotate(-45deg); }
	body.pf-menu-open { overflow: hidden; }
}

/* Menu plein écran (mobile) */
.pf-menu {
	position: fixed; inset: 0; z-index: 999; overflow-y: auto;
	padding: 216px 40px 60px; background: var(--pf-ink); color: var(--pf-white);
}
.pf-menu[hidden] { display: none; }
.pf-menu__nav ul { display: flex; flex-direction: column; gap: 30px; margin: 0; padding: 0; list-style: none; }
.pf-menu__nav a { color: inherit; text-decoration: none; font: 300 42px/1 var(--pf-serif); }
.pf-menu__lang { display: flex; align-items: center; justify-content: space-between; margin-top: 110px; }
.pf-menu__label { font: 400 13px/1.3 var(--pf-sans); letter-spacing: .1em; text-transform: uppercase; }
.pf-menu .pf-lang a { color: inherit; }
@media (min-width: 768px) { .pf-menu { display: none !important; } }

/* ---------- Couverture ---------- */
.pf-cover { position: relative; overflow: hidden; }
.pf-cover .pf-cover__mark { position: absolute; inset: 0; z-index: 1; pointer-events: none; margin: 0 !important; }
.pf-cover .pf-cover__mark .elementor-widget-container { height: 100%; }
.pf-cover .pf-logo--officiel {
	position: absolute; top: 0; right: 0; width: 536px; height: 536px; color: var(--pf-sand);
}
@media (max-width: 767px) {
	.pf-cover .pf-logo--officiel { right: auto; left: 0; width: 353px; height: 353px; }
}

/* ---------- Grille des 4 piliers ---------- */
.pf-grid-2 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 60px; }
.pf-grid-2 > .e-con { width: auto !important; }
@media (max-width: 767px) {
	.pf-grid-2 { grid-template-columns: 1fr; row-gap: 40px; }
}
.pf-pillar img { width: 100%; aspect-ratio: 630 / 530; object-fit: cover; display: block; }
@media (max-width: 767px) { .pf-pillar img { aspect-ratio: 335 / 282; } }

/* ---------- Diaporama « stories » ---------- */
.pf-stories { position: relative; height: 600px; overflow: hidden; background: var(--pf-ink); }
.pf-stories__slides, .pf-stories__slide { position: absolute; inset: 0; margin: 0; }
.pf-stories__slide { opacity: 0; transition: opacity .9s ease; }
.pf-stories__slide.is-active { opacity: 1; z-index: 1; }
.pf-stories__slide picture, .pf-stories__img { display: block; width: 100%; height: 100%; }
.pf-stories__img { object-fit: cover; }
.pf-stories::after {
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
	background: linear-gradient(to top, rgba(0, 0, 0, .35) 0, rgba(0, 0, 0, 0) 35%);
}
.pf-stories__ui {
	position: absolute; z-index: 3; left: var(--pf-gutter); right: var(--pf-gutter); bottom: 32px;
	display: flex; align-items: center; gap: 16px;
}
.pf-stories__bars { flex: 1; display: flex; gap: 10px; }
.pf-stories__bar {
	position: relative; flex: 1; height: 20px; padding: 0; border: 0; background: none; cursor: pointer;
}
.pf-stories__bar::before, .pf-stories__fill {
	content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 4px; border-radius: 6px;
}
.pf-stories__bar::before { background: var(--pf-bar-off); }
.pf-stories__fill { background: var(--pf-bar-on); transform: scaleX(0); transform-origin: left center; }
.pf-stories__bar.is-done .pf-stories__fill { transform: scaleX(1); }
.pf-stories__bar.is-current .pf-stories__fill { animation: pf-fill var(--pf-d, 5000ms) linear forwards; }
.pf-stories.is-paused .pf-stories__bar.is-current .pf-stories__fill { animation-play-state: paused; }
@keyframes pf-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.pf-stories.is-reduced .pf-stories__slide { transition: none; }
.pf-stories.is-reduced .pf-stories__bar.is-current .pf-stories__fill { animation: none; transform: scaleX(1); }
.pf-stories__toggle {
	flex: none; width: 20px; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--pf-bar-on);
	position: relative; opacity: .8;
}
.pf-stories__toggle span, .pf-stories__toggle span::before, .pf-stories__toggle span::after { position: absolute; content: ""; }
.pf-stories__toggle span { inset: 0; }
.pf-stories__toggle span::before, .pf-stories__toggle span::after { top: 5px; width: 3px; height: 10px; background: currentColor; }
.pf-stories__toggle span::before { left: 6px; }
.pf-stories__toggle span::after { left: 11px; }
.pf-stories__toggle[aria-pressed="true"] span::after { display: none; }
.pf-stories__toggle[aria-pressed="true"] span::before {
	left: 7px; top: 5px; width: 0; height: 0; background: none;
	border-style: solid; border-width: 5px 0 5px 8px; border-color: transparent transparent transparent currentColor;
}
@media (max-width: 767px) {
	.pf-stories { height: 500px; }
	.pf-stories__ui { left: 18px; right: 18px; bottom: 32px; }
}

/* ---------- Footer ---------- */
.pf-footer__row { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 130px; }
.pf-footer__logo { flex: none; width: 177px !important; color: var(--pf-ink); line-height: 0; }
.pf-footer__logo .pf-logo { width: 177px; height: 177px; }
.pf-footer__cols { flex: 1; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pf-footer__col { padding: 30px 40px 0; }
.pf-footer__col p.pf-ft { margin: 0 0 10px; font: 900 12px/1.3 var(--pf-sans); color: var(--pf-ink); text-transform: uppercase; }
.pf-footer__col ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pf-footer__col a { color: var(--pf-ink); text-decoration: none; font: 400 12px/1.3 var(--pf-sans); }
.pf-footer__col a:hover { color: var(--pf-olive); text-decoration: underline; }
@media (max-width: 1024px) and (min-width: 768px) {
	.pf-footer__row { gap: 40px; }
	.pf-footer__col { padding: 30px 16px 0; }
}
@media (max-width: 767px) {
	.pf-footer__row { flex-direction: column !important; align-items: center; gap: 0; }
	.pf-footer__logo { width: 137px !important; padding-top: 30px; }
	.pf-footer__logo .pf-logo { width: 137px; height: 137px; }
	.pf-footer__cols { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pf-footer__col { padding: 30px 20px 0; }
	.pf-footer__col:nth-child(n+3) { padding-top: 40px; }
}

/* Barre d'administration WordPress (utilisateurs connectés) */
@media (min-width: 783px) { .admin-bar .pf-header { top: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .pf-header { top: 46px; } }

/* Footer tablette (768-1199) : logo au-dessus, 4 colonnes pleine largeur */
@media (min-width: 768px) and (max-width: 1199px) {
	.pf-footer__row { flex-wrap: wrap !important; gap: 40px; }
	.pf-footer__cols { flex: 1 1 100%; }
	.pf-footer__col { padding: 0 20px 0 0; }
}
