.pd-categories{
  --pd-cat-columns:5;
  --pd-cat-column-gap:40px;
  --pd-cat-row-gap:38px;
  --pd-cat-image-size:160px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  column-gap:var(--pd-cat-column-gap);
  row-gap:var(--pd-cat-row-gap);
  width:100%;
  box-sizing:border-box;
  overflow:visible;
}

.pd-category{
  flex:0 0 calc((100% - (var(--pd-cat-columns) - 1) * var(--pd-cat-column-gap)) / var(--pd-cat-columns));
  max-width:calc((100% - (var(--pd-cat-columns) - 1) * var(--pd-cat-column-gap)) / var(--pd-cat-columns));
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  text-decoration:none!important;
  color:inherit;
  position:relative;
  outline:none;
}

.pd-category__visual{
  position:relative;
  width:min(var(--pd-cat-image-size),100%);
  aspect-ratio:1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  isolation:isolate;
}

.pd-category__image-ring{
  --pd-ring:rgba(202,156,101,.72);
  position:relative;
  display:block;
  width:min(var(--pd-cat-image-size),100%)!important;
  max-width:100%;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  box-sizing:border-box;
  flex:0 0 auto;
  border:1.5px solid var(--pd-ring);
  border-radius:50%!important;
  padding:5px;
  background:#fffdf9;
  overflow:visible;
  box-shadow:0 10px 30px rgba(75,49,28,.07);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.pd-category__image-ring::before{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(202,156,101,.36);
  border-radius:50%;
  pointer-events:none;
}

.pd-category__image-ring::after{
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:50%;
  pointer-events:none;
  z-index:2;
}

.pd-category__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center;
  overflow:hidden;
  background:#f4efe8;
  transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}

.pd-category__badge{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translate(-50%,50%);
  border-radius:50%!important;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:3px solid #fffdf9;
  box-shadow:0 7px 18px rgba(73,47,26,.17),inset 0 1px 0 rgba(255,255,255,.32);
  line-height:1;
  z-index:5;
  color:#fff;
}

.pd-category__badge::before{
  content:"";
  position:absolute;
  inset:2px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  pointer-events:none;
}

.pd-category__badge i{line-height:1}
.pd-category__badge svg{display:block;fill:none!important;stroke:currentColor;overflow:visible}
.pd-category__fallback-gem{font-size:1.15em;line-height:1}

.pd-category__label{
  display:block;
  width:100%;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.1;
  font-weight:500;
  letter-spacing:.055em;
  white-space:nowrap;
  text-align:center;
  transition:color .2s ease,transform .2s ease;
}

.pd-category__underline{
  display:block;
  width:30px;
  height:1.5px;
  border-radius:999px;
  margin-top:10px;
  opacity:.94;
  transition:width .25s ease,opacity .25s ease;
}

.pd-category[href]:hover .pd-category__label{transform:translateY(-1px)}
.pd-category[href]:hover .pd-category__underline{width:40px}
.pd-cat-hover-zoom-yes .pd-category[href]:hover .pd-category__image{transform:scale(1.045);filter:saturate(1.03)}
.pd-cat-hover-zoom-yes .pd-category[href]:hover .pd-category__image-ring{transform:translateY(-3px);box-shadow:0 15px 34px rgba(75,49,28,.11)}
.pd-category[href]:focus-visible .pd-category__image-ring{outline:2px solid #a47745;outline-offset:8px}

@media (min-width:768px) and (max-width:1024px){
  .pd-categories{
    --pd-cat-columns:3;
    --pd-cat-column-gap:30px;
    --pd-cat-row-gap:34px;
    --pd-cat-image-size:150px;
  }
  .pd-category__label{font-size:15px}
}

@media (max-width:767px){
  .pd-categories{
    --pd-cat-columns:2;
    --pd-cat-column-gap:20px;
    --pd-cat-row-gap:36px;
    --pd-cat-image-size:142px;
    overflow:visible;
  }
  .pd-category__visual{width:min(var(--pd-cat-image-size),100%)}
  .pd-category__image-ring{
    padding:4px;
    border-width:1.25px;
    box-shadow:0 8px 20px rgba(75,49,28,.07);
  }
  .pd-category__image-ring::before{inset:-4px}
  .pd-category__image-ring::after{inset:3px}
  .pd-category__badge{border-width:2.5px}
  .pd-category__label{
    font-size:14px;
    line-height:1.1;
    letter-spacing:.045em;
  }
  .pd-category__underline{
    width:25px;
    height:1.25px;
    margin-top:8px;
  }
}

@media (max-width:359px){
  .pd-categories{
    --pd-cat-column-gap:14px;
    --pd-cat-image-size:128px;
  }
  .pd-category__label{font-size:13px}
}


/* v1.1.3 — desktop: garante que o nome fique abaixo do medalhão, sem sobrepor o círculo. */
@media (min-width:1025px){
  .pd-category__visual + .pd-category__label{
    margin-top:32px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .pd-category__image-ring,.pd-category__image,.pd-category__label,.pd-category__underline{transition:none!important}
}
