/* ==========================================================================
   static.css – erstatter den adfærd som WordPress/Elementor-JavaScript stod for
   ========================================================================== */

/* ---------- Navigation: undermenu ved hover/fokus (desktop) ---------- */
.elementor-nav-menu--main .elementor-nav-menu > li { position: relative; }
.elementor-nav-menu--main .elementor-nav-menu ul { width: auto !important; min-width: 12em; white-space: nowrap; }
.elementor-nav-menu--main .elementor-nav-menu li:hover > ul,
.elementor-nav-menu--main .elementor-nav-menu li:focus-within > ul { display: block; z-index: 9999; }
.elementor-nav-menu--main .elementor-nav-menu ul ul { top: 0 !important; left: 100% !important; }
.elementor-nav-menu a.has-submenu { display: flex; align-items: center; }
.elementor-nav-menu .sub-arrow i { font-size: .8em; }

/* ---------- Navigation: mobilmenu ---------- */
.elementor-nav-menu--dropdown .elementor-nav-menu li.static-open > ul { display: block; }
.elementor-nav-menu--dropdown .elementor-nav-menu .sub-arrow { margin-left: auto; padding-right: 20px; cursor: pointer; }
.elementor-nav-menu--dropdown .elementor-nav-menu ul a { padding-left: 40px !important; }
.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown { width: 100vw; }

/* ---------- Galleri (Elementor Pro "gallery") ---------- */
.static-gallery { display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); gap: var(--gap, 10px); }
.static-gallery .e-gallery-item { position: relative; display: block; overflow: hidden; aspect-ratio: var(--ratio, 3/2); }
.static-gallery__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.static-gallery .elementor-gallery-item__overlay { position: absolute; inset: 0; opacity: 0; transition: opacity .3s; background: rgba(0,0,0,.35); }
.static-gallery .e-gallery-item:hover .elementor-gallery-item__overlay { opacity: 1; }
@media (max-width: 1024px) { .static-gallery { grid-template-columns: repeat(var(--cols-tablet, 2), 1fr); } }
@media (max-width: 767px)  { .static-gallery { grid-template-columns: repeat(var(--cols-mobile, 1), 1fr); } }

/* ---------- Slider (Elementor Pro "slides") ---------- */
.elementor-widget-slides .swiper { overflow: hidden; position: relative; }
.elementor-widget-slides .swiper-wrapper { display: flex; transition-property: transform; transition-timing-function: ease; }
.elementor-widget-slides .swiper-slide { flex: 0 0 100%; width: 100%; position: relative; }
.elementor-widget-slides .swiper-pagination { position: absolute; left: 0; right: 0; bottom: 10px; text-align: center; z-index: 10; }
.elementor-widget-slides .swiper-pagination-bullet { display: inline-block; width: 8px; height: 8px; margin: 0 6px; border-radius: 50%;
  background: #000; opacity: .2; border: 0; padding: 0; cursor: pointer; }
.elementor-widget-slides .swiper-pagination-bullet-active { background: #fff; opacity: 1; }

/* ---------- Lightbox ---------- */
.static-lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.9); display: none; align-items: center; justify-content: center; }
.static-lightbox.is-open { display: flex; }
.static-lightbox img { max-width: 90vw; max-height: 85vh; object-fit: contain; box-shadow: 0 0 30px rgba(0,0,0,.4); }
.static-lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; padding: 15px; opacity: .8; }
.static-lightbox button:hover { opacity: 1; background: none; }
.static-lightbox .lb-close { top: 10px; right: 15px; }
.static-lightbox .lb-prev { left: 10px; top: 50%; transform: translateY(-50%); }
.static-lightbox .lb-next { right: 10px; top: 50%; transform: translateY(-50%); }
.static-lightbox .lb-title { position: absolute; bottom: 15px; left: 0; right: 0; text-align: center; color: #ddd; font-size: 14px; }

/* ---------- Kontaktformular ---------- */
.static-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.static-form-msg { width: 100%; margin-top: 10px; padding: 10px 0; }
