/* EContent Portfolio Manager v2 - All styles are scoped; independent of Elementor/theme CSS. */
.ecs-pm-page{width:100%;padding:75px 18px 90px;box-sizing:border-box}
.ecs-pm-page *,.ecs-pm-gallery *{box-sizing:border-box}
.ecs-pm-inner{width:100%;max-width:1360px;margin:0 auto}
.ecs-pm-heading{text-align:center;margin:0 auto 46px;line-height:1.6;max-width:1240px}
.ecs-pm-subtitle{font-size:13px;letter-spacing:.18em;color:#e94d47;font-weight:650;margin:0 0 13px}
.ecs-pm-heading h1{font-size:clamp(23px,2.6vw,36px);line-height:1.22;font-weight:750;color:#171717;margin:0 auto 30px;max-width:1080px}
.ecs-pm-intro{font-size:17px;line-height:1.95;color:#555;max-width:1150px;margin:0 auto}
.ecs-pm-preview-note{margin-bottom:20px;background:#fff4cf;border:1px solid #e5bc40;border-radius:5px;padding:14px 18px;color:#4e3d11}
.ecs-pm-gallery{width:100%;max-width:var(--ecs-pm-width,1290px);margin:0 auto;color:#242424;font-family:inherit}
.ecs-pm-controls{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:center;padding:0 0 29px;margin:0}
.ecs-pm-gallery .ecs-pm-filter{font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.5!important;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:8px 2px!important;color:var(--ecs-pm-filter-color,#777)!important;box-shadow:none!important;cursor:pointer;text-transform:uppercase;white-space:normal;min-width:0!important;width:auto!important;transition:color .2s,border-color .2s}
.ecs-pm-gallery .ecs-pm-filter:hover,.ecs-pm-gallery .ecs-pm-filter.is-current{color:var(--ecs-pm-filter-active,#ff5a2e)!important;border-bottom-color:var(--ecs-pm-filter-active,#ff5a2e)!important}
.ecs-pm-grid{display:grid;grid-template-columns:repeat(var(--ecs-pm-col-desktop,3),minmax(0,1fr));gap:var(--ecs-pm-gap,18px);align-items:start}
.ecs-pm-gallery .ecs-pm-card{background:#fff;min-width:0;width:auto!important;max-width:none!important;margin:0!important;padding:var(--ecs-pm-card-pad,0px)!important;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);border:1px solid #f0f0f0;transition:box-shadow .2s,transform .2s}
.ecs-pm-gallery .ecs-pm-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.11);transform:translateY(-2px)}
.ecs-pm-gallery .ecs-pm-card[hidden],.ecs-pm-gallery [hidden]{display:none!important}
.ecs-pm-gallery .ecs-pm-image-wrap{position:relative;width:100%;aspect-ratio:var(--ecs-pm-img-ratio,418 / 270);overflow:hidden;background:#f4f4f4}
.ecs-pm-gallery img.ecs-pm-image{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block!important;object-fit:cover!important;transition:transform .32s ease}
.ecs-pm-gallery .ecs-pm-card:hover .ecs-pm-image{transform:scale(1.025)}
.ecs-pm-overlay{position:absolute;inset:0;background:var(--ecs-pm-overlay-rgba,rgba(17,17,17,.52));display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .22s}
.ecs-pm-card:hover .ecs-pm-overlay,.ecs-pm-card:focus-within .ecs-pm-overlay{opacity:1}
.ecs-pm-actions{display:flex;align-items:center;justify-content:center;gap:var(--ecs-pm-btn-gap,10px);flex-wrap:wrap;padding:10px}
.ecs-pm-gallery .ecs-pm-action{appearance:none!important;width:var(--ecs-pm-btn-size,48px)!important;height:var(--ecs-pm-btn-size,48px)!important;min-width:var(--ecs-pm-btn-size,48px)!important;min-height:var(--ecs-pm-btn-size,48px)!important;border:0!important;border-radius:50%!important;background:var(--ecs-pm-btn-bg,#ff5a2e)!important;color:var(--ecs-pm-btn-color,#fff)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;padding:0!important;margin:0!important;box-shadow:none!important;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.ecs-pm-gallery .ecs-pm-action:hover,.ecs-pm-gallery .ecs-pm-action:focus-visible{color:var(--ecs-pm-btn-hover-color,#fff)!important;background:var(--ecs-pm-btn-hover-bg,#222)!important;transform:translateY(-2px)}
.ecs-pm-gallery .ecs-pm-action svg{width:var(--ecs-pm-icon-size,22px)!important;height:var(--ecs-pm-icon-size,22px)!important;stroke:currentColor!important;display:block!important;flex-shrink:0}
.ecs-pm-gallery .ecs-pm-action img.ecs-pm-icon-image{width:var(--ecs-pm-icon-size,22px)!important;height:var(--ecs-pm-icon-size,22px)!important;display:block!important;object-fit:contain!important;flex-shrink:0}
.ecs-pm-caption{text-align:center;padding:12px 9px 15px}
.ecs-pm-caption h3{font-family:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;color:#242424!important;margin:0!important;overflow-wrap:anywhere}
.ecs-pm-more-wrap{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;align-items:center;margin:30px 0 0}
.ecs-pm-gallery .ecs-pm-more,.ecs-pm-gallery .ecs-pm-all{width:auto!important;min-width:165px!important;height:auto!important;background:#f05239!important;color:#fff!important;border:0!important;border-radius:4px!important;font-size:13px!important;font-family:inherit!important;font-weight:700!important;line-height:1.3!important;padding:13px 26px!important;cursor:pointer;box-shadow:none!important;text-decoration:none!important}
.ecs-pm-gallery .ecs-pm-all{background:#222!important}
.ecs-pm-gallery .ecs-pm-more:hover{background:#d33a32!important}
.ecs-pm-gallery .ecs-pm-all:hover{background:#444!important}
.ecs-pm-no-results{text-align:center;padding:30px;color:#777}
.ecs-pm-lightbox-dialog[hidden]{display:none!important}
.ecs-pm-lightbox-dialog{position:fixed;inset:0;z-index:2147480000;background:rgba(0,0,0,.89);display:flex;align-items:center;justify-content:center;padding:45px 16px 20px;overflow:auto}
.ecs-pm-dialog-body{position:relative;max-width:min(1100px,95vw);max-height:92vh;text-align:center}
.ecs-pm-dialog-body>img{max-width:100%;max-height:80vh;width:auto;height:auto;display:block;object-fit:contain;margin:auto}
.ecs-pm-dialog-title{color:#fff;font-size:15px;margin:12px 0 0}
.ecs-pm-gallery .ecs-pm-close{position:absolute;right:0;top:-47px;display:block;width:38px!important;height:38px!important;background:transparent!important;border:0!important;font-size:34px!important;line-height:1;color:white!important;cursor:pointer}
@media(max-width:1024px){.ecs-pm-grid{grid-template-columns:repeat(var(--ecs-pm-col-tablet,2),minmax(0,1fr))}.ecs-pm-page{padding:60px 20px}.ecs-pm-intro{font-size:16px}}
@media(max-width:767px){.ecs-pm-grid{grid-template-columns:repeat(var(--ecs-pm-col-mobile,1),minmax(0,1fr));gap:var(--ecs-pm-gap,18px)}.ecs-pm-page{padding:44px 15px 60px}.ecs-pm-controls{gap:5px 12px}.ecs-pm-gallery .ecs-pm-filter{font-size:11px!important}.ecs-pm-overlay{opacity:1;background:linear-gradient(0deg,var(--ecs-pm-overlay-rgba,rgba(17,17,17,.52)),transparent 70%);align-items:flex-end}.ecs-pm-actions{margin-bottom:5px}.ecs-pm-caption{padding:13px}}
@media(prefers-reduced-motion:reduce){.ecs-pm-gallery *{transition:none!important}}
