/* lp10 shared styles for widgets rebuilt without Elementor's runtime */
/* slider breakpoints follow Swiper as Elementor configures it: tablet values below 1024px, mobile values below 767px */
.lp-slider{overflow:hidden;position:relative;--spv:var(--spv-d,3);--g:var(--gap,10px)}
.lp-slider>.swiper-wrapper,.lp-slider--plain{display:flex!important;flex-wrap:nowrap!important;gap:var(--g);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;transform:none!important}
.lp-slider>.swiper-wrapper::-webkit-scrollbar,.lp-slider--plain::-webkit-scrollbar{display:none}
.lp-slider>.swiper-wrapper>.swiper-slide,.lp-slider--plain>*{flex:0 0 calc((100% - var(--g) * (var(--spv,3) - 1)) / var(--spv,3))!important;width:auto!important;max-width:none!important;margin:0!important;scroll-snap-align:start}
@media (max-width:1023px){.lp-slider{--spv:var(--spv-t,2);--g:var(--gap-t,var(--gap,10px))}}
@media (max-width:766px){.lp-slider{--spv:var(--spv-m,1);--g:var(--gap-m,var(--gap-t,var(--gap,10px)))}}
.lp-slider~.swiper-pagination:empty,.lp-slider .swiper-pagination:empty{display:none}
.swiper-pagination-bullet{cursor:pointer}
.elementor-swiper-button{cursor:pointer;z-index:2}
@media (hover:hover) and (pointer:fine){.lp-slider>.swiper-wrapper,.lp-slider--plain{cursor:grab}}

.lp-yt{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}
/* the site kit styles every <button> (e.g. padding 18px 45px), which shrank the video inside a black frame */
.lp-yt{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:#000!important;box-shadow:none!important;min-height:0!important;line-height:0!important}
.lp-yt img{width:100%;height:100%;object-fit:cover;display:block}
.lp-yt-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border-radius:12px;background:rgba(0,0,0,.72);transition:background .2s}
.lp-yt-play::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}
.lp-yt:hover .lp-yt-play,.lp-yt:focus-visible .lp-yt-play{background:#f00}
.lp-yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0}

.lp-popup[hidden]{display:none!important}
.lp-popup-wrap{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);padding:16px}
.lp-popup-wrap--corner{background:transparent;align-items:flex-end;justify-content:flex-start;pointer-events:none}
.lp-popup-box{position:relative;max-width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.25);pointer-events:auto;animation:lp-pop .35s ease-out}
.lp-popup-wrap--corner .lp-popup-box{max-width:min(360px,100%);margin-bottom:80px}
.lp-popup-close{position:absolute;top:6px;inset-inline-end:8px;z-index:2;width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.08);font-size:22px;line-height:1;cursor:pointer}
@keyframes lp-pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.lp-popup-box{animation:none}.lp-slider>.swiper-wrapper{scroll-behavior:auto}}
.elementor-toggle .elementor-tab-title{cursor:pointer}

.lp-sticky-bottom>*{pointer-events:auto}
.lp-delayed{animation:lp-fade .6s ease both}
@keyframes lp-fade{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}
.elementor-icon .lp-fa,.elementor-icon-box-icon .lp-fa,.elementor-icon-list-icon .lp-fa{display:block}
.elementor-wrapper>.lp-yt,.elementor-wrapper>.lp-yt-frame{width:100%;height:100%;aspect-ratio:auto}
/* Swiper's bullet styles (Elementor loaded them with its script) */
.swiper-pagination{text-align:center;z-index:2;line-height:1}
.swiper-horizontal>.swiper-pagination-bullets,.lp-slider>.swiper-pagination,.lp-slider~.swiper-pagination{bottom:var(--swiper-pagination-bottom,8px);left:0;width:100%}
.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}
.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity,1);background:var(--swiper-pagination-color,var(--swiper-theme-color,#007aff))}

/* Cookie notice + accessibility menu (il-*): the state rules that the rebuild dropped, because the
   classes are only added by script after load. Without them the notice never showed and the
   accessibility menu never opened. */
#il-cookie-banner.il-show-banner{display:flex!important}
#il-cookie-banner.il-force-hide{display:none!important}
#il-a11y-modal.il-active{display:block!important}
.il-a11y-option.active{border-color:#005a87!important;background:#e3f0f7!important}
body.il-a11y-large-cursor,body.il-a11y-large-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 11.5-6.6.9 3.9 7.4-2.7 1.4-3.9-7.5L4 20z' fill='%23000' stroke='%23fff' stroke-width='1.2'/%3E%3C/svg%3E") 6 3,auto!important}
body.il-a11y-reading-guide #il-a11y-reading-bar{display:block!important}
html:has(body.il-a11y-grayscale){filter:grayscale(100%)}
body.il-a11y-high-contrast,body.il-a11y-high-contrast *:not(img):not(video):not(svg):not(path){background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important}
body.il-a11y-high-contrast a,body.il-a11y-high-contrast a *{color:#ff0!important}
body.il-a11y-highlight-links a{outline:2px solid #ff0!important;outline-offset:2px!important;background:#ff0!important;color:#000!important;text-decoration:underline!important}
body.il-a11y-large-text>*:not(#il-a11y-btn):not(#il-a11y-modal):not(#il-cookie-banner):not(#il-a11y-reading-bar){zoom:1.2}
body.il-a11y-readable-font,body.il-a11y-readable-font *:not(.il-icon){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.02em!important}
body.il-a11y-stop-anim *,body.il-a11y-stop-anim *::before,body.il-a11y-stop-anim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* image lightbox (replaces Elementor's): close with the X, Esc or a click outside the image */
.lp-lb{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.94);padding:56px max(56px,env(safe-area-inset-right,0px)) 56px max(56px,env(safe-area-inset-left,0px));animation:lp-fade .2s ease both;-webkit-tap-highlight-color:transparent}
.lp-lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5);user-select:none}
.lp-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font:400 34px/1 Arial,sans-serif!important;cursor:pointer;min-height:0!important;direction:ltr;unicode-bidi:isolate}
.lp-lb-btn:hover,.lp-lb-btn:focus-visible{background:rgba(255,255,255,.3)!important;outline:2px solid #fff;outline-offset:2px}
.lp-lb-close{top:calc(10px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px))}
.lp-lb-prev{right:calc(6px + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
.lp-lb-next{left:calc(6px + env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.lp-lb-count{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:#fff;font:14px Arial,sans-serif;direction:ltr;opacity:.8;pointer-events:none}
@media (max-width:766px){.lp-lb{padding:64px 8px}.lp-lb-prev,.lp-lb-next{top:auto;bottom:calc(6px + env(safe-area-inset-bottom,0px));transform:none}.lp-lb-count{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
