/* ==========================================================
   ŽIJ PADEL! – INSTAGRAM FEED (vlastní widget #zpIgMount)
   Šířka/centrování napojeny na jednotný gutter systém,
   svislé mezery zachovány beze změny.
   ========================================================== */
#zpIgMount, #zpIgMount *{ box-sizing:border-box; }
#zpIgMount{
  width:100%;
  margin:28px auto;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
#zpIgMount .zp-card{ border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.10); border:2px solid rgba(0,0,0,.06); }

/* header */
#zpIgMount .zp-header{ display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; padding:16px 18px; background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,0)); text-align:center; }
#zpIgMount .zp-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; min-width:0; }
#zpIgMount .zp-avatar{ width:46px; height:46px; border-radius:999px; padding:2px; background:conic-gradient(from 180deg,#f58529,#dd2a7b,#8134af,#515bd4,#f58529); flex:0 0 auto; }
#zpIgMount .zp-avatar img{ width:100%; height:100%; border-radius:999px; object-fit:cover; display:block; background:#fff; }
#zpIgMount .zp-title{ display:flex; flex-direction:column; min-width:0; }
#zpIgMount .zp-name{ display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:16px; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#zpIgMount .zp-verified{ width:16px; height:16px; display:inline-block; background:url("https://www.zijpadel.cz/user/documents/upload/piktogramy/Instagram-Verification%20Badge-48.png") center/contain no-repeat; transform:translateY(1px); }
#zpIgMount .zp-handle{ font-size:13px; opacity:.7; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

#zpIgMount .zp-stats{ display:flex; gap:12px; }
#zpIgMount .zp-stat{ text-align:center; padding:10px 8px; }
#zpIgMount .zp-stat-num{ font-weight:900; font-size:16px; }
#zpIgMount .zp-stat-lbl{ font-size:12px; opacity:.7; margin-top:2px; }

#zpIgMount .zp-follow{ background:#0095f6; color:#fff !important; text-decoration:none !important; padding:8px 14px; border-radius:8px; font-weight:600; display:inline-flex; align-items:center; gap:6px; transition:transform .12s ease, background .12s ease; }
#zpIgMount .zp-follow:hover{ background:#1877f2; transform:translateY(-1px); }
#zpIgMount .zp-follow:active{ transform:translateY(0); opacity:.95; }
#zpIgMount .zp-follow-icon{ width:16px; height:16px; display:inline-block; background:url("https://www.zijpadel.cz/user/documents/upload/piktogramy/ig-white-logo.png") center/contain no-repeat; transform:translateY(1px); }

/* grid */
#zpIgMount .zp-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; background:#eee; }
@media (max-width:768px){ #zpIgMount .zp-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:375px){ #zpIgMount .zp-grid{ grid-template-columns:repeat(2,1fr); } }

#zpIgMount .zp-item{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; background:#f3f3f3; }
#zpIgMount .zp-item img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.01); transition:transform .25s ease; }
#zpIgMount .zp-item:hover img{ transform:scale(1.06); }

/* badge */
#zpIgMount .zp-badge{ position:absolute; top:10px; right:10px; background:rgba(0,0,0,.55); color:#fff; font-size:12px; padding:6px 8px; border-radius:10px; backdrop-filter:blur(6px); z-index:2; }

/* hover */
#zpIgMount .zp-item::after{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.55); opacity:0; transition:opacity .18s ease; pointer-events:none; z-index:1; }
#zpIgMount .zp-hover{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#fff; opacity:0; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease; padding:16px; text-align:center; z-index:2; pointer-events:none; text-shadow:0 1px 2px rgba(0,0,0,.25); }
#zpIgMount .zp-hover-top{ display:flex; gap:24px; font-weight:800; font-size:18px; line-height:1; }
#zpIgMount .zp-hover-caption{ font-size:13px; line-height:1.35; max-width:92%; display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; font-weight:600; opacity:.95; }
#zpIgMount .zp-item:hover::after{ opacity:1; }
#zpIgMount .zp-item:hover .zp-hover{ opacity:1; transform:translateY(0); }
@media (hover:none){ #zpIgMount .zp-item::after, #zpIgMount .zp-hover{ display:none !important; } }

/* skeleton */
#zpIgMount .zp-skel{ aspect-ratio:1/1; background:linear-gradient(90deg,#f2f2f2,#e9e9e9,#f2f2f2); background-size:200% 100%; animation:zpSh 1.1s infinite linear; }
@keyframes zpSh{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }

/* mobile header stacking */
@media (max-width:582px){
  #zpIgMount .zp-header{ justify-content:space-between; gap:0; }
  #zpIgMount .zp-brand{ flex:0 0 100%; justify-content:center; }
  #zpIgMount .zp-stats{ order:2; flex:1 1 auto; justify-content:flex-start; }
  #zpIgMount .zp-follow{ order:3; margin-left:auto; }
}
@media (max-width:417px){
  #zpIgMount .zp-header{ justify-content:center; gap:0; }
  #zpIgMount .zp-stats{ flex:0 0 100%; justify-content:center; margin-bottom:10px; }
  #zpIgMount .zp-follow{ margin-left:0; }
}

.footer-banner{ padding-left:0 !important; padding-right:0 !important; }
