/* Caspian Web portfolio — stable Bootstrap layout, RTL priority order, 12-item pagination. */
.cpn-portfolio-unified .portfolio-item{margin-bottom:0;height:100%;width:100%}
.cpn-portfolio-unified .portfolio-img img{width:100%;display:block}

/*
 * Use the theme's existing Bootstrap row/columns rather than a custom CSS Grid.
 * This keeps the portfolio stable even when theme/Isotope CSS is loaded in a
 * different order. DOM order is already sorted by Priority in PHP.
 */
.cpnw-portfolio-grid{
  direction:rtl;
  width:auto;
  max-width:none;
  height:auto !important;
  position:relative;
}
.cpnw-portfolio-grid > .grid-item{
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  float:none !important;
  display:flex;
  direction:rtl;
}
.cpnw-portfolio-grid > .grid-item[hidden]{display:none !important}
.cpnw-portfolio-grid .portfolio-title{text-align:right}

.cpnw-portfolio-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:34px;
  direction:rtl;
}
.cpnw-portfolio-pagination[hidden]{display:none !important}
.cpnw-portfolio-pagination .cpnw-page-link,
.cpnw-portfolio-pagination a.page-numbers,
.cpnw-portfolio-pagination span.page-numbers{
  min-width:42px;
  height:42px;
  padding:0 12px;
  border:1px solid rgba(63,6,122,.14);
  border-radius:12px;
  background:#fff;
  color:var(--themeht-text-color,#330066);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.cpnw-portfolio-pagination .cpnw-page-link.is-current,
.cpnw-portfolio-pagination span.page-numbers.current,
.cpnw-portfolio-pagination .cpnw-page-link:hover,
.cpnw-portfolio-pagination a.page-numbers:hover{
  background:var(--themeht-primary-color,#330066);
  border-color:var(--themeht-primary-color,#330066);
  color:#fff;
}
.cpnw-portfolio-pagination .cpnw-page-link:disabled{opacity:.4;cursor:not-allowed}
.cpnw-portfolio-pagination ul.page-numbers{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
  direction:rtl;
}
.cpnw-portfolio-pagination ul.page-numbers li{margin:0;padding:0}


/* Inner-page isolation.
 * The homepage intentionally uses the theme's overlapping portfolio composition.
 * Internal pages often apply their own generic section padding/overflow rules,
 * so remove the negative overlap there and let Bootstrap rows size naturally.
 */
.cpn-portfolio-on-inner.cpn-portfolio-head-section{
  padding-bottom:36px !important;
  overflow:visible !important;
}
.cpn-portfolio-on-inner.cpn-portfolio-grid-section{
  padding-top:0 !important;
  overflow:visible !important;
}
.cpn-portfolio-on-inner.cpn-portfolio-grid-section .row.mt-n15{
  margin-top:0 !important;
}
.cpn-portfolio-on-inner .cpnw-portfolio-grid{
  width:auto;
  max-width:none;
}
@media (max-width:991.98px){
  .cpn-portfolio-on-inner.cpn-portfolio-head-section{padding-bottom:28px !important;}
}
@media (max-width:767.98px){
  .cpn-portfolio-on-inner.cpn-portfolio-head-section{padding-bottom:22px !important;}
}
