/* ==========================================================================
   Supplement for the frozen Elementor markup: the few things Elementor's JS used to do via inline styles.
   ========================================================================== */

/* --- sticky header (Elementor "sticky: top") ------------------------------ */
.elementor-location-header { position: sticky; top: 0; z-index: 99; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }

/* --- background video (Elementor's JS used to inject and size it) --------- */
.tr-bgvideo { position: relative; overflow: hidden; }
.tr-bgvideo__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.tr-bgvideo > .elementor-widget { position: relative; }

/* --- space under a section title (a title section that is directly followed by a gallery / carousel / loop / reviews section) -------- */
[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-gallery),
[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-image-carousel),
[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-loop-grid),
[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-loop-carousel),
[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .lt-mosaic),
[data-elementor-type="wp-page"] > .e-parent:has(+ .lt-reviews-sec) { padding-bottom: max(var(--padding-bottom, 0px), 36px) !important; }
@media (max-width: 767px) {
	[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-gallery),
	[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-image-carousel),
	[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-loop-grid),
	[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .elementor-widget-loop-carousel),
	[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .lt-mosaic),
[data-elementor-type="wp-page"] > .e-parent:has(+ .e-parent .lt-mosaic),
	[data-elementor-type="wp-page"] > .e-parent:has(+ .lt-reviews-sec) { padding-bottom: max(var(--padding-bottom, 0px), 22px) !important; }
}

/* --- desktop nav sub menus (smartmenus used inline styles) ---------------- */
.elementor-nav-menu--main .elementor-nav-menu li { position: relative; }
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 9999; width: max-content; min-width: 220px; }
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu a { white-space: nowrap; }
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu ul.sub-menu { top: 0 !important; left: 100%; margin-top: 0 !important; }
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li { position: relative; }
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu ul.sub-menu::before { content: none; }
.elementor-nav-menu--main .elementor-nav-menu li.tr-open > ul.sub-menu { display: block; }
/* the theme adds a 10px margin above sub menus: bridge it so the hover is not lost between the item and its dropdown */
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }

/* --- mobile dropdown sub menus -------------------------------------------- */
.elementor-nav-menu--dropdown .elementor-nav-menu ul.sub-menu { display: none; }
.elementor-nav-menu--dropdown .elementor-nav-menu li.tr-open > ul.sub-menu { display: block; }

/* --- tabs: only the active panel is visible -------------------------------- */
.elementor-tab-content[hidden] { display: none; }

/* --- gallery (Elementor e-gallery computed this in JS) ---------------------- */
.elementor-widget-gallery:not(.tr-eg) .elementor-gallery__container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.elementor-widget-gallery:not(.tr-eg) .e-gallery-item { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 2; }
.elementor-widget-gallery:not(.tr-eg) .e-gallery-image { position: absolute; inset: 0; background-size: cover; background-position: center; }
.elementor-widget-gallery .elementor-gallery-item__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .3); opacity: 0; transition: opacity .3s; }
.elementor-widget-gallery .e-gallery-item:hover .elementor-gallery-item__overlay { opacity: 1; }
@media (max-width: 1024px) { .elementor-widget-gallery:not(.tr-eg) .elementor-gallery__container { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
@media (max-width: 767px) { .elementor-widget-gallery:not(.tr-eg) .elementor-gallery__container { grid-template-columns: 1fr; } }

/* --- video iframe ------------------------------------------------------------ */
.elementor-widget-video .elementor-video { position: relative; aspect-ratio: 16 / 9; }
.elementor-widget-video .elementor-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* --- lightbox ----------------------------------------------------------------- */
.tr-lightbox { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, .9); }
.tr-lightbox.is-open { display: flex; }
.tr-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.tr-lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 48px; line-height: 1; cursor: pointer; padding: 10px 18px; }
.tr-lightbox__x { top: 10px; right: 10px; }
.tr-lightbox__p { left: 10px; top: 50%; }
.tr-lightbox__n { right: 10px; top: 50%; }

.carousel-links .swiper-slide-image { cursor: pointer; }

/* --- Lisateenused: "Minu Parem Päev" card ------------------------------------------------ */
.elementor-element-trmpbtn { margin-top: 20px; }
.elementor-element-trmpbtn .elementor-button { background-color: #FFF200; color: #040F12; border-radius: 57px; padding: 12px 32px; font-family: "Poppins", sans-serif; font-size: 16px; font-weight: 500; line-height: 16px; fill: #040F12; }
.elementor-element-trmpbtn .elementor-button:hover { background-color: #040F12; color: #FFF200; }
.elementor-element-325a20bb ul { margin: 0 0 1.2em; }
.elementor-element-325a20bb p { margin: 0 0 1em; }
.elementor-element-1b42aef2 a:not(.elementor-button), .elementor-element-64195b9 a:not(.elementor-button) { color: #040F12; text-decoration: underline; }


