[ui-section=rivioket-collections]{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:40px;
  padding:72px 8% 64px !important;
}
[ui-section=rivioket-collections] [ui-slot=head]{
  align-items:center;
  text-align:center;
}
[ui-section=rivioket-collections] [ui-slot=head] .heading::after{
  content:"";
  display:block;
  width:64px;
  height:1px;
  margin:20px auto 0;
  background:linear-gradient(90deg,transparent,#C9A45C,transparent);
}
.rvk-collections-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  width:100%;
}
.rvk-tile{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:4px;
  border:1px solid rgba(201,164,92,.25);
}
.rvk-tile img{
  width:100%;
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  transition:transform .7s cubic-bezier(.19,1,.22,1);
}
.rvk-tile .veil{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(14,10,5,.02) 38%, rgba(14,10,5,.42) 72%, rgba(14,10,5,.84) 100%);
  transition:background .4s ease;
}
.rvk-tile .label{
  position:absolute;
  inset-inline:0;
  bottom:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  padding:0 12px 20px;
  text-align:center;
}
.rvk-tile .label small{
  color:#E3C27E;
  font-size:10px;
  font-weight:600;
  letter-spacing:3.4px;
  text-transform:uppercase;
}
.rvk-tile .label strong{
  color:#FFFFFF;
  font-family:var(--font-heading-family);
  font-weight:400;
  font-size:26px;
  line-height:1.15;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.rvk-tile .label em{
  margin-top:7px;
  padding-top:8px;
  color:rgba(255,255,255,.85);
  font-style:normal;
  font-size:11.5px;
  letter-spacing:2.6px;
  text-transform:uppercase;
  border-top:1px solid rgba(201,164,92,.55);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .35s ease, transform .35s ease;
}
.rvk-tile:hover img{ transform:scale(1.06); }
.rvk-tile:hover .veil{
  background:linear-gradient(180deg, rgba(14,10,5,.06) 30%, rgba(14,10,5,.52) 68%, rgba(14,10,5,.9) 100%);
}
.rvk-tile:hover .label em{ opacity:1; transform:translateY(0); }
@media (max-width:1028px){
  .rvk-collections-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
}
@media (max-width:769px){
  [ui-section=rivioket-collections]{ padding:56px 20px 48px !important; gap:30px; }
  .rvk-tile .label strong{ font-size:21px; }
  .rvk-tile .label em{ opacity:1; transform:none; font-size:10.5px; }
}
