/* EMERY FRED — Apparence des pages Portfolio (admin/galeries.php) : modèles d'en-tête + grilles.
   Variables posées par la page : --efp-acc, --efp-titre, --efp-poids, --efp-fond, --efp-fond-2, --efp-texte, --efp-texte-2, --efp-ligne. */

/* ---------- Typographie / accent sur la page ---------- */
#body-content h1, #body-content h2 { font-family:var(--efp-titre); }
.efp-ancre { display:block; position:relative; top:-90px; visibility:hidden; height:0; }

/* ---------- Section de la galerie : fond clair / sombre ---------- */
section:has(.efp-ancre) { background-color:var(--efp-fond) !important; color:var(--efp-texte); }
section:has(.efp-ancre) h2 { color:var(--efp-texte); }
section:has(.efp-ancre) .ef-eyebrow { color:var(--efp-acc); }
section:has(.efp-ancre) .ef-hr { background:var(--efp-acc); }
section:has(.efp-ancre) p { color:var(--efp-texte-2); }
/* Anciennes grilles du site neutralisées quand la nouvelle grille est utilisée */
.lightgallery:has(> .efp-gal), .ef-fluid-gallery:has(> .efp-gal) { display:block !important; }

/* ---------- Couverture (modèles repris des albums clients) ---------- */
.efp-couv { position:relative; color:#fff; overflow:hidden; --efp-haut:0px; }
.efp-couv .efp-img { position:absolute; inset:0; background:#222 center / cover no-repeat; background-position:var(--efp-fx) var(--efp-fy); transform:scale(1.04); animation:efp-zoom 2.4s ease-out forwards; }
@keyframes efp-zoom { to { transform:scale(1); } }
.efp-couv .efp-voile { position:absolute; inset:0; background:linear-gradient(180deg, var(--efp-v1) 0%, var(--efp-v2) 45%, var(--efp-v3) 100%); }
.efp-couv .efp-txt { position:relative; z-index:1; text-align:center; padding:0 20px; max-width:900px; }
.efp-couv h1.efp-h1 { font-family:var(--efp-titre); font-weight:var(--efp-poids); font-size:clamp(34px, 6vw, 76px) !important; line-height:1.05; margin:0; letter-spacing:.01em; text-transform:none; color:inherit; text-shadow:0 2px 24px rgba(0,0,0,0.35); }
.efp-couv .efp-date { font-family:'Poppins', sans-serif; font-size:13px; letter-spacing:.3em; text-transform:uppercase; margin-top:16px; opacity:.92; }
.efp-couv .efp-texte { font-size:16px; line-height:1.7; max-width:640px; margin:18px auto 0; color:inherit; opacity:.9; text-shadow:0 1px 10px rgba(0,0,0,0.45); }
.efp-couv .efp-marque { position:absolute; top:calc(var(--efp-haut) + 18px); left:0; right:0; text-align:center; z-index:1; font-size:11px; letter-spacing:.35em; text-transform:uppercase; opacity:.85; }
.efp-couv .efp-marque img { height:54px; width:auto; }
.efp-couv .efp-go { display:inline-block; margin-top:34px; padding:12px 26px; border:1px solid rgba(255,255,255,0.7); color:#fff; text-decoration:none; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; border-radius:40px; transition:background .2s; }
.efp-couv .efp-go:hover { background:rgba(255,255,255,0.15); color:#fff; }
.efp-couv.efp-plein, .efp-couv.efp-bandeau { display:flex; align-items:center; justify-content:center; }
.efp-couv.efp-plein { height:84vh; height:84svh; min-height:500px; } .efp-couv.efp-plein .efp-txt { margin-top:calc(var(--efp-haut) / 2); }
.efp-couv.efp-bandeau { height:62vh; min-height:420px; } .efp-couv.efp-bandeau .efp-txt { margin-top:calc(var(--efp-haut) / 2); }
.efp-couv.efp-pos-bas, .efp-couv.efp-pos-bas-gauche { align-items:flex-end; } .efp-couv.efp-pos-bas .efp-txt, .efp-couv.efp-pos-bas-gauche .efp-txt { margin:0 0 9vh; }
.efp-couv.efp-pos-bas-gauche { justify-content:flex-start; } .efp-couv.efp-pos-bas-gauche .efp-txt { text-align:left; padding:0 6vw; }
.efp-couv.efp-pos-bas-gauche .efp-texte { margin-left:0; }
.efp-couv.efp-pos-bas-gauche h1.efp-h1 { font-size:clamp(34px, 5.6vw, 72px) !important; }
/* Centré : logo, titre et sur-titre réunis au milieu */
.efp-couv .efp-marque-c { margin:0 auto 22px; } .efp-couv .efp-marque-c img { height:clamp(64px, 9vw, 110px); width:auto; filter:drop-shadow(0 2px 12px rgba(0,0,0,0.35)); }
.efp-couv .efp-marque-c:not(:has(img)) { font-size:11px; letter-spacing:.35em; text-transform:uppercase; }
/* Étiquettes : cartouches semi-transparents */
.efp-couv.efp-d-etiquettes { display:block; height:86vh; min-height:460px; }
.efp-couv .efp-cartouche { position:absolute; z-index:1; background:rgba(250,248,245,0.78); color:#2b2622; backdrop-filter:blur(2px); }
.efp-couv .efp-titre-c { top:calc(var(--efp-haut) + 24px); left:0; padding:14px 34px 14px 22px; border-left:6px double var(--efp-acc); max-width:80%; }
.efp-couv .efp-titre-c h1.efp-h1 { font-size:clamp(22px, 2.6vw, 34px) !important; text-shadow:none; line-height:1.15; }
.efp-couv .efp-titre-c .efp-date { font-family:var(--efp-titre); font-weight:700; font-size:clamp(13px, 1.3vw, 17px); letter-spacing:.02em; text-transform:none; margin-top:4px; opacity:1; }
.efp-couv .efp-signe-c { right:0; bottom:22px; padding:8px 16px 8px 20px; border-right:6px double var(--efp-acc); font-family:var(--efp-titre); font-size:clamp(12px, 1.2vw, 16px); letter-spacing:.06em; text-transform:uppercase; }
.efp-couv .efp-signe-c img { height:34px; width:auto; display:block; filter:invert(1) brightness(0.2); }
.efp-couv .efp-fleche { position:absolute; z-index:1; left:50%; bottom:14px; transform:translateX(-50%); width:0; height:0; border-left:14px solid transparent; border-right:14px solid transparent; border-top:14px solid rgba(255,255,255,0.9); filter:drop-shadow(0 1px 3px rgba(0,0,0,0.35)); }
/* Texte sur photo */
.efp-couv.efp-d-sur-photo { display:block; height:86vh; min-height:460px; }
.efp-couv.efp-d-sur-photo .efp-voile { background:var(--efp-v1); }   /* luminosité uniforme (05/10/2026) */
.efp-couv .efp-sp-titre { position:absolute; z-index:1; top:calc(var(--efp-haut) + 22px); left:clamp(18px, 3vw, 40px); text-align:left; }
.efp-couv .efp-sp-titre h1.efp-h1 { font-size:clamp(26px, 3vw, 40px) !important; line-height:1.1; }
.efp-couv .efp-sp-titre .efp-date { font-family:var(--efp-titre); font-style:italic; font-weight:700; font-size:clamp(14px, 1.4vw, 19px); letter-spacing:.01em; text-transform:none; margin-top:4px; text-shadow:0 1px 8px rgba(0,0,0,0.45); }
.efp-couv .efp-sp-signe { position:absolute; z-index:1; right:clamp(14px, 2vw, 26px); bottom:22px; display:flex; align-items:center; gap:10px; font-family:var(--efp-titre); font-size:clamp(12px, 1.2vw, 16px); letter-spacing:.06em; text-transform:uppercase; text-shadow:0 1px 8px rgba(0,0,0,0.5); }
.efp-couv .efp-rond { width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.85); overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,0.35); flex:0 0 auto; }
.efp-couv .efp-rond img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; display:block; }
.efp-couv .efp-chevron { position:absolute; z-index:1; left:50%; bottom:22px; width:16px; height:16px; margin-left:-8px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg); opacity:.9; animation:efp-rebond 2s infinite; }
@keyframes efp-rebond { 0%,100% { transform:translateY(0) rotate(45deg); } 50% { transform:translateY(6px) rotate(45deg); } }
/* Ligne en bas */
.efp-couv.efp-d-ligne-bas { align-items:flex-end; }
.efp-couv.efp-d-ligne-bas .efp-txt { width:100%; max-width:none; display:flex; justify-content:space-between; align-items:center; padding:0 5vw 6vh; margin:0; text-align:left; gap:16px; }
.efp-couv .efp-ligne { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.efp-couv.efp-d-ligne-bas h1.efp-h1 { font-size:clamp(22px, 2.8vw, 36px) !important; letter-spacing:.14em; text-transform:uppercase; }
.efp-couv.efp-d-ligne-bas .efp-date { margin:0; } .efp-couv .efp-sep { opacity:.7; font-size:24px; }
.efp-couv.efp-d-ligne-bas .efp-go { margin:0; padding:10px 16px; font-size:16px; letter-spacing:0; }
/* En haut à gauche */
.efp-couv.efp-d-haut-gauche { align-items:flex-start; justify-content:flex-start; }
.efp-couv.efp-d-haut-gauche .efp-txt { text-align:left; padding:calc(var(--efp-haut) + 9vh) 6vw 0; margin:0; }
.efp-couv.efp-d-haut-gauche .efp-texte { margin-left:0; }
.efp-couv.efp-d-haut-gauche h1.efp-h1 { font-size:clamp(30px, 4.2vw, 56px) !important; } .efp-couv.efp-d-haut-gauche .efp-marque { left:auto; right:30px; text-align:right; }
.efp-couv.efp-d-haut-gauche .efp-voile { background:var(--efp-v1); }   /* luminosité uniforme (05/10/2026) */
/* Côte à côte */
.efp-couv.efp-cadre { display:grid; grid-template-columns:1.5fr 1fr; min-height:88vh; color:var(--efp-texte); background:var(--efp-fond); padding-top:var(--efp-haut); }
.efp-couv.efp-cadre .efp-photo { position:relative; overflow:hidden; min-height:60vh; }
.efp-couv.efp-cadre .efp-txt, .efp-couv.efp-encadre .efp-txt { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:40px 30px; margin:0 auto; }
.efp-couv.efp-cadre h1.efp-h1, .efp-couv.efp-encadre h1.efp-h1 { text-shadow:none; }
.efp-couv.efp-cadre .efp-texte, .efp-couv.efp-encadre .efp-texte { text-shadow:none; color:var(--efp-texte-2); opacity:1; }
.efp-couv.efp-cadre .efp-marque, .efp-couv.efp-encadre .efp-marque { position:static; margin-bottom:28px; color:var(--efp-acc); }
.efp-couv.efp-cadre .efp-go, .efp-couv.efp-encadre .efp-go { color:var(--efp-texte); border-color:var(--efp-ligne); } .efp-couv.efp-cadre .efp-go:hover, .efp-couv.efp-encadre .efp-go:hover { background:var(--efp-ligne); color:var(--efp-texte); }
.efp-couv.efp-clair.efp-cadre .efp-marque img, .efp-couv.efp-clair.efp-encadre .efp-marque img { filter:invert(1) brightness(0.25); }
.efp-couv.efp-cadre .efp-marque img { height:70px; } .efp-couv.efp-encadre .efp-marque img { height:64px; }
@media (max-width:800px) { .efp-couv.efp-cadre { grid-template-columns:1fr; } .efp-couv.efp-cadre .efp-photo { height:62vh; } }
/* Encadré : photo avec marges, titre dessous */
/* Modèle « Arche » : photo dans une arche sur le fond de la page, fin liseré à la couleur d'accent */
.efp-couv.efp-arche { background:var(--efp-fond); color:var(--efp-texte); min-height:92vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:calc(var(--efp-haut) + 50px) 20px 50px; }
.efp-couv.efp-arche .efp-marque { position:static; margin-bottom:28px; color:var(--efp-acc); } .efp-couv.efp-arche .efp-marque img { height:calc(54px * var(--efp-logo, 1)); }
.efp-couv.efp-clair.efp-arche .efp-marque img { filter:invert(1) brightness(0.25); }
.efp-couv.efp-arche .efp-arc { position:relative; width:clamp(240px, 28vw, 400px); aspect-ratio:3 / 4; max-height:62vh; }
.efp-couv.efp-arche .efp-arc::before { content:''; position:absolute; inset:-12px; border:1px solid var(--efp-acc); border-radius:999px 999px 6px 6px; opacity:.75; }
.efp-couv.efp-arche .efp-img { border-radius:999px 999px 3px 3px; }
.efp-couv.efp-arche .efp-txt { margin-top:38px; text-align:center; } .efp-couv.efp-arche h1.efp-h1 { text-shadow:none; }
.efp-couv.efp-arche .efp-texte { text-shadow:none; color:var(--efp-texte-2); opacity:1; }
.efp-couv.efp-arche .efp-go { color:var(--efp-texte); border-color:var(--efp-ligne); } .efp-couv.efp-arche .efp-go:hover { background:var(--efp-ligne); color:var(--efp-texte); }
@media (max-width:600px) { .efp-couv.efp-arche .efp-arc { width:68vw; } }
/* Modèle « Titre monumental » : très grand titre en capitales, calé en bas à gauche */
.efp-couv.efp-d-geant { display:block; }
.efp-couv.efp-d-geant .efp-voile { background:var(--efp-v1); }   /* luminosité uniforme (05/10/2026) */
.efp-couv.efp-d-geant .efp-txt { position:absolute; left:0; right:0; bottom:0; z-index:1; text-align:left; padding:0 4vw 5vh; margin:0; }
.efp-couv.efp-d-geant h1.efp-h1 { font-size:clamp(52px, 12vw, 220px) !important; line-height:.9; text-transform:uppercase; letter-spacing:-.005em; overflow-wrap:anywhere; }
.efp-couv.efp-d-geant .efp-date { display:flex; align-items:center; gap:14px; margin:0 0 18px; font-size:12px; letter-spacing:.45em; }
.efp-couv.efp-d-geant .efp-date::before { content:''; width:48px; height:1px; background:currentColor; flex:none; }
.efp-couv.efp-d-geant .efp-go { position:absolute; right:4vw; top:-8px; margin:0; }
@media (max-width:700px) { .efp-couv.efp-d-geant .efp-go { position:static; margin-top:22px; } }
.efp-couv.efp-encadre { background:var(--efp-fond); color:var(--efp-texte); padding:calc(var(--efp-haut) + 2vw) 3vw 0; }
.efp-couv.efp-encadre .efp-photo { position:relative; height:72vh; overflow:hidden; border-radius:2px; }
.efp-couv.efp-encadre .efp-txt { padding:40px 20px 30px; }
@media (max-width:600px) {
	.efp-couv { --efp-haut:0px; }
	.efp-couv.efp-d-etiquettes, .efp-couv.efp-d-sur-photo { height:76vh; }
	.efp-couv .efp-titre-c { padding:10px 20px 10px 14px; }
	.efp-couv .efp-sp-signe span { display:none; }
	.efp-couv .efp-texte { font-size:14.5px; }
}

/* ---------- Grille des photos ---------- */
.efp-gal { position:relative; --efp-gap:8px; }
/* Sans JavaScript (ou avant la mise en page) : simple rangée de vignettes */
.efp-gal:not(.efp-pret) { display:flex; flex-wrap:wrap; gap:8px; }
.efp-gal:not(.efp-pret) .efp-it { flex:1 1 240px; height:240px; }
.efp-gal.efp-pret .efp-it { position:absolute; }
.efp-it { display:block; overflow:hidden; background:rgba(128,128,128,0.12); cursor:zoom-in; }
.efp-it img { display:block; width:100%; height:100%; object-fit:cover; transition:opacity .6s ease, transform .8s ease, filter .8s ease; }
.efp-it:hover img { transform:scale(1.025); }
/* Animations d'apparition (la photo s'anime quand elle entre à l'écran) */
.efp-pret.efp-anim-flou .efp-it:not(.efp-vu) img { filter:blur(16px); transform:scale(1.04); opacity:0; }
.efp-pret.efp-anim-zoom .efp-it:not(.efp-vu) img { transform:scale(1.18); opacity:0; }
.efp-pret.efp-anim-zoom .efp-it.efp-vu img { transition:opacity .6s, transform 1.4s cubic-bezier(.2,.7,.2,1); }
.efp-pret.efp-anim-fondu .efp-it img { transition:opacity 1.2s ease; } .efp-pret.efp-anim-fondu .efp-it:not(.efp-vu) img { opacity:0; }
.efp-pret.efp-anim-montee .efp-it { transition:translate .9s ease, opacity .9s ease; } .efp-pret.efp-anim-montee .efp-it:not(.efp-vu) { translate:0 40px; opacity:0; }
.efp-pret.efp-anim-zoom-avant .efp-it:not(.efp-vu) img { transform:scale(.86); opacity:0; }
.efp-pret.efp-anim-zoom-avant .efp-it.efp-vu img { transition:opacity .7s, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.efp-pret.efp-anim-cascade .efp-it { transition:translate .8s ease, scale .8s ease, opacity .8s ease; } .efp-pret.efp-anim-cascade .efp-it:not(.efp-vu) { translate:0 26px; scale:.97; opacity:0; }
.efp-pret.efp-anim-cascade .efp-it:nth-child(4n+2) { transition-delay:.12s; } .efp-pret.efp-anim-cascade .efp-it:nth-child(4n+3) { transition-delay:.24s; } .efp-pret.efp-anim-cascade .efp-it:nth-child(4n+4) { transition-delay:.36s; }

/* 02/10/2026 : nouvelles animations d'apparition — Verre liquide, Bento, Flash argentique, Profondeur, Typographie */
.efp-pret.efp-anim-verre .efp-it::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(135deg, rgba(255,255,255,.42), rgba(255,255,255,.08) 55%, rgba(255,255,255,.3)); backdrop-filter:blur(2px); transition:opacity 1.6s ease .15s; }
.efp-pret.efp-anim-verre .efp-it.efp-vu::after { opacity:0; }
.efp-pret.efp-anim-verre .efp-it:not(.efp-vu) img { filter:blur(22px) saturate(.55) brightness(1.12); transform:scale(1.07); }
.efp-pret.efp-anim-verre .efp-it.efp-vu img { filter:none; transform:none; transition:opacity .6s ease, filter 1.8s cubic-bezier(.2,.7,.2,1), transform 1.8s cubic-bezier(.2,.7,.2,1); }
.efp-pret.efp-anim-bento .efp-it { transition:clip-path 1.15s cubic-bezier(.77,0,.18,1); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+1):not(.efp-vu) { clip-path:inset(0 100% 100% 0 round 0 0 60% 0); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+2):not(.efp-vu) { clip-path:inset(100% 0 0 100% round 60% 0 0 0); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+3):not(.efp-vu) { clip-path:circle(0% at 0% 100%); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+4):not(.efp-vu) { clip-path:circle(0% at 100% 0%); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+1).efp-vu, .efp-pret.efp-anim-bento .efp-it:nth-child(4n+2).efp-vu { clip-path:inset(0 0 0 0 round 0); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+3).efp-vu { clip-path:circle(150% at 0% 100%); } .efp-pret.efp-anim-bento .efp-it:nth-child(4n+4).efp-vu { clip-path:circle(150% at 100% 0%); }
.efp-pret.efp-anim-bento .efp-it:nth-child(4n+2) { transition-delay:.1s; } .efp-pret.efp-anim-bento .efp-it:nth-child(4n+3) { transition-delay:.2s; } .efp-pret.efp-anim-bento .efp-it:nth-child(4n+4) { transition-delay:.3s; }
.efp-pret.efp-anim-flash .efp-it:not(.efp-vu) img { opacity:0; }
.efp-pret.efp-anim-flash .efp-it.efp-vu img { animation:efpFlash .95s steps(1, end) 1, efpFlashLisse .95s ease-out 1; }
.efp-pret.efp-anim-flash .efp-it::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); mix-blend-mode:overlay; }
.efp-pret.efp-anim-flash .efp-it.efp-vu::after { animation:efpGrain 1.1s ease-out 1; }
@keyframes efpFlash { 0% { translate:3px -2px; } 12% { translate:-2px 1px; } 24% { translate:1px 2px; } 36% { translate:0 0; } }
@keyframes efpFlashLisse { 0% { opacity:1; filter:brightness(3.2) contrast(.55) saturate(.4) drop-shadow(3px 0 0 rgba(255,0,60,.55)) drop-shadow(-3px 0 0 rgba(0,180,255,.55)); } 35% { filter:brightness(1.35) contrast(1.15) saturate(1.2) drop-shadow(1px 0 0 rgba(255,0,60,.35)) drop-shadow(-1px 0 0 rgba(0,180,255,.35)); } 100% { opacity:1; filter:none; } }
@keyframes efpGrain { 0% { opacity:.9; } 100% { opacity:0; } }
.efp-pret.efp-anim-parallax .efp-it { transition:transform 1s cubic-bezier(.2,.7,.2,1), opacity .8s ease; }
.efp-pret.efp-anim-parallax .efp-it:not(.efp-vu) { transform:translateY(34px); opacity:0; }
.efp-pret.efp-anim-parallax .efp-it:not(.efp-vu) img { transform:scale(1.22) translateY(18px); }
.efp-pret.efp-anim-parallax .efp-it.efp-vu { transform:none; opacity:1; }
.efp-pret.efp-anim-parallax .efp-it.efp-vu img { transform:none; transition:opacity .6s ease .25s, transform 1.5s cubic-bezier(.2,.7,.2,1) .25s; }
.efp-pret.efp-anim-typo .efp-it:not(.efp-vu) img, .efp-pret.efp-anim-typo .efp-it.efp-vu img { -webkit-mask-image:linear-gradient(#000, #000), url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid slice'><text x='50' y='71' font-family='Georgia,serif' font-size='68' font-weight='700' text-anchor='middle'>EF</text></svg>"); mask-image:linear-gradient(#000, #000), url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid slice'><text x='50' y='71' font-family='Georgia,serif' font-size='68' font-weight='700' text-anchor='middle'>EF</text></svg>"); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; }
.efp-pret.efp-anim-typo .efp-it:not(.efp-vu) img { -webkit-mask-size:0% 0%, cover; mask-size:0% 0%, cover; }
.efp-pret.efp-anim-typo .efp-it.efp-vu img { -webkit-mask-size:100% 100%, cover; mask-size:100% 100%, cover; transition:opacity .5s ease, -webkit-mask-size 1.3s cubic-bezier(.7,0,.2,1) .55s, mask-size 1.3s cubic-bezier(.7,0,.2,1) .55s; }
@media (hover:none), (max-width:760px) {
	.efp-it img { transition:opacity .45s ease !important; }
	.efp-pret.efp-anim-flou .efp-it img, .efp-pret.efp-anim-zoom .efp-it img, .efp-pret.efp-anim-zoom-avant .efp-it img { filter:none !important; transform:none !important; }
	.efp-it:hover img { transform:none; }
}
@media (prefers-reduced-motion:reduce) { .efp-it, .efp-it img { transition:none !important; transform:none !important; filter:none !important; translate:none !important; scale:none !important; clip-path:none !important; } }

/* ---------- Grille « maçonnerie » d'origine : colonnes égalisées (fin bien droite) ---------- */
.ef-masonry-gallery.efp-pret { column-count:auto !important; position:relative; }
.ef-masonry-gallery.efp-pret > .ef-mas-item { position:absolute; margin:0; box-sizing:border-box; }
.ef-masonry-gallery.efp-pret > .ef-mas-item img { height:100%; object-fit:cover; }

/* ---------- Couverture : taille / couleur du logo, couleur du texte ---------- */
.efp-couv .efp-marque img { height:calc(54px * var(--efp-logo, 1)); }
.efp-couv .efp-marque-c img { height:calc(clamp(64px, 9vw, 110px) * var(--efp-logo, 1)); }
.efp-couv.efp-cadre .efp-marque img { height:calc(70px * var(--efp-logo, 1)); } .efp-couv.efp-encadre .efp-marque img { height:calc(64px * var(--efp-logo, 1)); }
.efp-couv .efp-signe-c img { height:calc(34px * var(--efp-logo, 1)); }
.efp-couv.efp-logo-noir .efp-marque img, .efp-couv.efp-logo-noir .efp-marque-c img { filter:invert(1) brightness(0.15) !important; }
.efp-couv.efp-logo-noir.efp-sombre.efp-cadre .efp-marque img, .efp-couv.efp-logo-noir.efp-sombre.efp-encadre .efp-marque img { filter:invert(1) brightness(0.15) !important; }
.efp-couv.efp-txt-perso h1.efp-h1, .efp-couv.efp-txt-perso .efp-date, .efp-couv.efp-txt-perso .efp-texte, .efp-couv.efp-txt-perso .efp-sep, .efp-couv.efp-txt-perso .efp-marque { color:var(--efp-couv-txt) !important; }
.efp-couv.efp-txt-perso .efp-go { color:var(--efp-couv-txt) !important; border-color:var(--efp-couv-txt) !important; }

/* ---------- En-tête de la galerie (modèles des en-têtes de chapitres des albums) ---------- */
.efp-invisible { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.efp-titre { margin:0 0 40px; text-align:center; }
.efp-titre h2 { margin:0 !important; font-family:var(--efp-titre); font-weight:var(--efp-poids); font-size:clamp(26px, 3.2vw, 38px); color:var(--efp-texte); line-height:1.2; }
.efp-titre h2 small { display:block; font-family:'Poppins', sans-serif; font-size:11.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--efp-acc); margin-bottom:10px; font-weight:400; }
.efp-titre .eb-photo { position:relative; height:clamp(260px, 46vh, 520px); overflow:hidden; display:flex; color:#fff; }
.efp-titre .eb-photo, .efp-titre .eb-bloc { width:100vw; margin-left:calc(50% - 50vw); }
.efp-titre .eb-img { position:absolute; inset:0; background:#333 center / cover no-repeat; }
.efp-titre .eb-photo::after { content:''; position:absolute; inset:0; background:var(--efp-eh-voile); }
.efp-titre .eb-photo h2 { position:relative; z-index:1; color:#fff; } .efp-titre .eb-photo h2 small { color:rgba(255,255,255,0.85); }
.efp-titre .eb-centre { align-items:center; justify-content:center; } .efp-titre .eb-centre h2 { font-family:'Poppins',sans-serif !important; font-weight:300 !important; font-size:clamp(18px, 2.4vw, 28px); letter-spacing:.45em; text-transform:uppercase; padding-left:.45em; }
.efp-titre .eb-gauche { align-items:flex-end; } .efp-titre .eb-gauche h2 { text-align:left; padding:0 0 5vh 5vw; font-size:clamp(30px, 4.4vw, 60px); }
.efp-titre .eb-ligne { align-items:flex-end; } .efp-titre .eb-ligne h2 { width:100%; display:flex; align-items:center; gap:18px; padding:0 5vw 5vh; font-family:'Poppins',sans-serif !important; font-weight:400 !important; font-size:clamp(13px, 1.3vw, 16px); letter-spacing:.3em; text-transform:uppercase; }
.efp-titre .eb-ligne .l { flex:1; height:1px; background:rgba(255,255,255,0.8); } .efp-titre .eb-ligne .n { font-size:.9em; letter-spacing:.2em; white-space:nowrap; }
.efp-titre .eb-bande { height:clamp(140px, 22vh, 220px); align-items:center; justify-content:center; }
.efp-titre .eb-bande h2 { font-size:clamp(24px, 3vw, 40px); letter-spacing:.06em; }
.efp-titre .eb-bloc { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; min-height:clamp(220px, 34vh, 380px); }
.efp-titre .eb-bloc h2 { padding:30px 6vw; text-align:left; font-size:clamp(26px, 3.4vw, 46px); }
.efp-titre .eb-vign { position:relative; height:100%; min-height:220px; overflow:hidden; }
.efp-titre .eb-noir { background:#141414; } .efp-titre .eb-noir h2 { color:#f2f0eb; } .efp-titre .eb-noir h2 small { color:#a8a39a; }
.efp-titre .eb-clair { grid-template-columns:1fr 1.2fr; background:var(--efp-fond-2); border-top:1px solid var(--efp-ligne); border-bottom:1px solid var(--efp-ligne); }
@media (max-width:700px) { .efp-titre .eb-bloc, .efp-titre .eb-clair { grid-template-columns:1fr; } .efp-titre .eb-vign { min-height:200px; order:-1; } .efp-titre .eb-bloc h2 { padding:22px 20px; text-align:center; } }
.efp-titre .eb-espace h2 { font-family:'Poppins',sans-serif !important; font-weight:300 !important; font-size:clamp(16px, 2vw, 24px); letter-spacing:.6em; text-transform:uppercase; padding-left:.6em; }
.efp-titre .eb-serif h2 { font-size:clamp(34px, 5vw, 64px); letter-spacing:.02em; text-transform:uppercase; }
.efp-titre .eb-filet h2 { display:inline-block; padding:0 0 16px; border-bottom:1px solid var(--efp-acc); }
.efp-titre .eb-bande-claire { height:clamp(200px, 32vh, 340px); align-items:center; } .efp-titre .eb-bande-claire::after { display:none; }
.efp-titre .eb-bande-claire h2 { width:100%; text-align:center; background:rgba(250,248,245,0.82); color:#2b2622; padding:12px 0; font-family:'Poppins',sans-serif !important; font-weight:300 !important; font-size:clamp(13px, 1.5vw, 18px); letter-spacing:.5em; text-transform:uppercase; }
.efp-titre .eb-noir-centre { grid-template-columns:1fr 1fr; } .efp-titre .eb-noir-centre h2 { font-family:'Poppins',sans-serif !important; font-weight:300 !important; font-size:clamp(14px, 1.6vw, 20px); letter-spacing:.5em; text-transform:uppercase; }
.efp-titre .eb-noir-centre .eb-vign { width:60%; height:70%; min-height:160px; justify-self:start; }
.efp-titre .eb-haut { align-items:flex-start; justify-content:center; } .efp-titre .eb-haut h2 { padding-top:6vh; font-family:'Poppins',sans-serif !important; font-weight:400 !important; font-size:clamp(13px, 1.4vw, 17px); letter-spacing:.35em; text-transform:uppercase; }
.efp-titre .eb-barre h2 { font-size:clamp(26px, 3vw, 40px); } .efp-titre .eb-barre .sl { color:var(--efp-acc); margin-right:14px; font-style:italic; }
.efp-titre .eb-trait h2 { font-family:'Poppins',sans-serif !important; font-weight:500 !important; font-size:clamp(13px, 1.4vw, 16px); letter-spacing:.25em; text-transform:uppercase; }
.efp-titre .eb-trait .tr { display:block; width:1px; height:34px; background:var(--efp-acc); margin:14px auto 0; }
.efp-titre .eb-souligne h2 { display:inline-block; font-size:clamp(26px, 3vw, 40px); background:linear-gradient(var(--efp-acc), var(--efp-acc)) left bottom / 38% 1px no-repeat; padding-bottom:10px; }
.efp-titre .eb-script h2 em { display:block; font-style:italic; font-size:clamp(30px, 4vw, 50px); } .efp-titre .eb-script h2 small { margin:8px 0 0; }
/* Réglages : couleur, fond des en-têtes « Texte », taille, casse, police */
.efp-titre.efp-eh-c h2, .efp-titre.efp-eh-c h2 small { color:var(--efp-eh-c) !important; }
.efp-titre.efp-eh-fond .eb-texte { padding:46px 20px; width:100vw; margin-left:calc(50% - 50vw); }
.efp-titre.efp-eh-fond-clair .eb-texte { background:var(--efp-fond-2); } .efp-titre.efp-eh-fond-sombre .eb-texte { background:#141414; } .efp-titre.efp-eh-fond-accent .eb-texte { background:var(--efp-acc); }
.efp-titre.efp-eh-fond-sombre:not(.efp-eh-c) .eb-texte h2, .efp-titre.efp-eh-fond-accent:not(.efp-eh-c) .eb-texte h2, .efp-titre.efp-eh-fond-sombre:not(.efp-eh-c) .eb-texte h2 small, .efp-titre.efp-eh-fond-accent:not(.efp-eh-c) .eb-texte h2 small { color:#fff !important; }
.efp-titre.efp-eh-s h2 { zoom:.8; } .efp-titre.efp-eh-l h2 { zoom:1.25; }
.efp-titre.efp-eh-maj h2 { text-transform:uppercase; letter-spacing:.12em; }
.efp-titre.efp-eh-sans h2 { font-family:'Poppins',sans-serif !important; font-weight:300 !important; }

/* Signature « EF + photo de profil » : pastille en haut à droite de la couverture */
.efp-couv .efp-sig { position:absolute; z-index:4; top:calc(var(--efp-haut) + 18px); right:clamp(14px, 2.4vw, 30px); display:flex; align-items:center; gap:10px; padding:4px 4px 4px 14px; border-radius:40px; background:rgba(0,0,0,0.32); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:#fff; box-shadow:0 2px 14px rgba(0,0,0,0.25); }
.efp-couv .efp-sig b { font-family:'Playfair Display', Georgia, serif; font-weight:600; font-size:17px; letter-spacing:.14em; line-height:1; }
.efp-couv .efp-sig i { display:block; width:42px; height:42px; border-radius:50%; overflow:hidden; border:1.5px solid rgba(255,255,255,0.85); flex:none; }
.efp-couv .efp-sig i img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; display:block; }
@media (max-width:600px) { .efp-couv .efp-sig { top:calc(var(--efp-haut) + 12px); right:12px; padding-left:11px; } .efp-couv .efp-sig b { font-size:14px; } .efp-couv .efp-sig i { width:34px; height:34px; } }

/* 05/10/2026 : hauteur de la couverture choisie dans l'admin (--efp-h, en % de la hauteur de l'écran) */
.efp-couv.efp-h-perso.efp-plein, .efp-couv.efp-h-perso.efp-bandeau, .efp-couv.efp-h-perso.efp-d-etiquettes, .efp-couv.efp-h-perso.efp-d-sur-photo { height:auto !important; min-height:max(320px, var(--efp-h)) !important; }   /* le texte n'est jamais coupé */
.efp-couv.efp-h-perso.efp-cadre, .efp-couv.efp-h-perso.efp-arche { min-height:var(--efp-h); }
.efp-couv.efp-h-perso.efp-encadre .efp-photo { height:calc(var(--efp-h) * 0.85); }
