
.spectra-gallery-breadcrumb { background-image:none!important; background:linear-gradient(135deg,#123d7a 0%,#176aa0 55%,#08bcd4 100%)!important; }
.spectra-gallery-breadcrumb .parallax { display:none!important; }
.spectra-gallery-breadcrumb .breadcumb-title { color:#fff; }
.sp-gallery { padding:75px 0 85px; background:#fff; --sp-gallery-blue:#123d7a; --sp-gallery-accent:var(--theme-color,#06bdd5); }
.sp-gallery .sp-gallery-heading { margin-bottom:30px; }
.sp-gallery .sp-gallery-heading h2 { margin:8px 0 12px; color:var(--title-color,#102c5c); font-size:clamp(26px,3vw,38px); line-height:1.25; }
.sp-gallery .sp-gallery-heading p { max-width:620px; margin:0 auto; color:var(--body-color,#66788d); }
.sp-gallery .sp-gallery-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.sp-gallery .sp-gallery-filter { display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; min-height:44px; border:1px solid #e0e6ec; background:#fff; color:#536174; font:inherit; font-size:12px; font-weight:600; line-height:1.4; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.sp-gallery .sp-gallery-filter:hover { border-color:var(--sp-gallery-blue); color:var(--sp-gallery-blue); }
.sp-gallery .sp-gallery-filter.is-active { background:var(--sp-gallery-blue); color:#fff; border-color:var(--sp-gallery-blue); }
.sp-gallery .sp-gallery-filter:focus-visible,.sp-gallery .sp-gallery-open:focus-visible { outline:3px solid var(--sp-gallery-accent); outline-offset:4px; }
.sp-gallery .sp-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sp-gallery .sp-gallery-card { position:relative; min-width:0; margin:0; overflow:hidden; background:#eef5fa; }
.sp-gallery .sp-gallery-card[hidden] { display:none!important; }
.sp-gallery .sp-gallery-open { position:relative; display:block; padding:0; border:0; width:100%; background:transparent; color:#fff; cursor:zoom-in; }
.sp-gallery .sp-gallery-open img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .35s ease; }
.sp-gallery .sp-gallery-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(16,44,92,.38); opacity:0; transition:opacity .25s; }
.sp-gallery .sp-gallery-plus { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.8); border-radius:50%; font-size:30px; line-height:1; font-weight:300; }
.sp-gallery .sp-gallery-open:hover img { transform:scale(1.04); }
.sp-gallery .sp-gallery-open:hover .sp-gallery-overlay,.sp-gallery .sp-gallery-open:focus-visible .sp-gallery-overlay { opacity:1; }
.sp-gallery .sp-gallery-label { position:absolute; left:14px; bottom:14px; padding:5px 10px; background:rgba(16,44,92,.86); color:#fff; font-size:12px; pointer-events:none; }
.sp-gallery-lightbox { border:0; padding:0; margin:auto; max-width:calc(100vw - 40px); max-height:calc(100vh - 40px); width:960px; background:#102238; color:#fff; box-shadow:0 20px 80px rgba(0,0,0,.35); }
.sp-gallery-lightbox::backdrop { background:rgba(5,16,31,.88); }
.sp-gallery-lightbox .sp-gallery-lightbox-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 18px; }
.sp-gallery-lightbox .sp-gallery-lightbox-caption { margin:0; font-size:14px; color:#fff; }
.sp-gallery-lightbox button { border:1px solid #66788d; background:transparent; color:#fff; min-width:44px; min-height:44px; font-size:24px; cursor:pointer; }
.sp-gallery-lightbox button:focus-visible { outline:3px solid #08bcd4; outline-offset:2px; }
.sp-gallery-lightbox .sp-gallery-large-image { display:block; width:100%; height:auto; max-height:calc(100vh - 140px); object-fit:contain; }
.sp-gallery .sp-gallery-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:991px) { .sp-gallery .sp-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .sp-gallery { padding:45px 0 55px; } .sp-gallery .sp-gallery-grid { grid-template-columns:1fr; gap:16px; } .sp-gallery .sp-gallery-filters { gap:8px; margin-bottom:25px; } .sp-gallery .sp-gallery-filter { padding:10px 12px; font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .sp-gallery .sp-gallery-open img,.sp-gallery .sp-gallery-overlay,.sp-gallery .sp-gallery-filter { transition:none; } }

.sp-gallery .sp-gallery-container { width:calc(100% - 40px); max-width:1200px; margin-left:auto; margin-right:auto; }
.sp-gallery .sp-gallery-heading { text-align:center; }
.sp-gallery [hidden] { display:none!important; }
.sp-gallery .sp-gallery-empty { padding:40px 20px; text-align:center; background:#f1f7fb; color:#66788d; }
