/* Product list — clean / editorial */
.xy-pro-page{padding:var(--xy-page-pad,32px 15px 56px)}
.xy-pro-main{min-width:0}
.xy-pro-panel{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible
}
.xy-pro-head{
  margin:0 0 28px;
  padding:0 0 18px;
  background:none;
  position:relative;
  border-bottom:1px solid rgba(11,28,51,.1)
}
.xy-pro-head::after{
  content:"";
  position:absolute;left:0;bottom:-1px;width:72px;height:2px;
  background:#ff9e16;border-radius:0
}
.xy-pro-eyebrow{
  margin:0 0 8px;
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:#8a93a0
}
.xy-pro-title{
  margin:0;padding:0;border:0;
  font-size:28px;line-height:1.2;font-weight:700;color:#0b1c33;letter-spacing:.01em
}
.xy-pro-desc{
  margin:12px 0 0;
  width:100%;
  max-width:none;
  box-sizing:border-box;
  color:#5b6573;
  font-size:14px;line-height:1.7;
  overflow-wrap:anywhere;
  word-break:break-word
}
.xy-pro-desc p{margin:0}
.xy-pro-desc img,
.xy-pro-desc table,
.xy-pro-desc iframe,
.xy-pro-desc video{
  max-width:100%;
  height:auto
}
.xy-pro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 22px;
  padding:0;
  margin:0!important;
  list-style:none
}
.xy-pro-card{
  display:flex!important;
  flex-direction:column;
  height:100%;
  margin:0!important;
  padding:0!important;
  float:none!important;
  width:auto!important;
  min-height:0!important;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  transition:transform .3s ease
}
.xy-pro-card:hover{transform:translateY(-4px)}
.xy-pro-card-cover{
  display:block;
  position:relative;
  aspect-ratio:1/1;
  background:#f3f5f8;
  overflow:hidden;
  border-radius:2px
}
.xy-pro-card-cover::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(11,28,51,.28) 100%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none
}
.xy-pro-card:hover .xy-pro-card-cover::after{opacity:1}
.xy-pro-card-cover img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  transition:transform .55s ease
}
.xy-pro-card:hover .xy-pro-card-cover img{transform:scale(1.04)}
.xy-pro-card-ph{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
  color:rgba(11,28,51,.28);font-size:36px;
  background:#eef1f5
}
.xy-pro-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:16px 2px 0;
  text-align:left
}
.xy-pro-card-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0 0 10px;
  min-height:calc(1.45em * 2);
  font-size:15px;
  font-weight:600;
  line-height:1.45;
  color:#0b1c33;
  text-decoration:none;
  transition:color .2s
}
.xy-pro-card-title:hover{color:#0c4d89;text-decoration:none}
.xy-pro-card-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  align-self:flex-start;
  margin-top:auto;
  min-height:auto;
  padding:0;
  border-radius:0;
  background:none!important;
  color:#0c4d89!important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none!important;
  transition:color .2s,gap .2s
}
.xy-pro-card-more .fa{transition:transform .2s}
.xy-pro-card:hover .xy-pro-card-more{
  background:none!important;
  color:#ff9e16!important
}
.xy-pro-card:hover .xy-pro-card-more .fa{transform:translateX(3px)}
.xy-pro-pager{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:36px;
  padding:24px 0 0;
  border-top:1px solid rgba(11,28,51,.08);
  clear:both;
  text-align:center
}
.xy-pro-pager > a,
.xy-pro-pager > span,
.xy-pro-pager a.page-numbers,
.xy-pro-pager span.page-numbers{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:40px;
  height:40px;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid rgba(11,28,51,.12)!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#0b1c33!important;
  font-size:14px;
  font-weight:600;
  line-height:1!important;
  text-decoration:none!important;
  vertical-align:middle;
  transition:background .2s,border-color .2s,color .2s
}
.xy-pro-pager a.page-numbers span,
.xy-pro-pager span.page-numbers span,
.xy-pro-pager > a > span,
.xy-pro-pager > span > span{
  display:inline!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  line-height:inherit!important;
  box-shadow:none!important
}
.xy-pro-pager a.page-numbers:hover,
.xy-pro-pager > a:hover{
  background:#0b1c33!important;
  border-color:#0b1c33!important;
  color:#fff!important;
  transform:none;
  box-shadow:none
}
.xy-pro-pager span.page-numbers.current,
.xy-pro-pager > span.current,
.xy-pro-pager .current{
  background:#0b1c33!important;
  border-color:#0b1c33!important;
  color:#fff!important;
  box-shadow:none
}
.xy-pro-pager a.next,
.xy-pro-pager a.prev,
.xy-pro-pager a.next.page-numbers,
.xy-pro-pager a.prev.page-numbers{
  min-width:44px;
  letter-spacing:0;
  font-size:16px
}
@media screen and (max-width:992px){
  .xy-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
}
@media screen and (max-width:768px){
  .xy-pro-page{padding:var(--xy-page-pad,20px 16px 40px)}
  .xy-pro-title{font-size:22px}
  .xy-pro-head{margin-bottom:20px}
  .xy-pro-grid{gap:18px 12px}
  .xy-pro-pager{gap:6px;margin-top:28px;padding-top:18px}
  .xy-pro-pager > a,
  .xy-pro-pager > span,
  .xy-pro-pager a.page-numbers,
  .xy-pro-pager span.page-numbers{
    min-width:34px;height:34px;padding:0 10px!important;font-size:13px
  }
}
@media screen and (max-width:480px){
  .xy-pro-grid{grid-template-columns:1fr;gap:22px}
}
