/* ===== Layout & filtre ===== */
.filter-card { top: 88px; }
@media (max-width: 991.98px){
  .filter-card { position: static; top: auto; }
}

/* ===== Card produs ===== */
.product-card{ position: relative; border:0; border-radius:1rem; box-shadow: 0 4px 14px rgba(15,59,83,.08); }
.product-card .card-body{ padding: .9rem .9rem 1rem; }

.product-thumb{ background:#f7f9fb; border-top-left-radius:1rem; border-top-right-radius:1rem; overflow:hidden; }
.product-thumb img{ object-fit: cover; }
.product-thumb.thumb-empty{ display:flex; align-items:center; justify-content:center; color:#98a7b1; }
.product-thumb .thumb-ph{ font-size:.9rem; }

.text-truncate-2{
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden;
}

/* brand pe card (logo + nume) */
.brand-logo{
  width: 20px; height: 20px; object-fit: contain;
  background:#fff; border-radius:50%; border:1px solid rgba(0,0,0,.06);
  display:inline-block;
}
.brand-name{ max-width: 140px; }

.sku-label{ opacity:.7; }

/* buton WhatsApp peste stretched-link */
.zbtn-cta{ position: relative; z-index: 3; }

/* ===== Paginare ===== */
.pagination .page-link{ border-radius:.5rem; }

/* ===== Social în navbar ===== */
.navbar-social .btn-social{
  --s: 34px;
  width: var(--s); height: var(--s);
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.12);
  color: #fff; border:1px solid rgba(255,255,255,.22);
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
.navbar-social .btn-social:hover{ background: rgba(255,255,255,.2); transform: translateY(-1px); }

/* TikTok pulse rosu */
.btn-social-tiktok{ position: relative; }
.btn-social-tiktok::before{
  content: "";
  position: absolute; inset: -4px;
  border-radius: 999px;
  border: 2px solid rgba(255,44,44,.8);
  box-shadow: 0 0 0 2px rgba(255,44,44,.25), 0 0 16px rgba(255,44,44,.35);
  animation: tiktokPulse 1.8s infinite ease-in-out;
}
@keyframes tiktokPulse{
  0%   { transform: scale(1);   opacity: .9; }
  50%  { transform: scale(1.08); opacity: .55; }
  100% { transform: scale(1);   opacity: .9; }
}

/* corectie logo pe mobile */
@media (max-width: 575.98px){
  .logo-img{ height: 84px; }
}

/* ===== Efect ring pulse ===== */
.nav-link-pulse{
  position: relative;
  border-radius: 999px;
  padding: .35rem .75rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.25);
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.nav-link-pulse::before,
.nav-link-pulse::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius: 999px;
  border:2px solid #ff2d55;
  pointer-events:none;
  opacity:.85;
  animation: ringPulse 1.6s ease-out infinite;
  will-change: transform, opacity;
}
.nav-link-pulse::after{
  opacity:.45;
  animation-delay:.8s;
}
.offcanvas-glass .nav-link-pulse{
  display: flex; width: 100%; box-sizing: border-box;
  padding: .85rem 1rem; border-radius: .8rem;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.28);
}
.offcanvas-glass .nav-link-pulse::before,
.offcanvas-glass .nav-link-pulse::after{
  border-radius: .8rem; inset: -6px;
}
.offcanvas-glass .nav-link-pulse:hover,
.offcanvas-glass .nav-link-pulse:focus{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.35);
}
@media (prefers-reduced-motion: reduce){
  .nav-link-pulse::before,
  .nav-link-pulse::after{ animation:none; opacity:.6; }
}

/* ===== YouTube & LinkedIn micro-hover ===== */
.navbar-social .bi-youtube,
.navbar-social .bi-linkedin{ transition: transform .15s ease; }
.navbar-social a:hover .bi-youtube,
.navbar-social a:hover .bi-linkedin{ transform: translateY(-1px); }

/* ===== Fatete ===== */
.facet { max-height: 420px; overflow:auto; }
.facet::-webkit-scrollbar { width: 8px; }
.facet::-webkit-scrollbar-thumb { background: rgba(15,59,83,.15); border-radius: 8px; }

.facet-cats, .facet-brands { list-style: none; padding-left: 0; margin: 0; }

.facet-brands .facet-item,
.facet-cats   .facet-item{
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; padding: .4rem .5rem; border-radius: .6rem;
  cursor: pointer; user-select: none;
  transition: background .15s ease, color .15s ease;
}
.facet-item:hover { background: rgba(15,59,83,.06); }
.facet-item.active { background: rgba(243,155,28,.16); color: #0c2f42; }
.facet-item .label { flex: 1 1 auto; min-width: 0; }
.facet-item .count { font-size: .85rem; opacity: .7; }

#facetCategories { position: relative; }

/* Subcategorii flyout pe desktop */
.flyout-subcats{
  position: absolute; left: calc(100% + 8px); top: 0;
  min-width: 220px; z-index: 1030;
}
@media (max-width: 991.98px){ .flyout-subcats { display: none !important; } }

#flyoutList li { margin: 0; }
#flyoutList .facet-subitem{
  padding: .35rem .5rem; border-radius: .5rem; cursor: pointer;
}
#flyoutList .facet-subitem:hover{ background: rgba(15,59,83,.06); }
#flyoutList .facet-subitem.active{ background: rgba(243,155,28,.16); }

/* Subcategorii inline pentru click pe categorii */
.facet-cats .subcats-inline{ margin: .25rem 0 .5rem 0.75rem; }
.facet-cats .subcats-inline .facet-subitem{
  display:block; padding: .35rem .5rem; border-radius:.5rem; cursor:pointer;
}

/* Subcategorie selectată (inline și flyout) */
.facet-cats .subcats-inline .facet-subitem.active,
#flyoutList .facet-subitem.active{
  background: rgba(243,155,28,.16);
  color: #0c2f42;
  font-weight: 600;
  border-left: 3px solid #f39b1c;
  padding-left: calc(.35rem + 6px);
}
