.ic-pif {
  --ic-pif-cols: 4;
  --ic-pif-tablet-cols: 3;
  --ic-pif-mobile-cols: 2;
  --ic-pif-gap: 12px;
  --ic-pif-radius: 12px;
  width: 100%;
  box-sizing: border-box;
}
.ic-pif *, .ic-pif *::before, .ic-pif *::after { box-sizing: border-box; }
.ic-pif-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; }
.ic-pif-header-title { display:flex; align-items:center; gap:10px; min-width:0; }
.ic-pif-header-title > div { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.ic-pif-header-title strong { font-size:1rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ic-pif-header-title span { font-size:.78rem; opacity:.66; margin-top:3px; }
.ic-pif-instagram-mark { width:32px; height:32px; border:2px solid currentColor; border-radius:9px; position:relative; flex:0 0 auto; }
.ic-pif-instagram-mark::before { content:""; position:absolute; width:10px; height:10px; border:2px solid currentColor; border-radius:50%; left:9px; top:9px; }
.ic-pif-instagram-mark::after { content:""; position:absolute; width:4px; height:4px; background:currentColor; border-radius:50%; right:5px; top:5px; }
.ic-pif-follow { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 14px; border:1px solid currentColor; border-radius:999px; text-decoration:none !important; color:inherit; font-size:.85rem; white-space:nowrap; transition:opacity .2s ease, transform .2s ease; }
.ic-pif-follow:hover { opacity:.75; transform:translateY(-1px); }

.ic-pif-items { gap:var(--ic-pif-gap); }
.ic-pif-layout-grid .ic-pif-items,
.ic-pif-layout-cards .ic-pif-items { display:grid; grid-template-columns:repeat(var(--ic-pif-cols), minmax(0,1fr)); }
.ic-pif-layout-masonry .ic-pif-items { columns:var(--ic-pif-cols); column-gap:var(--ic-pif-gap); display:block; }
.ic-pif-layout-masonry .ic-pif-item { break-inside:avoid; margin:0 0 var(--ic-pif-gap); }
.ic-pif-layout-carousel .ic-pif-items,
.ic-pif-layout-strip .ic-pif-items { display:flex; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
.ic-pif-layout-carousel .ic-pif-items::-webkit-scrollbar,
.ic-pif-layout-strip .ic-pif-items::-webkit-scrollbar { display:none; }
.ic-pif-layout-carousel .ic-pif-item { flex:0 0 calc((100% - (var(--ic-pif-gap) * (var(--ic-pif-cols) - 1))) / var(--ic-pif-cols)); scroll-snap-align:start; }
.ic-pif-layout-strip .ic-pif-item { flex:0 0 min(210px, 42vw); scroll-snap-align:start; }
.ic-pif-layout-strip.ic-pif-mode-embed .ic-pif-item { flex-basis:min(360px, 78vw); }

.ic-pif-item { min-width:0; }
.ic-pif-tile { overflow:hidden; border-radius:var(--ic-pif-radius); background:rgba(127,127,127,.07); }
.ic-pif-tile-link { display:block; color:inherit; text-decoration:none !important; }
.ic-pif-media { display:block; position:relative; aspect-ratio:1/1; overflow:hidden; background:#f1f1f1; border-radius:var(--ic-pif-radius); }
.ic-pif-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ic-pif-tile-link:hover .ic-pif-media img { transform:scale(1.045); }
.ic-pif-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.0); color:#fff; opacity:0; transition:opacity .25s ease, background .25s ease; }
.ic-pif-tile-link:hover .ic-pif-overlay { opacity:1; background:rgba(0,0,0,.28); }
.ic-pif-overlay-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.36); backdrop-filter:blur(3px); font-size:18px; }
.ic-pif-reel-badge { position:absolute; top:9px; right:9px; padding:4px 7px; border-radius:999px; background:rgba(0,0,0,.58); color:#fff; font-size:10px; line-height:1; font-weight:700; letter-spacing:.07em; }
.ic-pif-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 13px; font-size:.82rem; }
.ic-pif-card-meta strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ic-pif-card-meta > span { opacity:.62; white-space:nowrap; }

.ic-pif-mode-embed .ic-pif-items { align-items:start; }
.ic-pif-embed-item { width:100%; overflow:hidden; border-radius:var(--ic-pif-radius); }
.ic-pif-embed-item .instagram-media,
.ic-pif-profile-embed .instagram-media { min-width:0 !important; width:100% !important; max-width:100% !important; margin:0 !important; }

.ic-pif-layout-carousel { position:relative; }
.ic-pif-arrow { appearance:none; position:absolute; z-index:4; top:50%; transform:translateY(-50%); width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid rgba(127,127,127,.28); background:rgba(255,255,255,.92); color:#171717; border-radius:50%; cursor:pointer; line-height:1; box-shadow:0 2px 10px rgba(0,0,0,.10); transition:background .18s ease, opacity .18s ease, transform .18s ease; }
.ic-pif-arrow span { display:block; font-family:Arial,sans-serif; font-size:30px; font-weight:300; line-height:.8; margin-top:-2px; }
.ic-pif-prev { left:8px; }
.ic-pif-next { right:8px; }
.ic-pif-arrow:hover { background:#fff; transform:translateY(-50%) scale(1.05); }
.ic-pif-arrow:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.ic-pif-arrow:disabled { opacity:0; pointer-events:none; }

.ic-pif-empty, .ic-pif-error { padding:12px 14px; border:1px dashed rgba(127,127,127,.45); border-radius:8px; font-size:.9rem; }
.ic-pif-profile-embed { width:100%; max-width:658px; }

@media (max-width: 900px) {
  .ic-pif-layout-grid .ic-pif-items,
  .ic-pif-layout-cards .ic-pif-items { grid-template-columns:repeat(var(--ic-pif-tablet-cols), minmax(0,1fr)); }
  .ic-pif-layout-masonry .ic-pif-items { columns:var(--ic-pif-tablet-cols); }
  .ic-pif-layout-carousel .ic-pif-item { flex-basis:calc((100% - (var(--ic-pif-gap) * (var(--ic-pif-tablet-cols) - 1))) / var(--ic-pif-tablet-cols)); }
}
@media (max-width: 600px) {
  .ic-pif-header { align-items:flex-start; }
  .ic-pif-follow { min-height:34px; padding:7px 11px; font-size:.78rem; }
  .ic-pif-layout-grid .ic-pif-items,
  .ic-pif-layout-cards .ic-pif-items { grid-template-columns:repeat(var(--ic-pif-mobile-cols), minmax(0,1fr)); }
  .ic-pif-layout-masonry .ic-pif-items { columns:var(--ic-pif-mobile-cols); }
  .ic-pif-layout-carousel .ic-pif-item { flex-basis:calc((100% - (var(--ic-pif-gap) * (var(--ic-pif-mobile-cols) - 1))) / var(--ic-pif-mobile-cols)); }
}

/* v1.1 live-feed additions */
.ic-pif-avatar { width:42px; height:42px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.ic-pif-engagement { position:absolute; left:10px; bottom:10px; display:flex; gap:9px; padding:6px 9px; border-radius:999px; background:rgba(0,0,0,.58); color:#fff; font-size:11px; line-height:1; backdrop-filter:blur(4px); }
.ic-pif-card-meta-stacked { display:block; }
.ic-pif-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ic-pif-card-top > span { opacity:.62; white-space:nowrap; }
.ic-pif-caption { display:block; margin-top:7px; opacity:.72; line-height:1.45; font-size:.79rem; }
.ic-pif-status { margin:10px 0 0; font-size:.78rem; opacity:.65; }
.ic-pif-profile-card { max-width:720px; }

/* v1.2 carousel autoplay + simplified navigation */
@media (max-width: 600px) {
  .ic-pif-arrow { width:32px; height:32px; }
  .ic-pif-arrow span { font-size:27px; }
  .ic-pif-prev { left:5px; }
  .ic-pif-next { right:5px; }
}
