/* =========================================================
   FOTOGALLERY - SECUR E SERVICE
   Rifinitura masonry + animazioni
   ========================================================= */

.ses-gallery-page{background:#fff;color:#10263a}
.ses-gallery-hero{background:linear-gradient(90deg,rgba(5,31,51,.98),rgba(5,31,51,.90)),radial-gradient(circle at 82% 30%,rgba(255,255,255,.10),transparent 38%);color:#fff;padding:96px 0 86px;overflow:hidden}
.ses-gallery-hero__inner{max-width:920px}
.ses-gallery-hero .ses-kicker{color:#f97316;display:block;margin-bottom:14px;font-weight:800;letter-spacing:.08em}
.ses-gallery-hero h1{color:#fff;margin:0 0 18px;font-size:clamp(2.7rem,5.4vw,5.8rem);line-height:.95;letter-spacing:-.055em}
.ses-gallery-hero p{margin:0;max-width:760px;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.7}
.ses-gallery-content{padding:30px 0 76px}
.ses-gallery-filters{display:flex;gap:28px;align-items:center;overflow-x:auto;padding:8px 0 20px;margin-bottom:18px;scrollbar-width:none}
.ses-gallery-filters::-webkit-scrollbar{display:none}
.ses-gallery-filters button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 0 9px;color:#5c6d7b;font:inherit;font-size:.78rem;font-weight:800;letter-spacing:.045em;white-space:nowrap;cursor:pointer;transition:color .2s ease,border-color .2s ease}
.ses-gallery-filters button:hover,.ses-gallery-filters button:focus-visible{color:#10263a}
.ses-gallery-filters button.is-active{color:#10263a;border-bottom-color:#f97316}

.ses-gallery-masonry{columns:3 320px;column-gap:16px}
.ses-gallery-item{break-inside:avoid;margin:0 0 16px;opacity:0;transform:translate3d(0,36px,0) scale(.995);transition:opacity .68s ease,transform .68s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.ses-gallery-item.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.ses-gallery-item__button{display:block;width:100%;padding:0;margin:0;position:relative;border:0;border-radius:8px;background:#e9eef2;overflow:hidden;cursor:zoom-in;text-align:left;box-shadow:0 2px 10px rgba(8,34,56,.05)}
.ses-gallery-item__image{display:block;width:100%;height:auto;transition:transform .55s ease,filter .35s ease}
.ses-gallery-item__overlay{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:6px;padding:55px 18px 18px;color:#fff;background:linear-gradient(180deg,transparent,rgba(4,20,34,.88));opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease}
.ses-gallery-item__category{color:#ff8a32;font-size:.72rem;line-height:1.2;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.ses-gallery-item__caption{font-weight:800;font-size:1rem;line-height:1.35}
.ses-gallery-item__button:hover .ses-gallery-item__overlay,.ses-gallery-item__button:focus-visible .ses-gallery-item__overlay{opacity:1;transform:translateY(0)}
.ses-gallery-item__button:hover .ses-gallery-item__image{transform:scale(1.012);filter:brightness(.96)}

.ses-gallery-loader{display:flex;align-items:center;justify-content:center;gap:10px;min-height:78px;margin-top:12px;color:#71808d;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.ses-gallery-loader[hidden]{display:none!important}
.ses-gallery-loader__spinner{width:18px;height:18px;border:2px solid #dbe3e9;border-top-color:#1d63d9;border-radius:50%;animation:ses-gallery-spin .85s linear infinite}
@keyframes ses-gallery-spin{to{transform:rotate(360deg)}}

.ses-gallery-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(2,12,20,.96);display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;padding:48px 20px 28px}
.ses-gallery-lightbox[hidden]{display:none!important}
.ses-gallery-lightbox__content{width:min(1180px,100%);max-height:calc(100vh - 80px);margin:auto;display:flex;flex-direction:column;align-items:flex-start}
.ses-gallery-lightbox__content img{display:block;max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;margin:auto;object-fit:contain}
.ses-gallery-lightbox__meta{width:100%;padding-top:14px;color:#fff}
.ses-gallery-lightbox__meta span{display:block;min-height:1em;color:#ff8a32;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.ses-gallery-lightbox__meta strong{font-size:1rem;line-height:1.4}
.ses-gallery-lightbox__close,.ses-gallery-lightbox__nav{border:0;background:transparent;color:#fff;cursor:pointer}
.ses-gallery-lightbox__close{position:absolute;top:15px;right:20px;font-size:38px;line-height:1}
.ses-gallery-lightbox__nav{font-size:50px;opacity:.8}
.ses-gallery-lightbox__nav:hover,.ses-gallery-lightbox__nav:focus-visible{opacity:1}
body.ses-gallery-lightbox-open{overflow:hidden}

@media (max-width:900px){
  .ses-gallery-hero{padding:72px 0 65px}
  .ses-gallery-masonry{columns:2 260px}
}
@media (max-width:620px){
  .ses-gallery-hero{padding:58px 0 52px}
  .ses-gallery-content{padding-top:20px}
  .ses-gallery-filters{gap:20px}
  .ses-gallery-masonry{columns:1}
  .ses-gallery-item{margin-bottom:14px}
  .ses-gallery-lightbox{grid-template-columns:36px minmax(0,1fr) 36px;padding-left:4px;padding-right:4px}
  .ses-gallery-lightbox__nav{font-size:38px}
}
@media (hover:none){
  .ses-gallery-item__overlay{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .ses-gallery-item,.ses-gallery-item__image,.ses-gallery-item__overlay{transition:none!important;animation:none!important}
  .ses-gallery-item{opacity:1;transform:none}
  .ses-gallery-loader__spinner{animation:none}
}
/* =========================================================
   STACCO TRA FOTOGALLERY E CTA FOOTER
   ========================================================= */

.ses-gallery-separator {
    width: 100%;
    height: 96px;
    background: #07263f;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(0, 0, 0, 0.18);
}
@media (max-width: 768px) {
    .ses-gallery-separator {
        height: 64px;
    }
}