.ibda-popup { position: fixed; z-index: 2147483000; inset: 0; display: grid; place-items: center; padding: 24px; visibility: hidden; opacity: 0; transition: opacity .22s ease, visibility .22s ease; font-family: Arial, sans-serif; }
.ibda-popup--visible { visibility: visible; opacity: 1; }
.ibda-popup__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .68); backdrop-filter: blur(2px); }
.ibda-popup__dialog { position: relative; z-index: 1; width: fit-content; max-width: min(960px, calc(100vw - 48px)); max-height: calc(100vh - 48px); border-radius: 12px; color: #fff; background: #111; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); transform: translateY(14px) scale(.98); transition: transform .22s ease; }
.ibda-popup--visible .ibda-popup__dialog { transform: translateY(0) scale(1); }
.ibda-popup__link { display: block; color: #fff; text-decoration: none; }
.ibda-popup__picture { display: flex; align-items: center; justify-content: center; width: fit-content; max-width: 100%; max-height: calc(100vh - 48px); overflow: hidden; border-radius: 12px; background: #111; }
.ibda-popup__image { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 48px); margin: 0; object-fit: contain; transition: transform .35s ease, filter .35s ease; }
@media (hover: hover) { .ibda-popup__picture:hover .ibda-popup__image { transform: scale(1.025); filter: brightness(1.04); } }
.ibda-popup__close { position: absolute; z-index: 2; top: -14px; right: -14px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #111; box-shadow: 0 4px 15px rgba(0, 0, 0, .25); font: 400 28px/1 Arial, sans-serif; cursor: pointer; transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease; }
.ibda-popup__close:hover { transform: rotate(90deg); background: #2c2c2c; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.ibda-popup__close:focus-visible { outline: 3px solid #66b3ff; outline-offset: 3px; }
.ibda-popup-open { overflow: hidden; }
@media (max-width: 767px) {
  .ibda-popup { padding: 20px; }
  .ibda-popup__dialog { width: fit-content; max-width: calc(100vw - 40px); max-height: calc(100vh - 40px); }
  .ibda-popup__picture, .ibda-popup__image { max-height: calc(100vh - 40px); }
  .ibda-popup__close { top: -12px; right: -10px; width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) { .ibda-popup, .ibda-popup__dialog, .ibda-popup__image, .ibda-popup__close { transition: none; } }

