.aif-feed{width:100%;display:grid;grid-template-columns:repeat(var(--aif-cols),minmax(0,1fr));gap:var(--aif-gap)}
.aif-item{position:relative;display:block;min-width:0;aspect-ratio:var(--aif-ratio);overflow:hidden;border-radius:var(--aif-radius);background:#eee;text-decoration:none}
.aif-original .aif-item{aspect-ratio:auto}.aif-original .aif-item img{height:auto}
.aif-item img{display:block;width:100%;height:100%;object-fit:var(--aif-fit);transition:transform .25s ease}
.aif-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.32);color:#fff;font-size:36px;opacity:0;transition:opacity .2s ease}
.aif-item:hover img{transform:scale(1.04)}.aif-item:hover .aif-hover{opacity:1}
.aif-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.aif-carousel .aif-item{flex:0 0 calc((100% - (var(--aif-cols) - 1)*var(--aif-gap))/var(--aif-cols));scroll-snap-align:start}
@media(max-width:1024px){.aif-grid{grid-template-columns:repeat(var(--aif-tablet),minmax(0,1fr))}.aif-carousel .aif-item{flex-basis:calc((100% - (var(--aif-tablet) - 1)*var(--aif-gap))/var(--aif-tablet))}}
@media(max-width:767px){.aif-grid{grid-template-columns:repeat(var(--aif-mobile),minmax(0,1fr))}.aif-carousel .aif-item{flex-basis:calc((100% - (var(--aif-mobile) - 1)*var(--aif-gap))/var(--aif-mobile))}}
@media(prefers-reduced-motion:reduce){.aif-item img,.aif-hover{transition:none}}
