/* Module: categories_grid */
.instaui-cats{ padding: 12px 12px 6px; }
.instaui-cats-banner{
  width:100%;
  border: 1px solid var(--instaui-border);
  background: linear-gradient(135deg, rgba(0,0,0,.06), rgba(0,0,0,.02));
  border-radius: 16px;
  padding: 14px 14px;
  text-align: right;
  cursor: pointer;
  transition: transform .25s ease, opacity .25s ease;
}
.instaui-cats-banner--img{
  padding:0;
  overflow:hidden;
  /* استاندارد پیشنهادی بنر: 1080×360 (نسبت 3:1) */
  aspect-ratio: 3 / 1;
}
.instaui-cats-banner-img{ width:100%; height:100%; object-fit:cover; display:block; }
.instaui-cats-banner:active{ transform: scale(.99); }
.instaui-cats-banner-inner{ display:grid; gap: 6px; }
.instaui-cats-banner-title{ font-weight: 900; font-size: 15px; }
.instaui-cats-banner-sub{ color: var(--instaui-muted); font-size: 13px; }

.instaui-cats-gridwrap{
  margin-top: 10px;
  border: 1px solid var(--instaui-border);
  border-radius: 16px;
  overflow: hidden;
  background:#fff;
  box-shadow: var(--instaui-shadow);
  transform: translateY(8px);
  opacity: 0;
  transition: transform .28s ease, opacity .28s ease;
}
.instaui-cats-gridwrap.is-open{
  transform: translateY(0);
  opacity: 1;
}

.instaui-cats-gridhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--instaui-border);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
}
.instaui-cats-gridhead-title{ font-weight: 900; font-size: 14px; }
.instaui-cats-close{
  width: 40px; height: 40px;
  border:0;
  background: transparent;
  border-radius: 12px;
  font-size: 22px;
  cursor:pointer;
}
.instaui-cats-close:active{ background: rgba(0,0,0,.05); }

.instaui-cats-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--instaui-border);
}
.instaui-cats-item{
  display:block;
  position:relative;
  aspect-ratio: 1/1;
  background:#f6f6f6;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
}
.instaui-cats-item img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.instaui-cats-ph{
  width:100%;
  height:100%;
  background: linear-gradient(135deg, #f0f0f0, #e4e4e4);
}
.instaui-cats-name{
  position:absolute;
  left:6px; right:6px; bottom:6px;
  padding: 6px 8px;
  background: rgba(0,0,0,.58);
  color:#fff;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  overflow:hidden;
  white-space: nowrap;
  backdrop-filter: blur(6px);
}
