/* Workshop / photo album list — editorial, brand ink / blue / orange */
.xy-ws-page{padding:var(--xy-page-pad,32px 15px 56px)}
.xy-ws-main{min-width:0}
.xy-ws-panel{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible
}
.xy-ws-head{
  margin:0 0 28px;
  padding:0 0 18px;
  background:none;
  position:relative;
  border-bottom:1px solid rgba(11,28,51,.1)
}
.xy-ws-head::after{
  content:"";
  position:absolute;left:0;bottom:-1px;width:72px;height:2px;
  background:#ff9e16;border-radius:0
}
.xy-ws-title{
  margin:0;padding:0;border:0;
  font-size:28px;line-height:1.2;font-weight:700;color:#0b1c33;letter-spacing:.01em
}
.xy-ws-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-ws-desc p{margin:0}
.xy-ws-desc img,
.xy-ws-desc table,
.xy-ws-desc iframe,
.xy-ws-desc video{
  max-width:100%;
  height:auto
}
.xy-ws-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px 20px;
  padding:0;
  margin:0!important;
  list-style:none
}
.xy-ws-card{
  display:block!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  width:auto!important;
  min-height:0!important;
  background:transparent;
  border:0;
  overflow:visible
}
.xy-ws-card-link{
  display:flex!important;
  flex-direction:column;
  height:100%;
  text-decoration:none!important;
  color:inherit;
  transition:transform .3s ease
}
.xy-ws-card-link:hover{transform:translateY(-4px)}
.xy-ws-card-cover{
  display:block;
  position:relative;
  aspect-ratio:3/2;
  background:#f3f5f8;
  overflow:hidden;
  border-radius:2px
}
.xy-ws-card-cover::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(11,28,51,.55) 100%);
  opacity:.55;
  transition:opacity .3s ease;
  pointer-events:none
}
.xy-ws-card-link:hover .xy-ws-card-cover::after{opacity:.75}
.xy-ws-card-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease
}
.xy-ws-card-link:hover .xy-ws-card-cover img{transform:scale(1.06)}
.xy-ws-card-ph{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;min-height:160px;
  background:linear-gradient(145deg,#0b1c33,#0c4d89);
  color:rgba(255,158,22,.85);font-size:36px
}
.xy-ws-card-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 2px 0;
  min-width:0
}
.xy-ws-card-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(1.35em * 2);
  margin:0;
  color:#0b1c33;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.01em;
  transition:color .2s
}
.xy-ws-card-link:hover .xy-ws-card-title{color:#0c4d89}
.xy-ws-card-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#0c4d89;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .2s,gap .2s
}
.xy-ws-card-more .fa{transition:transform .2s}
.xy-ws-card-link:hover .xy-ws-card-more{color:#ff9e16;gap:9px}
.xy-ws-card-link:hover .xy-ws-card-more .fa{transform:translateX(3px)}
.xy-ws-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-ws-pager > a,
.xy-ws-pager > span,
.xy-ws-pager a.page-numbers,
.xy-ws-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-ws-pager a.page-numbers span,
.xy-ws-pager span.page-numbers span,
.xy-ws-pager > a > span,
.xy-ws-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-ws-pager a.page-numbers:hover,
.xy-ws-pager > a:hover{
  background:#0b1c33!important;
  border-color:#0b1c33!important;
  color:#fff!important
}
.xy-ws-pager span.page-numbers.current,
.xy-ws-pager > span.current,
.xy-ws-pager .current{
  background:#0b1c33!important;
  border-color:#0b1c33!important;
  color:#fff!important
}
.xy-ws-pager a.next,
.xy-ws-pager a.prev,
.xy-ws-pager a.next.page-numbers,
.xy-ws-pager a.prev.page-numbers{
  min-width:44px;
  letter-spacing:0;
  font-size:16px
}
@media screen and (max-width:992px){
  .xy-ws-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
}
@media screen and (max-width:768px){
  .xy-ws-page{padding:var(--xy-page-pad,20px 16px 40px)}
  .xy-ws-title{font-size:22px}
  .xy-ws-head{margin-bottom:20px}
  .xy-ws-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .xy-ws-card-title{font-size:13px}
  .xy-ws-pager{gap:6px;margin-top:28px;padding-top:18px}
  .xy-ws-pager > a,
  .xy-ws-pager > span,
  .xy-ws-pager a.page-numbers,
  .xy-ws-pager span.page-numbers{
    min-width:36px;height:36px;padding:0 10px!important;font-size:13px
  }
}
@media screen and (max-width:480px){
  .xy-ws-grid{grid-template-columns:1fr}
}
