.epl-portfolio,.epl-portfolio *,.epl-portfolio *::before,.epl-portfolio *::after{box-sizing:border-box}
.epl-portfolio{--epl-accent:#6e9be2;--epl-background:#fff;width:100%;min-width:0;background:var(--epl-background);color:#1e1e1e;font:300 15px/1.8 'Montserrat',Arial,sans-serif}
.epl-portfolio button{font-family:inherit;cursor:pointer}
.epl-portfolio button:focus-visible{outline:2px solid var(--epl-accent);outline-offset:4px}
.epl-portfolio button:disabled{cursor:default;opacity:.4}
.epl-portfolio .epl-project{padding:38px 0 45px;border-top:1px solid #e0e3e8;min-width:0}
.epl-portfolio .epl-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.epl-portfolio .epl-title{margin:0;color:inherit;font:400 clamp(26px,3vw,38px)/1.15 'Fraunces',Georgia,serif;letter-spacing:-.035em;text-transform:none}
.epl-portfolio .epl-category{margin:10px 0 0;color:#52617a;font-size:11px;line-height:1.6;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.epl-portfolio .epl-arrows{display:flex;gap:8px;flex-shrink:0}
.epl-portfolio .epl-arrows button,.epl-portfolio .epl-modal-arrow{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d2d8e1;border-radius:0;background:transparent;color:inherit;font:300 26px/1 Arial,sans-serif;box-shadow:none}
.epl-portfolio .epl-track{--epl-slide-width:min(46%,var(--epl-image-width,300px));position:relative;display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.epl-portfolio .epl-track::-webkit-scrollbar{display:none}
.epl-portfolio .epl-track::after{content:'';flex:0 0 max(0px,calc(100% - var(--epl-slide-width) - 15px))}
.epl-portfolio .epl-slide{display:block;position:relative;flex:0 0 var(--epl-slide-width);min-width:0;aspect-ratio:1;scroll-snap-align:start;padding:0;border:0;border-radius:0;background:#f4f5f7;overflow:hidden;box-shadow:none;color:inherit}
.epl-portfolio .epl-slide img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0;transition:transform .3s ease}
.epl-portfolio .epl-slide:hover img{transform:scale(1.025)}
.epl-portfolio .epl-under{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}
.epl-portfolio .epl-dots{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0}
.epl-portfolio .epl-dot{display:grid;place-items:center;width:26px;height:36px;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.epl-portfolio .epl-dot::after{content:'';width:5px;height:5px;border-radius:50%;background:#c5cbd5}
.epl-portfolio .epl-dot[aria-pressed=true]::after{width:7px;height:7px;background:var(--epl-accent)}
.epl-portfolio .epl-description{max-width:690px;font-size:14px;line-height:1.9;white-space:normal}
.epl-portfolio .epl-review{display:flex;align-items:flex-start;gap:15px;margin-top:28px;padding-top:23px;border-top:1px solid #e7e9ed;max-width:690px}
.epl-portfolio .epl-avatar{flex:0 0 36px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #e2e6ee;background:#f0f4fa;border-radius:50%;overflow:hidden;font-size:13px;color:#39485e}
.epl-portfolio .epl-avatar-image{width:100%;height:100%;object-fit:cover;margin:0;border-radius:50%}
.epl-portfolio .epl-client{font-weight:500;font-size:12px;line-height:1.5}
.epl-portfolio .epl-review p{font:300 13px/1.9 'Montserrat',Arial,sans-serif;margin:6px 0 0}
.epl-portfolio .epl-review small,.epl-portfolio .epl-demo{display:block;margin:9px 0 0;color:#69717d;font-size:11px;line-height:1.6}
.epl-portfolio .epl-like-button{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:4px 0;border:0;border-radius:0;background:transparent!important;color:#1e1e1e;box-shadow:none;font-size:12px;font-weight:400;line-height:1.5}
.epl-portfolio .epl-like-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5}
.epl-portfolio .epl-like-button[aria-pressed=true] svg{fill:var(--epl-accent);stroke:var(--epl-accent)}
.epl-portfolio .epl-status{display:block;color:#69717d;font-size:11px;line-height:1.6}
.epl-portfolio .epl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Publication mobile, même présentation sur ordinateur. */
.epl-portfolio .epl-modal{width:min(94%,460px);max-width:460px;max-height:92dvh;padding:0;overflow:auto;border:1px solid #e0e3e8;border-radius:var(--epl-modal-radius,18px);background:#fff;color:#1e1e1e;box-shadow:0 20px 70px #0004;font:300 13px/1.8 'Montserrat',Arial,sans-serif}
.epl-portfolio .epl-modal::backdrop{background:rgb(20 23 28 / 76%)}
.epl-portfolio .epl-modal{scrollbar-width:none;-ms-overflow-style:none}
.epl-portfolio .epl-modal::-webkit-scrollbar{display:none;width:0;height:0}
.epl-portfolio .epl-modal-top{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;gap:15px;border-bottom:1px solid #e7e9ed}
.epl-portfolio .epl-profile{display:flex;gap:12px;align-items:center}
.epl-portfolio .epl-profile-name{font-size:12px;font-weight:500;line-height:1.5}
.epl-portfolio .epl-profile-subtitle{font-size:10px;line-height:1.5;color:#69717d}
.epl-portfolio .epl-brand-avatar{background:#1e1e1e;border:0;outline:0;box-shadow:none}
.epl-portfolio .epl-brand-avatar img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.epl-portfolio .epl-close{width:38px;height:38px;flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;box-shadow:none;font:300 28px/1 Arial,sans-serif}
.epl-portfolio .epl-modal-image{position:relative;background:#f6f7f9;touch-action:pan-y}
.epl-portfolio .epl-modal-image img{display:block;width:100%;aspect-ratio:1;object-fit:contain;margin:0;border-radius:0}
.epl-portfolio .epl-modal-nav{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #e7e9ed}
.epl-portfolio .epl-modal-arrow{border:0}
.epl-portfolio .epl-modal-count{font-size:11px;color:#52617a}
.epl-portfolio .epl-modal-copy{padding:12px 23px 27px}
.epl-portfolio .epl-modal-title{font-size:13px;font-weight:500;margin:12px 0 8px;line-height:1.5}
.epl-portfolio .epl-modal-copy .epl-description{font-size:12px;line-height:1.9}
.epl-portfolio .epl-modal-copy .epl-review{margin-top:24px;padding-top:22px;gap:12px}
.epl-portfolio .epl-modal-copy .epl-review p{font-size:12px}
@media(max-width:600px){.epl-portfolio .epl-project{padding:28px 0 35px}.epl-portfolio .epl-header{gap:12px;margin-bottom:20px}.epl-portfolio .epl-title{font-size:27px}.epl-portfolio .epl-track{--epl-slide-width:min(84%,var(--epl-image-width,300px))}.epl-portfolio .epl-category{font-size:10px}.epl-portfolio .epl-description{font-size:13px}.epl-portfolio .epl-review p{font-size:12px}}
@media(pointer:coarse){.epl-portfolio .epl-dot{width:30px;height:44px}.epl-portfolio .epl-arrows button,.epl-portfolio .epl-close,.epl-portfolio .epl-modal-arrow{width:44px;height:44px}.epl-portfolio .epl-like-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.epl-portfolio .epl-slide img{transition:none}}
/* Une colonne de publications comme un feed Instagram. */
.epl-portfolio.epl-layout-feed{padding-right:16px;padding-left:16px}
.epl-portfolio.epl-layout-feed .epl-project{width:min(100%,calc(var(--epl-image-width,300px) + 120px));margin-right:auto;margin-left:auto;padding-top:24px;padding-bottom:32px;border-top:0;border-bottom:1px solid #e7e9ed;margin-bottom:26px}
.epl-portfolio.epl-layout-feed .epl-header{margin-bottom:17px;gap:12px}
.epl-portfolio.epl-layout-feed .epl-track{--epl-slide-width:100%;gap:0}
.epl-portfolio.epl-layout-feed .epl-track::after{display:none}
.epl-portfolio.epl-layout-feed .epl-slide{flex-basis:100%}
.epl-portfolio.epl-layout-feed .epl-under{margin:12px 0 16px;gap:12px}
.epl-portfolio.epl-layout-feed .epl-feed-caption-title{font:500 13px/1.6 'Montserrat',Arial,sans-serif;letter-spacing:0;margin:0 0 7px}
.epl-portfolio.epl-layout-feed .epl-description{font-size:13px;line-height:1.9}
.epl-portfolio.epl-layout-feed .epl-review{margin-top:21px;padding-top:19px}
.epl-portfolio.epl-layout-feed .epl-arrows button{border:0;width:30px;height:36px}
@media(pointer:coarse){.epl-portfolio.epl-layout-feed .epl-arrows button{width:36px;height:44px}}
/* Profil unique, une seule couverture par projet. */
.epl-portfolio.epl-layout-profile{max-width:calc(var(--epl-image-width,300px) + var(--epl-image-width,300px) + var(--epl-image-width,300px) + 46px);margin-right:auto;margin-left:auto;padding:20px 16px 30px}
.epl-portfolio .epl-account{display:flex;align-items:center;gap:24px;margin:0 0 30px;padding:0 0 26px;border-bottom:1px solid #e0e3e8}
.epl-portfolio .epl-account-avatar{flex:0 0 80px;width:80px;height:80px;background:#1e1e1e;border-radius:50%;overflow:hidden;border:0;outline:0;box-shadow:none}
.epl-portfolio .epl-account-avatar img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.epl-portfolio .epl-account-handle{font:400 22px/1.4 'Montserrat',Arial,sans-serif;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.epl-portfolio .epl-account-name{font:500 12px/1.6 'Montserrat',Arial,sans-serif;margin:10px 0 4px}
.epl-portfolio .epl-account-bio{font:300 12px/1.9 'Montserrat',Arial,sans-serif;margin:0;max-width:420px}
.epl-portfolio.epl-layout-profile .epl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.epl-portfolio.epl-layout-profile .epl-project{padding:0;margin:0;border:0;min-width:0}
.epl-portfolio.epl-layout-profile .epl-project > .epl-header,
.epl-portfolio.epl-layout-profile .epl-project > .epl-under,
.epl-portfolio.epl-layout-profile .epl-project > .epl-description,
.epl-portfolio.epl-layout-profile .epl-project > .epl-review,
.epl-portfolio.epl-layout-profile .epl-project > .epl-demo{display:none}
.epl-portfolio.epl-layout-profile .epl-track{display:block;overflow:visible}
.epl-portfolio.epl-layout-profile .epl-track::after{display:none}
.epl-portfolio.epl-layout-profile .epl-slide{display:none}
.epl-portfolio.epl-layout-profile .epl-slide:first-child{display:block;width:100%;aspect-ratio:1}
@media(max-width:600px){.epl-portfolio .epl-account{gap:16px;margin-bottom:22px;padding-bottom:22px}.epl-portfolio .epl-account-avatar{flex-basis:62px;width:62px;height:62px}.epl-portfolio .epl-account-handle{font-size:17px}.epl-portfolio .epl-account-bio{font-size:11px}.epl-portfolio.epl-layout-profile .epl-grid{gap:4px}}
/* Navigation du site, inspirée de la barre Instagram. */
.epl-portfolio .epl-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:4px;width:100%;margin:28px auto 0;padding:12px 8px;border-top:1px solid #e5e8ed;background:#fff;color:#1e1e1e}
.epl-portfolio .epl-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:48px;min-width:0;padding:4px 2px;color:#1e1e1e;text-decoration:none!important;border:0;box-shadow:none;font:400 10px/1.4 'Montserrat',Arial,sans-serif}
.epl-portfolio .epl-nav-link svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.epl-portfolio .epl-nav-link:hover,.epl-portfolio .epl-nav-link[aria-current=page]{color:var(--epl-link-active,var(--epl-accent))}
.epl-portfolio .epl-nav-link[aria-current=page] .epl-nav-avatar{background:var(--epl-link-active,var(--epl-accent))}
.epl-portfolio .epl-nav-link:focus-visible{outline:2px solid var(--epl-accent);outline-offset:2px}
.epl-portfolio .epl-nav-avatar{width:26px;height:26px;border-radius:50%;background:#1e1e1e;overflow:hidden;border:0}
.epl-portfolio .epl-nav-avatar img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
@media(max-width:600px){.epl-portfolio.epl-has-navigation{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.epl-portfolio .epl-bottom-nav{position:fixed;z-index:1000;bottom:0;left:0;right:0;width:100%;margin:0;padding:9px max(8px,env(safe-area-inset-right,0px)) calc(9px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));box-shadow:0 -3px 15px rgb(30 30 30 / 3%)}.epl-portfolio .epl-nav-link{min-height:46px;font-size:9px;gap:5px}}
.epl-global-navigation{display:none}
@media(max-width:600px){body.epl-global-mobile-nav{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}.epl-global-navigation{display:block}.epl-global-mobile-nav .epl-portfolio:not(.epl-global-navigation) > .epl-bottom-nav{display:none}.epl-global-mobile-nav .epl-portfolio.epl-has-navigation{padding-bottom:30px}}
/* La pleine hauteur exclut désormais la barre mobile. */
@media(max-width:600px){
 body.epl-global-mobile-nav{padding-bottom:var(--epl-mobile-nav-height,calc(82px + env(safe-area-inset-bottom,0px)))!important}
 body.epl-global-mobile-nav :is(.epl-fullheight,.wp-block-cover[style*="100vh"],.wp-block-cover[style*="100svh"],.wp-block-cover[style*="100dvh"]){min-height:calc(100vh - var(--epl-mobile-nav-height,calc(82px + env(safe-area-inset-bottom,0px))))!important}
 @supports(height:100svh){body.epl-global-mobile-nav :is(.epl-fullheight,.wp-block-cover[style*="100vh"],.wp-block-cover[style*="100svh"],.wp-block-cover[style*="100dvh"]){min-height:calc(100svh - var(--epl-mobile-nav-height,calc(82px + env(safe-area-inset-bottom,0px))))!important}}
}
