/* Advanced Image Pro - frontend styles
 * Most styling is driven by Elementor controls (scoped via selectors).
 * These baseline styles only ensure correct layout and layering.
 */

.aip-image__wrapper{line-height:0;}
.aip-image__wrapper--grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:32px;
  padding:32px;
  box-sizing:border-box;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

.aip-image__grid-item{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.aip-image__frame{
  position:relative;
  overflow:hidden;
  width:100%;
  line-height:0;
}

.aip-image__media{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aip-image__link{display:block; width:100%; height:100%;}

.aip-image__img{
  display:block;
  width:100%;
  height:100%;
}

.aip-image__frame--lock-crop .aip-image__media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.aip-image__frame--lock-crop .aip-image__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
}

.aip-image__overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.aip-image__caption{
  font-size:0.875rem;
  line-height:1.3;
}

.aip-image__caption--below{
  margin-top:0.5rem;
}

@media (max-width: 767px){
  .aip-image__wrapper--grid{
    grid-template-columns:repeat(1, minmax(0, 1fr));
  }
}
