/* E.G. Instagram Feed — inherits the theme's fonts and colours unless set under Settings → Instagram feed → Appearance */
.eg-ig { background: var(--eg-ig-bg, transparent); color: var(--eg-ig-fg, inherit); }
.eg-ig__inner { max-width: var(--eg-ig-max, 1240px); margin-inline: auto; }
.eg-ig__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; margin-bottom: clamp(1.4rem, 3vw, 2.4rem); }
.eg-ig__titles { max-width: 40rem; }
.eg-ig__heading { margin: 0; }
.eg-ig--font-serif .eg-ig__heading { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.eg-ig--font-sans .eg-ig__heading { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }
.eg-ig__intro { margin: .6rem 0 0; opacity: .8; }
.eg-ig__link { color: var(--eg-ig-accent, inherit); white-space: nowrap; }
.eg-ig__grid { display: grid; grid-template-columns: repeat(var(--eg-ig-cols, 6), minmax(0, 1fr)); gap: var(--eg-ig-gap, 4px); margin: 0; padding: 0; list-style: none; }
.eg-ig__item { margin: 0; }
.eg-ig__tile { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--eg-ig-radius, 0); background: rgba(127, 127, 127, .15); }
.eg-ig__tile img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1), opacity .3s; }
.eg-ig--hover-zoom .eg-ig__tile:hover img, .eg-ig--hover-zoom .eg-ig__tile:focus-visible img { transform: scale(1.04); }
.eg-ig--hover-fade .eg-ig__tile:hover img, .eg-ig--hover-fade .eg-ig__tile:focus-visible img { opacity: .8; }
.eg-ig__badge { position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; color: #fff; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .5)); }
.eg-ig__badge svg { width: 100%; height: 100%; }
.eg-ig__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 640px) { .eg-ig__grid { grid-template-columns: repeat(var(--eg-ig-cols-sm, 3), minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .eg-ig__tile img { transition: none; } }
.eg-ig-empty { padding: 40px 20px; border: 1px dashed currentColor; opacity: .7; text-align: center; font: 14px/1.5 -apple-system, system-ui, sans-serif; }
