/* Liftpictures – base styles for the Wix-identical layout engine */

/* Wix font names mapped to locally installed system fonts (Helvetica/Avenir ship with macOS/iOS;
   Arial is the Windows fallback). Keeps the original Wix family names inside the content files. */
@font-face { font-family: 'helvetica-w01-roman'; size-adjust: 99.8%; src: local('Helvetica'), local('Helvetica Neue'), local('HelveticaNeue'), local('Arial'), local('ArialMT'); }
@font-face { font-family: 'helvetica-w01-bold'; size-adjust: 99.8%; src: local('Helvetica Bold'), local('Helvetica-Bold'), local('Helvetica Neue Bold'), local('Arial Bold'), local('Arial-BoldMT'); }
@font-face { font-family: 'helvetica-w01-light'; src: local('Helvetica Light'), local('Helvetica-Light'), local('Helvetica Neue Light'), local('HelveticaNeue-Light'), local('Arial'), local('ArialMT'); }
@font-face { font-family: 'avenir-lt-w01_35-light1475496'; src: local('Avenir Light'), local('Avenir-Light'), local('Avenir Next LT Pro Light'), local('Nunito Sans Light'), local('Segoe UI Light'), local('Arial'); }
@font-face { font-family: 'kepler-w03-light-scd-cp'; src: local('Kepler Std Light'), local('Georgia'); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-overflow-x: clip; }
body { margin: 0; background: #fff; color: #000; font-family: 'helvetica-w01-roman', Helvetica, Arial, sans-serif; overflow-x: clip; }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote { margin: 0; padding: 0; font-size: inherit; font-weight: inherit; }
img, video, svg { display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

/* sections & stage */
.sec, .site-header, .site-footer { position: relative; width: 100%; }
#PAGES_CONTAINER, .site-header, .site-footer { overflow-x: clip; }
.stage { position: absolute; inset: 0; }
.bg { position: absolute; inset: 0; overflow: hidden; }
.bg .bgimg, .bg picture, .bg .bgvid { position: absolute; inset: 0; width: 100%; height: 100%; }
.bg picture .bgimg { position: absolute; inset: 0; }
.bg .bgvid { object-fit: cover; }
.bg .bgov { position: absolute; inset: 0; }
@media (min-width: 768px) { html { min-width: 980px; } }

/* components (absolute positioning like Wix) */
.c { position: absolute; }
.t { overflow-wrap: break-word; word-wrap: break-word; }
.t a { color: inherit; }
.t ul, .t ol { list-style-position: outside; }
.img, .svg { overflow: hidden; }
.img img, .img picture, .img .fill { display: block; width: 100%; height: 100%; }
.svg svg { width: 100%; height: 100%; }
.btn { display: flex; align-items: center; text-decoration: none; cursor: pointer; transition: background-color .4s ease, color .4s ease, border-color .4s ease; white-space: nowrap; }
.btn .lbl { display: block; }
.btn .ico svg { width: 1em; height: 1em; margin-right: .5em; }
.box { display: block; text-decoration: none; color: inherit; }
.col, .strip { overflow: visible; }
.line { height: 0 !important; }
.embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.social ul { list-style: none; margin: 0; padding: 0; position: relative; width: 100%; height: 100%; }
.social li { position: absolute; }
.social a, .social img { display: block; width: 100%; height: 100%; }

/* header: horizontal menu */
.menu > ul { list-style: none; margin: 0; padding: 0; position: relative; width: 100%; height: 100%; }
.menu .mi { position: absolute; }
.menu .mh { display: flex; align-items: center; justify-content: center; width: calc(100% - 8px); height: calc(100% - 8px); margin: 4px; text-decoration: none; color: inherit; cursor: pointer; transition: color .4s ease; }
.menu .dd { display: none; position: absolute; z-index: 50; min-width: calc(100% - 8px); width: max-content; list-style: none; margin: 0; }
.menu .mi:hover > .dd, .menu .mi:focus-within > .dd { display: block; }
.menu .dd li { margin-bottom: 8px; }
.menu .ddi { display: flex; align-items: center; text-decoration: none; white-space: nowrap; transition: color .4s ease; }

/* language selector */
.lang { z-index: 40; }
.lang .lbtn { display: flex; align-items: center; gap: 8px; width: 100%; height: 100%; padding: 0 14px; }
.lang .lbtn img { width: 22px; height: 22px; }
.lang .ltxt { display: none; }
.lang .lbtn svg { margin-left: auto; }
.lang .ldd { position: absolute; top: 0; left: 0; width: 111px; background: rgb(44, 44, 44); border: 1px solid rgb(44, 44, 44); border-radius: 10px; overflow: hidden; z-index: 60; }
.lang .lopt { display: flex; align-items: center; gap: 8px; height: 43px; padding: 0 14px; color: #fff; text-decoration: none; font-size: 14px; }
.lang .lopt img { width: 22px; height: 22px; }
.lang .lopt.cur { background: #fff; color: rgb(0, 87, 225); }
.lang .lopt:hover:not(.cur) { background: rgb(64, 64, 64); }

/* burger + mobile menu */
.burger { display: block; }
.burger span { position: absolute; display: block; }
.mm[hidden] { display: none; }
.mm { position: fixed; inset: 0; z-index: 1000; }
.mm-ov { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.mm-panel { position: absolute; top: 0; left: 0; right: 0; min-height: 544px; max-height: 100%; overflow-y: auto; background: #fff; padding: 59px 36px 40px 23px; }
.mm-x { position: absolute; top: 18px; right: 16px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }
.mm-lang { position: absolute; top: 10px; left: 140px; width: 113px; height: 26px; }
.mm-lang .lbtn { background: rgb(44, 44, 44); color: #fff; border-radius: 10px; padding: 0 10px; gap: 6px; font-size: 15px; }
.mm-lang .lbtn img { width: 20px; height: 20px; }
.mm-lang .ltxt { display: block; }
.mm-lang .ldd { width: 113px; top: 30px; }
.mm-lang .lopt { height: 36px; padding: 0 10px; }
.mm nav ul { list-style: none; margin: 0; padding: 0; }
.mm-i { position: relative; }
.mm-a { display: block; height: 61px; line-height: 61px; font-family: 'helvetica-w01-roman', sans-serif; font-weight: 700; font-size: 16px; color: #000; text-decoration: none; }
.mm-a.cur { color: rgb(232, 127, 12); }
.mm-tog { position: absolute; right: 0; top: 0; width: 40px; height: 61px; display: flex; align-items: center; justify-content: center; }
.mm-tog[aria-expanded="true"] svg { transform: rotate(180deg); }
.mm-sub { list-style: none; padding: 0 0 0 16px !important; }
.mm-s { display: block; height: 61px; line-height: 61px; font-size: 16px; color: #000; text-decoration: none; }
.mm-s.cur { color: rgb(232, 127, 12); }

/* slideshow gallery */
.slideshow { overflow: hidden; }
.slideshow .slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
.slideshow .slide.on { opacity: 1; }
.slideshow .slide img { width: 100%; height: 100%; object-fit: cover; }
.slideshow .nav { position: absolute; top: 50%; width: 23px; height: 39px; margin-top: -20px; z-index: 2; opacity: .85; }
.slideshow .nav::before { content: ''; position: absolute; inset: 8px 6px; border: solid #fff; border-width: 0 0 3px 3px; transform: rotate(45deg); filter: drop-shadow(0 0 2px rgba(0,0,0,.5)); }
.slideshow .prev { left: 14px; }
.slideshow .next { right: 14px; }
.slideshow .next::before { transform: rotate(-135deg); }

/* pro gallery + lightbox */
.progallery .pg { position: relative; width: 100%; height: 100%; }
.progallery .pgi { position: absolute; display: block; overflow: hidden; }
.progallery .pgi img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.progallery .pgi:hover img { transform: scale(1.03); }
.lb { position: fixed; inset: 0; background: rgba(255, 255, 255, .96); z-index: 2000; display: flex; align-items: center; justify-content: center; }
.lb img { max-width: 92vw; max-height: 88vh; object-fit: contain; }
.lb button { position: absolute; top: 16px; right: 20px; font-size: 32px; line-height: 1; }

/* FAQ */
.faq { font-family: 'helvetica-w01-roman', sans-serif; }
.faq-tabs { display: flex; gap: 0; border-bottom: 0; margin-bottom: 30px; }
.faq-tab { font-size: 16px; padding: 14px 32px; border-bottom: 3px solid transparent; color: #000; }
.faq-tab.on { color: rgb(232, 127, 12); border-bottom-color: rgb(232, 127, 12); }
.faq-item { border-bottom: 1px solid rgb(204, 204, 204); }
.faq-item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; cursor: pointer; padding: 30px 0; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item h3 { font-size: 20px; font-weight: 700; }
.faq-item .chev { width: 14px; height: 14px; border: solid #000; border-width: 0 0 1.5px 1.5px; transform: rotate(-45deg); margin: -6px 6px 0 20px; flex: none; transition: transform .2s; }
.faq-item[open] .chev { transform: rotate(135deg); margin-top: 6px; }
.faq-a { font-size: 20px; line-height: 1.5; padding: 0 0 40px; }
.faq-a ol, .faq-a ul { padding-left: 40px; }
.faq-a p { min-height: 1em; }

/* contact form (Wix multi-step look) */
.lpform { font-family: 'helvetica-w01-roman', sans-serif; }
.wform .ff { margin: 0 0 24px; border: 0; padding: 0; min-width: 0; }
.wform label, .wform legend { display: block; font-size: 14px; margin-bottom: 9px; padding: 0; }
.wform .req { margin-left: 2px; }
.wform input[type=text], .wform input[type=email], .wform input[type=tel], .wform textarea { display: block; width: 100%; height: 40px; border: 1px solid rgb(96, 96, 96); padding: 8px 10px; font: 16px 'helvetica-w01-roman', sans-serif; border-radius: 0; background: transparent; }
.wform textarea { height: auto; min-height: 110px; resize: vertical; }
.wform .opt { display: flex; align-items: center; gap: 10px; font-size: 16px; margin: 0 0 10px; }
.wform .opt input { width: 18px; height: 18px; margin: 0; accent-color: rgb(232, 127, 12); }
.wform .fbtns { display: flex; justify-content: space-between; margin-top: 8px; }
.wform .fnext, .wform .fback { width: 100px; height: 48px; font-size: 16px; }
.wform .fnext { background: rgb(232, 127, 12); color: #fff; }
.wform .fback { border: 1px solid #000; color: #000; }
.wform .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wform .invalid { border-color: rgb(223, 50, 41) !important; }
.wform .fdone { font-size: 16px; padding: 20px 0; }

/* snapshot of Wix app section */
.snap { overflow: hidden; }

/* Cookie-Einwilligung */
.lpc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; display: flex; justify-content: center; padding: 16px; pointer-events: none; }
.lpc-box { pointer-events: auto; max-width: 720px; width: 100%; background: rgb(44, 44, 44); color: #fff; padding: 18px 20px; box-shadow: 0 6px 30px rgba(0,0,0,.35); font-family: 'helvetica-w01-roman', Helvetica, Arial, sans-serif; }
.lpc-t { display: block; font-size: 16px; margin-bottom: 6px; }
.lpc-x { margin: 0 0 14px; font-size: 14px; line-height: 1.5; }
.lpc-x a { color: rgb(232, 127, 12); }
.lpc-b { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.lpc-b button { font: 15px 'helvetica-w01-roman', Helvetica, Arial, sans-serif; padding: 10px 18px; cursor: pointer; border: 1px solid #fff; background: transparent; color: #fff; }
.lpc-b .lpc-ok { background: rgb(232, 127, 12); border-color: rgb(232, 127, 12); }
@media (max-width: 767px) { .lpc { padding: 0; } .lpc-b button { flex: 1; } }
.lpc-open { position: absolute; left: 12px; bottom: 6px; z-index: 5; font: 11px 'helvetica-w01-roman', Helvetica, Arial, sans-serif; color: rgba(255,255,255,.55); text-decoration: underline; }
.wform .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wform .ferr { color: rgb(223, 50, 41); font-size: 14px; margin-top: 10px; }
