/* Native Elementor Gallery: original media order, responsive masonry and lightbox. */
.tpp-gallery-page .header-breadcamb-fixer { display:none; }
.tpp-gallery { --gallery-ink:#182e3b; --gallery-muted:#526570; --gallery-red:#d8242f; --gallery-line:#dce5e8; color:var(--gallery-ink); font-family:Inter,Arial,sans-serif; text-align:left; }
.tpp-gallery,.tpp-gallery * { box-sizing:border-box; }
.tpp-gallery.e-con,.tpp-gallery .e-con { --container-max-width:none; --container-default-padding:0px; --widgets-spacing:0px; --gap:0px; --row-gap:0px; --column-gap:0px; gap:0; padding:0; margin:0; min-width:0; max-width:none; }
.tpp-gallery.e-con { width:100%; }
.tpp-gallery .elementor-widget { margin:0; min-width:0; --widgets-spacing:0px; }
.tpp-gallery .elementor-widget-container { margin:0; }
.tpp-gallery .tpp-gallery-wrap { width:calc(100% - 40px); max-width:1240px; margin-inline:auto; }
.tpp-gallery p { margin:0; }
.tpp-gallery .tpp-gallery-hero { padding-block:40px 44px; background:var(--gallery-ink); border-bottom:3px solid var(--gallery-red); }
.tpp-gallery .tpp-gallery-hero .tpp-gallery-wrap { gap:17px; }
.tpp-gallery .tpp-gallery-eyebrow { color:#e0e9ed; font:600 11px/1.6 Inter,Arial,sans-serif; letter-spacing:1.8px; text-transform:uppercase; }
.tpp-gallery .tpp-gallery-eyebrow p::before { content:''; display:inline-block; width:23px; height:2px; margin:0 10px 3px 0; background:#ef6a74; }
.tpp-gallery .tpp-gallery-title h1.elementor-heading-title { margin:0!important; color:#fff; font:500 clamp(38px,8vw,60px)/1.12 Inter,Arial,sans-serif; letter-spacing:-1.5px; }
.tpp-gallery .tpp-gallery-intro { color:#d9e3e8; font:400 15px/1.8 Inter,Arial,sans-serif; max-width:640px; }
.tpp-gallery .tpp-gallery-body { padding-block:30px 54px; background:#f5f7f7; }
.tpp-gallery .tpp-gallery-photos { width:100%; }
.tpp-gallery .elementor-gallery-item { border-radius:5px; background:#fff; overflow:hidden; outline-offset:4px; cursor:zoom-in; box-shadow:0 3px 18px #182e3b08; }
.tpp-gallery .elementor-gallery-item:focus-visible { outline:3px solid var(--gallery-red); }
.tpp-gallery .elementor-gallery-item::after { content:'↗'; position:absolute; bottom:12px; right:12px; display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; border:1px solid #ffffff99; background:#182e3be6; color:#fff; font:400 20px/1 Inter,Arial,sans-serif; pointer-events:none; transition:background .2s; }
.tpp-gallery .elementor-gallery-item:is(:hover,:focus-visible)::after { background:var(--gallery-red); }
.tpp-gallery .elementor-gallery-item__image { background-color:#fff; }
.tpp-gallery .elementor-gallery-item__content { font-family:Inter,Arial,sans-serif; }
/* Anchor Elementor's dynamically loaded full-screen viewer on compact screens. */
.tpp-gallery-page .elementor-lightbox:not(.elementor-popup-modal) { background:rgba(9,20,28,.96); }
.tpp-gallery-page .elementor-lightbox:not(.elementor-popup-modal) .dialog-widget-content { inset:0!important; width:100%; height:100%; }
.tpp-gallery-page .elementor-lightbox .dialog-lightbox-close-button { min-width:44px; min-height:44px; align-items:center; justify-content:center; margin-top:5px; }
.tpp-gallery-page .elementor-lightbox .elementor-slideshow__header > :is(i,svg) { box-sizing:border-box; width:44px; height:44px; padding:11px; margin:0; }
.tpp-gallery-page .elementor-lightbox .elementor-slideshow__title { font:500 14px/1.5 Inter,Arial,sans-serif; }
@media(min-width:600px) {
 .tpp-gallery .tpp-gallery-wrap { width:calc(100% - 64px); }
 .tpp-gallery .tpp-gallery-body { padding-block:42px 70px; }
}
@media(min-width:900px) {
 .tpp-gallery .tpp-gallery-hero { padding-block:56px 60px; }
 .tpp-gallery .tpp-gallery-body { padding-block:48px 84px; }
 .tpp-gallery .tpp-gallery-intro { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .tpp-gallery *, .tpp-gallery *::after { transition:none!important; animation:none!important; } }
