/* Category carousel — scoped storefront (customer-area glass/dark) */
.cat-carousel{
  position:relative;
  margin:8px 0 28px;
}
.cat-carousel__toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin:0 0 12px;
}
.cat-carousel__btn{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--line,#3b3b3b);
  background:rgba(16,16,16,.72);
  color:var(--ink,#f5f5f7);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  cursor:pointer;
  font-size:20px;
  line-height:1;
  transition:border-color .18s,background .18s,color .18s,opacity .18s;
}
.cat-carousel__btn:hover{
  border-color:var(--accent,#00E5FF);
  color:var(--accent,#00E5FF);
  background:rgba(0,229,255,.1);
}
.cat-carousel__btn:focus-visible{
  outline:3px solid rgba(0,229,255,.45);
  outline-offset:3px;
}
.cat-carousel__btn:disabled{
  opacity:.35;
  cursor:default;
}
.cat-carousel__rail{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:4px 2px 10px;
  margin:0 -2px;
  -webkit-overflow-scrolling:touch;
  /* Hidden scrollbar — arrows + page dots navigate */
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.cat-carousel__rail::-webkit-scrollbar{display:none;height:0}
.cat-carousel__card{
  flex:0 0 min(168px,72vw);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line,#3b3b3b);
  background:rgba(16,16,16,.78);
  backdrop-filter:saturate(160%) blur(16px);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.cat-carousel__card:hover,
.cat-carousel__card:focus-visible{
  border-color:var(--accent,#00E5FF);
  box-shadow:0 0 0 1px rgba(0,229,255,.35),0 14px 36px rgba(0,0,0,.4);
  text-decoration:none;
  color:inherit;
}
.cat-carousel__card:focus-visible{
  outline:3px solid rgba(0,229,255,.4);
  outline-offset:3px;
}
@media (prefers-reduced-motion:no-preference){
  .cat-carousel__card:hover{transform:translateY(-3px)}
}
.cat-carousel__media{
  display:block;
  aspect-ratio:3/2;
  background:linear-gradient(145deg,#1d1d1f,#0a0a0a);
  overflow:hidden;
  position:relative;
}
.cat-carousel__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
/* Custom gallery thumbs get a slight lift so they read as real photos */
.cat-carousel__card--photo .cat-carousel__media img{
  transform:scale(1.02);
}
.cat-carousel__ph{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-height:100%;
  font:700 28px/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.04em;
  color:var(--accent,#00E5FF);
  background:
    radial-gradient(circle at 30% 20%,rgba(0,229,255,.22),transparent 55%),
    linear-gradient(145deg,#1d1d1f,#101010);
}
.cat-carousel__meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:10px 12px 12px;
  min-height:0;
}
.cat-carousel__meta strong{
  font-size:12.5px;
  font-weight:650;
  line-height:1.25;
  letter-spacing:-.01em;
  color:var(--ink,#f5f5f7);
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:2.5em;
}
.cat-carousel__meta span{
  font-size:10.5px;
  line-height:1.2;
  color:var(--muted,#a1a1a6);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Page dots (not one-per-card) */
.cat-carousel__dots{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
  min-height:10px;
  max-width:100%;
}
.cat-carousel__dots:empty{display:none}
.cat-carousel__dot{
  width:7px;
  height:7px;
  border-radius:999px;
  border:0;
  padding:0;
  background:#424245;
  cursor:pointer;
  transition:background .15s,transform .15s,width .15s;
}
.cat-carousel__dot[aria-current="true"]{
  background:var(--accent,#00E5FF);
  transform:scale(1.15);
  width:18px;
  border-radius:999px;
}
.cat-carousel__dot:focus-visible{
  outline:2px solid rgba(0,229,255,.5);
  outline-offset:2px;
}
@media (max-width:600px){
  .cat-carousel__card{flex-basis:min(148px,78vw)}
  .cat-carousel__meta{padding:8px 10px 10px}
  .cat-carousel__meta strong{font-size:12px;-webkit-line-clamp:2;line-clamp:2}
}
@media (prefers-reduced-motion:reduce){
  .cat-carousel__rail{scroll-behavior:auto}
  .cat-carousel__card,
  .cat-carousel__btn,
  .cat-carousel__dot{transition:none}
  .cat-carousel__card:hover{transform:none}
  .cat-carousel__card--photo .cat-carousel__media img{transform:none}
}
