/* Native site interactions; the historical class names retain the migrated layout. */
html { scroll-behavior: smooth; }
[hidden] { display: none !important; }
.elementor-invisible { visibility: visible; }
.elementor-widget-container img { max-width:100%; }
.tui-site-header .elementor-nav-menu--main li { position:relative; }
.tui-site-header .elementor-nav-menu--main .sub-menu { top:100%;left:0;min-width:200px;z-index:110;background:#fff;box-shadow:0 8px 24px #133b4920;border-radius:4px; }
.tui-site-header .elementor-nav-menu--main li:hover > .sub-menu,
.tui-site-header .elementor-nav-menu--main li:focus-within > .sub-menu,
.tui-site-header li.tui-submenu-open > .sub-menu { display:block !important; }
.tui-site-header .elementor-menu-toggle { cursor:pointer; }
.tui-site-header .elementor-nav-menu--dropdown:not(.sub-menu) { display:none !important; }
.tui-site-header .tui-menu-open .elementor-nav-menu--dropdown:not(.sub-menu) { display:block !important;position:fixed;top:var(--tui-menu-top,80px);left:0;right:0;width:100vw;transform:none;max-height:75vh;overflow:auto;background:#fff;z-index:120; }
.tui-site-header .elementor-nav-menu--dropdown .elementor-nav-menu { display:block; }
.tui-site-header .elementor-nav-menu--dropdown .sub-menu { position:static;box-shadow:none;padding-left:16px; }
.tui-site-header .elementor-nav-menu--dropdown a { display:flex;padding:12px 24px; }

.elementor-tab-content.tui-panel-open { display:block; }
.elementor-tab-title { cursor:pointer; }
.elementor-gallery__container { display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;height:auto !important; }
.elementor-gallery__container .e-gallery-item { position:relative !important;display:block;top:auto !important;left:auto !important;width:auto !important;height:auto !important;overflow:hidden; }
.elementor-gallery__container .e-gallery-image { position:relative !important;aspect-ratio:4/3;width:100%;height:auto !important;background-position:center;background-size:cover; }
.elementor-gallery-title { cursor:pointer; }
.elementor-gallery-title[aria-pressed="true"] { color:var(--vamtam-accent-color-1); }
.tui-carousel .swiper-wrapper { display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;transform:none !important;height:auto; }
.tui-carousel .swiper-slide { width:auto !important;height:auto;min-width:0; }
.tui-carousel .swiper-pagination { position:static;display:flex;gap:8px;justify-content:center;margin-top:18px; }
.tui-carousel .swiper-pagination button { width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ccc;cursor:pointer; }
.tui-carousel .swiper-pagination button[aria-current="true"] { background:var(--vamtam-accent-color-2); }
.tui-lightbox { border:0;padding:50px 24px 24px;background:#102e38f5;color:white;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh; }
.tui-lightbox::backdrop { background:#102e38ee; }
.tui-lightbox[open] { display:flex;align-items:center;justify-content:center; }
.tui-lightbox img { max-width:calc(100vw - 100px);max-height:calc(100dvh - 100px);object-fit:contain; }
.tui-lightbox button { position:absolute;background:#fff2;color:#fff;border:0;border-radius:50%;font-size:26px;width:44px;height:44px;cursor:pointer; }
.tui-lightbox .tui-close { top:14px;right:18px; }
.tui-lightbox .tui-prev { left:12px;top:50%; }
.tui-lightbox .tui-next { right:12px;top:50%; }
.tui-lightbox .tui-caption { position:absolute;bottom:10px;left:24px;right:24px;text-align:center;font-size:14px; }
.tui-back-to-top { position:fixed;bottom:22px;right:22px;z-index:90;width:44px;height:44px;border-radius:50%;background:#167287;color:#fff;display:grid;place-items:center;text-decoration:none;font-size:24px; }
@media(max-width:1024px) { .elementor-gallery__container { gap:20px; } }
@media(max-width:767px) { .elementor-gallery__container { grid-template-columns:1fr; }.tui-carousel .swiper-wrapper { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;}*,*::before,*::after {animation-duration:0.01ms !important;transition-duration:0.01ms !important;} }


/* Own the thumbnail geometry formerly initialized by the posts plugin. */
.elementor-posts.elementor-posts--skin-cards .elementor-post__thumbnail {
  position:relative; height:0; padding-bottom:60%; overflow:hidden;
}
.elementor-posts.elementor-posts--skin-cards .elementor-post__thumbnail img {
  position:absolute; inset:0; width:100% !important; height:100% !important;
  max-width:none; object-fit:cover; object-position:center; transform:none;
}
.elementor-posts.elementor-posts--skin-cards .elementor-post__card { position:relative; }
.elementor-posts.elementor-posts--skin-cards .elementor-post__badge { z-index:2; }
.elementor-posts.elementor-posts--skin-cards .vamtam-shape { z-index:1 !important; pointer-events:none; }
.elementor-2 .elementor-element.elementor-element-6fcd2a3 .elementor-post__thumbnail {
  padding-bottom:60%; border-radius:10px 10px 0 0;
}
.elementor-2 .elementor-element.elementor-element-6fcd2a3 .elementor-post__thumbnail__link {
  margin-bottom:24px;
}
.elementor-2 .elementor-element.elementor-element-6fcd2a3 .elementor-post__text {
  margin-top:0; padding:0;
}
.elementor-2 .elementor-element.elementor-element-6fcd2a3 .elementor-post__title a:hover {
  color:#ed4b24;
}

/* Original navigation appearance, with native submenu positioning. */
.tui-site-header .elementor-nav-menu--main > ul > li { flex:0 0 auto !important; }
.tui-site-header .elementor-nav-menu--main .elementor-item {
  position:relative; display:flex; align-items:center;
}
.tui-site-header .elementor-nav-menu--main .elementor-item::after { content:none !important; }
.tui-site-header .elementor-nav-menu--main .elementor-item::before {
  content:'' !important; position:absolute; top:0; left:50% !important; right:auto;
  width:8px !important; height:8px !important; border-radius:50%;
  background:currentColor !important; transform:translateX(-50%) !important;
  opacity:0; pointer-events:none;
}
.tui-site-header .elementor-nav-menu--main li:hover > .elementor-item::before,
.tui-site-header .elementor-nav-menu--main .elementor-item:focus-visible::before,
.tui-site-header .elementor-nav-menu--main .elementor-item.elementor-item-active::before,
.tui-site-header .elementor-nav-menu--main .tui-submenu-open > .elementor-item::before { opacity:1; }
.tui-site-header .elementor-nav-menu--main .tui-submenu-indicator { display:none; }
.tui-site-header .elementor-nav-menu--dropdown .tui-submenu-indicator {
  position:static; display:inline-block; margin-left:auto; font:14px/1 Arial,sans-serif;
}
.tui-site-header .elementor-nav-menu--main .sub-menu {
  position:absolute; top:100%; left:0; min-width:200px; width:max-content;
  margin:6px 0 0; padding:0; border-radius:4px;
  box-shadow:0 10px 36px #00000017;
}
.tui-site-header .elementor-nav-menu--main .sub-menu::before {
  content:''; position:absolute; left:0; right:0; top:-8px; height:8px;
}
.tui-site-header .elementor-nav-menu--main .sub-menu a {
  display:block; white-space:nowrap;
}

/* Isolate the native dialog from theme image and button layout rules. */
dialog.tui-lightbox {
  position:fixed; inset:0; margin:0; box-sizing:border-box;
  padding:56px 60px; width:100vw; height:100dvh;
  max-width:none; max-height:none; overflow:hidden;
}
dialog.tui-lightbox[open] { display:grid; place-items:center; }
dialog.tui-lightbox > img {
  display:block; position:static; float:none; margin:0; padding:0;
  width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 112px);
  object-fit:contain; border-radius:0; transform:none;
}
dialog.tui-lightbox > button {
  display:grid; place-items:center; box-sizing:border-box; padding:0; margin:0;
  min-width:0; min-height:0; width:44px; height:44px;
  font:32px/1 Arial,sans-serif; text-indent:0; text-align:center;
  box-shadow:none; background:#ffffff26; color:#fff; z-index:2;
}
dialog.tui-lightbox > button::before, dialog.tui-lightbox > button::after { content:none; }
dialog.tui-lightbox > .tui-prev, dialog.tui-lightbox > .tui-next { transform:translateY(-50%); }
dialog.tui-lightbox > button:hover { background:#ffffff40; }
dialog.tui-lightbox > button:focus-visible { outline:2px solid white; outline-offset:3px; }
@media(max-width:767px) {
  dialog.tui-lightbox { padding-inline:48px; }
  .elementor-2 .elementor-element.elementor-element-6fcd2a3 .elementor-post__thumbnail { padding-bottom:60%; }
}

/* Touch navigation fills the available viewport below the header. */
@media(max-width:1024px) {
  html.tui-mobile-menu-open, html.tui-mobile-menu-open body { overflow:hidden; }
  .tui-site-header { position:sticky; top:0; z-index:100; background:#fff; }
  .tui-site-header.elementor-67 .elementor-element.tui-menu-open nav.elementor-nav-menu--dropdown.elementor-nav-menu__container:not(.sub-menu) {
    position:fixed; top:var(--tui-menu-top,80px); bottom:0; left:0; right:0;
    width:100%; height:calc(100dvh - var(--tui-menu-top,80px));
    max-height:calc(100dvh - var(--tui-menu-top,80px));
    margin:0 !important; padding:0 0 env(safe-area-inset-bottom);
    border:0; border-radius:0; box-sizing:border-box;
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    transform:none; box-shadow:0 8px 24px #133b4920;
  }
  .tui-site-header nav.elementor-nav-menu--dropdown:not(.sub-menu) > ul {
    margin:0; padding:0; width:100%;
  }
  .tui-site-header.elementor-67 .elementor-element.elementor-widget nav.elementor-nav-menu--dropdown a {
    display:flex; align-items:center; min-height:52px; box-sizing:border-box;
    padding:14px 24px; font-size:18px; line-height:1.4; white-space:normal;
  }
  .tui-site-header nav.elementor-nav-menu--dropdown .sub-menu {
    display:none; position:static; width:100%; min-width:0; margin:0 !important;
    padding:0 0 0 16px; box-sizing:border-box; box-shadow:none;
  }
  .tui-site-header nav.elementor-nav-menu--dropdown .tui-submenu-open > .sub-menu { display:block; }
  .tui-site-header.elementor-67 .elementor-element.elementor-widget nav.elementor-nav-menu--dropdown .elementor-sub-item {
    font-size:16px; min-height:46px; padding-block:12px;
  }
  .tui-site-header nav.elementor-nav-menu--dropdown .tui-submenu-indicator {
    flex-shrink:0; margin-left:auto; padding-left:12px;
  }
  .tui-site-header .tui-submenu-open > a > .tui-submenu-indicator { transform:rotate(180deg); padding-left:0; padding-right:12px; }
  .tui-site-header .elementor-menu-toggle:focus:not(:focus-visible) { outline:none; }
  .tui-site-header .elementor-menu-toggle:focus-visible { outline:2px solid #167287; outline-offset:3px; }
}
