.ek-gallery {
--ek-g-bg: #f5f7fb;
--ek-g-accent: #fc0000;
--ek-g-text: #1a1f2e;
--ek-g-border: #e5e7eb;
--ek-g-radius: 8px;
--ek-g-aspect: 4 / 3;
--ek-g-max-height: 520px;
--ek-g-thumb-size: 72px;
--ek-g-thumb-size-mobile: 60px;
--ek-g-thumb-gap: 8px;
position: relative;
width: 100%;
max-width: 100%;
box-sizing: border-box;
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
}
.ek-gallery *, .ek-gallery *::before, .ek-gallery *::after {
box-sizing: border-box;
} .ek-gallery__main {
position: relative;
flex: 1 1 auto;
min-width: 0;
aspect-ratio: var(--ek-g-aspect);
max-height: var(--ek-g-max-height);
background: var(--ek-g-bg);
border-radius: var(--ek-g-radius);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
order: 2;
}
.ek-gallery__slide {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: opacity 0.25s ease;
padding: 16px;
}
.ek-gallery__slide.is-active {
opacity: 1;
visibility: visible;
}
.ek-gallery__image {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
cursor: zoom-in;
display: block;
} .ek-gallery__zoom {
position: absolute;
top: 12px;
right: 12px;
width: 36px;
height: 36px;
background: rgba(255, 255, 255, 0.92);
border: 1px solid var(--ek-g-border);
border-radius: 50%;
color: var(--ek-g-text);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.15s, transform 0.1s;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
padding: 0;
}
.ek-gallery__zoom:hover {
background: #fff;
transform: scale(1.05);
} .ek-gallery__video-placeholder {
position: relative;
width: 100%;
height: 100%;
background-color: #1a1a1a;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
display: flex;
align-items: center;
justify-content: center;
border-radius: calc(var(--ek-g-radius) - 4px);
}
.ek-gallery__video-placeholder::before {
content: "";
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.3);
border-radius: inherit;
}
.ek-gallery__video-play {
position: relative;
width: 88px;
height: 88px;
background: rgba(255, 255, 255, 0.95);
border: 0;
border-radius: 50%;
color: var(--ek-g-accent);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.15s, background 0.15s;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
padding: 0;
z-index: 1;
}
.ek-gallery__video-play:hover {
transform: scale(1.08);
background: #fff;
}
.ek-gallery__video-play svg {
margin-left: 4px;
} .ek-gallery__slide iframe,
.ek-gallery__slide video {
width: 100%;
height: 100%;
border: 0;
border-radius: calc(var(--ek-g-radius) - 4px);
background: #000;
} .ek-gallery__nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.92);
border: 1px solid var(--ek-g-border);
border-radius: 50%;
color: var(--ek-g-text);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.15s, transform 0.1s;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
z-index: 5;
padding: 0;
}
.ek-gallery__nav:hover {
background: #fff;
transform: translateY(-50%) scale(1.05);
}
.ek-gallery__nav--prev { left: 12px; }
.ek-gallery__nav--next { right: 12px; } .ek-gallery__nav { display: none; } .ek-gallery__thumbs {
display: flex;
flex-direction: column;
gap: var(--ek-g-thumb-gap);
overflow-y: auto;
overflow-x: hidden;
scroll-behavior: smooth;
padding: 2px 4px 2px 2px;
-webkit-overflow-scrolling: touch;
flex: 0 0 auto;
max-height: var(--ek-g-max-height);
order: 1;
scrollbar-width: thin;
}
.ek-gallery__thumbs::-webkit-scrollbar {
width: 6px;
}
.ek-gallery__thumbs::-webkit-scrollbar-track {
background: #f0f0f0;
border-radius: 3px;
}
.ek-gallery__thumbs::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 3px;
}
.ek-gallery__thumb {
position: relative;
flex: 0 0 auto;
width: var(--ek-g-thumb-size);
height: var(--ek-g-thumb-size);
border: 2px solid transparent;
border-radius: 6px;
background: var(--ek-g-bg);
cursor: pointer;
overflow: hidden;
padding: 0;
transition: border-color 0.15s, transform 0.1s;
}
.ek-gallery__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.ek-gallery__thumb:hover {
transform: scale(1.03);
}
.ek-gallery__thumb.is-active {
border-color: var(--ek-g-accent);
}
.ek-gallery__thumb-placeholder {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
}
.ek-gallery__thumb-play {
position: absolute;
bottom: 4px;
right: 4px;
width: 22px;
height: 22px;
background: rgba(0, 0, 0, 0.7);
border-radius: 50%;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
.ek-gallery__thumb-play svg {
margin-left: 2px;
} .ek-gallery-lightbox {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.92);
z-index: 99999;
display: none;
align-items: center;
justify-content: center;
padding: 40px;
cursor: zoom-out;
}
.ek-gallery-lightbox.is-open {
display: flex;
}
.ek-gallery-lightbox__close {
position: absolute;
top: 16px;
right: 16px;
width: 48px;
height: 48px;
background: rgba(255, 255, 255, 0.1);
border: 0;
border-radius: 50%;
color: #fff;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.15s;
padding: 0;
z-index: 2;
}
.ek-gallery-lightbox__close:hover {
background: rgba(255, 255, 255, 0.2);
}
.ek-gallery-lightbox__content {
max-width: 90vw;
max-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
cursor: default;
}
.ek-gallery-lightbox__content img {
max-width: 90vw;
max-height: 90vh;
width: auto;
height: auto;
object-fit: contain;
display: block;
border-radius: 4px;
} @media (max-width: 768px) {
.ek-gallery {
--ek-g-max-height: 360px;
flex-direction: column;
align-items: stretch;
gap: 8px;
}
.ek-gallery__main {
order: 1;
width: 100%;
flex: 0 0 auto;
align-self: stretch;
min-height: 240px;
} @supports not (aspect-ratio: 1) {
.ek-gallery__main {
height: 280px;
aspect-ratio: auto;
}
}
.ek-gallery__thumbs {
order: 2;
flex-direction: row;
overflow-x: auto;
overflow-y: hidden;
max-height: none;
width: 100%;
padding: 4px 2px;
flex: 0 0 auto;
}
.ek-gallery__thumbs::-webkit-scrollbar {
width: auto;
height: 6px;
}
.ek-gallery__nav {
display: flex;
width: 36px;
height: 36px;
}
.ek-gallery__nav--prev { left: 8px; }
.ek-gallery__nav--next { right: 8px; }
.ek-gallery__thumb {
width: var(--ek-g-thumb-size-mobile);
height: var(--ek-g-thumb-size-mobile);
}
.ek-gallery__video-play {
width: 64px;
height: 64px;
}
.ek-gallery__video-play svg {
width: 48px;
height: 48px;
}
.ek-gallery-lightbox {
padding: 20px;
}
.ek-gallery-lightbox__close {
top: 8px;
right: 8px;
width: 40px;
height: 40px;
}
}
@media (max-width: 480px) {
.ek-gallery {
--ek-g-max-height: 260px;
}
.ek-gallery__main {
border-radius: 6px;
}
}[data-elementor-type=popup] .elementor-section-wrap:not(:empty)+#elementor-add-new-section,[data-elementor-type=popup]:not(.elementor-edit-area){display:none}.elementor-popup-modal.dialog-type-lightbox{background-color:transparent;display:flex;pointer-events:none;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.elementor-popup-modal .dialog-buttons-wrapper,.elementor-popup-modal .dialog-header{display:none}.elementor-popup-modal .dialog-close-button{display:none;inset-inline-end:20px;margin-top:0;opacity:1;pointer-events:all;top:20px;z-index:9999}.elementor-popup-modal .dialog-close-button svg{fill:#1f2124;height:1em;width:1em}.elementor-popup-modal .dialog-widget-content{background-color:#fff;border-radius:0;box-shadow:none;max-height:100%;max-width:100%;overflow:visible;pointer-events:all;width:auto}.elementor-popup-modal .dialog-message{display:flex;max-height:100vh;max-width:100vw;overflow:auto;padding:0;width:640px}.elementor-popup-modal .elementor{width:100%}