/* =========================================================
   BÜRGI IMPRESSIONEN – FRONTEND
   CI #273583 / aggressiv gegen Elementor
   ========================================================= */

.buergi-impressionen,
.buergi-impressionen *,
.buergi-impressionen *::before,
.buergi-impressionen *::after {
    box-sizing: border-box !important;
}

.buergi-impressionen {
    --bi-blue:#273583;
    --bi-blue-dark:#1b2564;
    --bi-grey:#8f98a3;
    --bi-dark:#141a22;
    --bi-text:#59636f;
    --bi-border:#e1e6eb;
    position:relative !important;
    width:100% !important;
    margin:0 !important;
    padding:92px 0 96px !important;
    overflow:hidden !important;
    background:#fff !important;
    color:var(--bi-dark) !important;
    font-family:"Inter","Helvetica Neue",Arial,sans-serif !important;
}

.buergi-impressionen::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    opacity:.38 !important;
    background-image:
        linear-gradient(rgba(39,53,131,.024) 1px,transparent 1px),
        linear-gradient(90deg,rgba(39,53,131,.024) 1px,transparent 1px) !important;
    background-size:82px 82px !important;
}

.buergi-impressionen::after{
    content:"" !important;
    position:absolute !important;
    right:4% !important;
    top:0 !important;
    width:4px !important;
    height:100px !important;
    background:var(--bi-grey) !important;
}

.buergi-impressionen__inner{
    position:relative !important;
    z-index:2 !important;
    width:min(1380px,calc(100% - 60px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
}

.buergi-impressionen__head{
    display:grid !important;
    grid-template-columns:.82fr 1.18fr !important;
    gap:clamp(50px,7vw,110px) !important;
    align-items:end !important;
    margin:0 0 42px !important;
    padding:0 !important;
}

.buergi-impressionen__eyebrow{
    display:inline-flex !important;
    align-items:center !important;
    gap:11px !important;
    margin:0 0 16px !important;
    color:var(--bi-blue) !important;
    font-size:11px !important;
    line-height:1.3 !important;
    font-weight:750 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
}

.buergi-impressionen__eyebrow::before{
    content:"" !important;
    width:30px !important;
    height:3px !important;
    flex:0 0 30px !important;
    background:var(--bi-grey) !important;
}

.buergi-impressionen h2,
.elementor .buergi-impressionen h2{
    max-width:650px !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--bi-dark) !important;
    background:none !important;
    font-family:inherit !important;
    font-size:clamp(38px,3.7vw,55px) !important;
    line-height:1.05 !important;
    letter-spacing:-.045em !important;
    font-weight:650 !important;
    text-transform:none !important;
}

.buergi-impressionen__intro{
    max-width:680px !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--bi-text) !important;
    font-size:15px !important;
    line-height:1.72 !important;
    font-weight:400 !important;
}

.buergi-impressionen__grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.buergi-impressionen button.buergi-impressionen__item,
.buergi-impressionen button.buergi-impressionen__item:hover,
.buergi-impressionen button.buergi-impressionen__item:focus,
.buergi-impressionen button.buergi-impressionen__item:active{
    -webkit-appearance:none !important;
    appearance:none !important;
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#eef0f4 !important;
    background-image:none !important;
    border:0 !important;
    border-radius:0 !important;
    outline:none !important;
    box-shadow:none !important;
    cursor:zoom-in !important;
    font:inherit !important;
}

.buergi-impressionen__image-wrap{
    position:relative !important;
    display:block !important;
    width:100% !important;
    aspect-ratio:4/3 !important;
    overflow:hidden !important;
    background:#e9ebef !important;
}

.buergi-impressionen__item img,
.elementor .buergi-impressionen__item img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    border:0 !important;
    border-radius:0 !important;
    transform:scale(1.001) !important;
    transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .35s ease !important;
}

.buergi-impressionen__overlay{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:11px !important;
    opacity:0 !important;
    color:#fff !important;
    background:rgba(39,53,131,.84) !important;
    transform:scale(.96) !important;
    transition:opacity .32s ease,transform .42s cubic-bezier(.2,.75,.2,1) !important;
}

.buergi-impressionen__plus{
    position:relative !important;
    display:block !important;
    width:48px !important;
    height:48px !important;
    border:1px solid rgba(255,255,255,.65) !important;
    border-radius:50% !important;
    transform:translateY(8px) rotate(-15deg) !important;
    transition:transform .42s cubic-bezier(.2,.75,.2,1) !important;
}

.buergi-impressionen__plus::before,
.buergi-impressionen__plus::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    background:#fff !important;
    transform:translate(-50%,-50%) !important;
}

.buergi-impressionen__plus::before{width:15px !important;height:2px !important;}
.buergi-impressionen__plus::after{width:2px !important;height:15px !important;}

.buergi-impressionen__view{
    color:#fff !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:750 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
    transform:translateY(8px) !important;
    transition:transform .4s ease !important;
}

.buergi-impressionen__index{
    position:absolute !important;
    z-index:3 !important;
    left:13px !important;
    bottom:13px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:34px !important;
    height:28px !important;
    padding:0 8px !important;
    color:#fff !important;
    background:rgba(39,53,131,.94) !important;
    border-left:3px solid var(--bi-grey) !important;
    font-size:9px !important;
    font-weight:750 !important;
    transition:opacity .25s ease,transform .35s ease !important;
}

.buergi-impressionen__item:hover img,
.buergi-impressionen__item:focus img{
    transform:scale(1.07) !important;
    filter:saturate(.9) contrast(1.03) !important;
}

.buergi-impressionen__item:hover .buergi-impressionen__overlay,
.buergi-impressionen__item:focus .buergi-impressionen__overlay{
    opacity:1 !important;
    transform:scale(1) !important;
}

.buergi-impressionen__item:hover .buergi-impressionen__plus,
.buergi-impressionen__item:focus .buergi-impressionen__plus{
    transform:translateY(0) rotate(0) !important;
}

.buergi-impressionen__item:hover .buergi-impressionen__view,
.buergi-impressionen__item:focus .buergi-impressionen__view{
    transform:translateY(0) !important;
}

.buergi-impressionen__item:hover .buergi-impressionen__index,
.buergi-impressionen__item:focus .buergi-impressionen__index{
    opacity:0 !important;
    transform:translateY(8px) !important;
}

/* LIGHTBOX */
.buergi-lightbox{
    position:fixed !important;
    z-index:2147483000 !important;
    inset:0 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
    width:100vw !important;
    height:100vh !important;
    padding:28px !important;
    margin:0 !important;
    font-family:"Inter","Helvetica Neue",Arial,sans-serif !important;
}

.buergi-lightbox.is-open{display:flex !important;}

.buergi-lightbox__backdrop{
    position:absolute !important;
    inset:0 !important;
    background:rgba(8,12,28,.92) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    animation:biFade .24s ease both !important;
}

.buergi-lightbox__panel{
    position:relative !important;
    z-index:2 !important;
    width:min(1450px,96vw) !important;
    max-height:94vh !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    background:transparent !important;
    animation:biPanel .36s cubic-bezier(.2,.75,.2,1) both !important;
}

.buergi-lightbox__topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:54px !important;
    padding:0 4px !important;
}

.buergi-lightbox__counter{
    color:rgba(255,255,255,.62) !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.08em !important;
}

.buergi-impressionen button.buergi-lightbox__close,
.buergi-impressionen button.buergi-lightbox__close:hover,
.buergi-impressionen button.buergi-lightbox__close:focus,
.buergi-impressionen button.buergi-lightbox__close:active{
    -webkit-appearance:none !important;
    appearance:none !important;
    position:relative !important;
    width:45px !important;
    height:45px !important;
    margin:0 !important;
    padding:0 !important;
    background:#273583 !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    cursor:pointer !important;
}

.buergi-lightbox__close span{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:18px !important;
    height:2px !important;
    background:#fff !important;
}

.buergi-lightbox__close span:first-child{transform:translate(-50%,-50%) rotate(45deg) !important;}
.buergi-lightbox__close span:last-child{transform:translate(-50%,-50%) rotate(-45deg) !important;}

.buergi-lightbox__stage{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) 64px !important;
    gap:18px !important;
    align-items:center !important;
}

.buergi-lightbox__figure{
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
}

.buergi-lightbox__image,
.elementor .buergi-lightbox__image{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:calc(94vh - 115px) !important;
    margin:0 auto !important;
    padding:0 !important;
    object-fit:contain !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:0 24px 70px rgba(0,0,0,.28) !important;
}

.buergi-lightbox__caption{
    display:block !important;
    min-height:20px !important;
    margin:10px 0 0 !important;
    color:rgba(255,255,255,.74) !important;
    font-size:12px !important;
    line-height:1.5 !important;
}

.buergi-impressionen button.buergi-lightbox__nav,
.buergi-impressionen button.buergi-lightbox__nav:hover,
.buergi-impressionen button.buergi-lightbox__nav:focus,
.buergi-impressionen button.buergi-lightbox__nav:active{
    -webkit-appearance:none !important;
    appearance:none !important;
    position:relative !important;
    width:54px !important;
    height:54px !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    background:rgba(255,255,255,.07) !important;
    border:1px solid rgba(255,255,255,.2) !important;
    border-radius:50% !important;
    outline:0 !important;
    box-shadow:none !important;
    cursor:pointer !important;
    transition:background-color .22s ease,transform .22s ease !important;
}

.buergi-impressionen button.buergi-lightbox__nav:hover,
.buergi-impressionen button.buergi-lightbox__nav:focus{
    background:#273583 !important;
    transform:scale(1.07) !important;
}

.buergi-lightbox__nav span{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:12px !important;
    height:12px !important;
    border-top:2px solid #fff !important;
    border-right:2px solid #fff !important;
}
.buergi-lightbox__nav--prev span{transform:translate(-35%,-50%) rotate(-135deg) !important;}
.buergi-lightbox__nav--next span{transform:translate(-65%,-50%) rotate(45deg) !important;}

body.bi-lightbox-open{overflow:hidden !important;}

@keyframes biFade{from{opacity:0}to{opacity:1}}
@keyframes biPanel{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1024px){
    .buergi-impressionen__grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .buergi-impressionen__head{grid-template-columns:1fr !important;gap:20px !important;}
}

@media(max-width:767px){
    .buergi-impressionen{padding:64px 0 66px !important;}
    .buergi-impressionen::after{display:none !important;}
    .buergi-impressionen__inner{width:calc(100% - 34px) !important;}
    .buergi-impressionen__head{margin-bottom:30px !important;}
    .buergi-impressionen h2,.elementor .buergi-impressionen h2{font-size:clamp(35px,9vw,45px) !important;}
    .buergi-impressionen__intro{font-size:14px !important;line-height:1.65 !important;}
    .buergi-impressionen__grid{grid-template-columns:1fr !important;gap:12px !important;}
    .buergi-lightbox{padding:12px !important;}
    .buergi-lightbox__stage{grid-template-columns:1fr !important;gap:10px !important;}
    .buergi-lightbox__nav{position:absolute !important;z-index:4 !important;top:50% !important;width:44px !important;height:44px !important;}
    .buergi-lightbox__nav--prev{left:6px !important;}
    .buergi-lightbox__nav--next{right:6px !important;}
    .buergi-lightbox__image,.elementor .buergi-lightbox__image{max-height:calc(100vh - 120px) !important;}
}

@media(prefers-reduced-motion:reduce){
    .buergi-impressionen *,
    .buergi-impressionen *::before,
    .buergi-impressionen *::after{
        transition:none !important;
        animation:none !important;
    }
}
