/* =========================================================
   GS Page Catalog — Lu-Ve Style
   ========================================================= */
 
:root{
  --luve-red: #c40018;
  --luve-dark: #1e1e1e;
  --luve-grey: #6f6f6f;
  --luve-border: rgba(0,0,0,.08);
  --luve-bg-soft: #f4f5f6;
}
 
.gs-pc-root{
  width:100%;
  margin:0;
}
 
/* =========================
   Breadcrumbs
   ========================= */
 
.gs-pc-bc ul{
  list-style:none;
  padding:0;
  margin:0 0 18px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
 
.gs-pc-bc li{
  display:flex;
  align-items:center;
  gap:6px;
}
 
.gs-pc-bc .sep{
  opacity:.35;
}
 
.gs-pc-bc a{
  text-decoration:none;
  color:var(--luve-grey);
  transition:color .15s ease;
}
 
.gs-pc-bc a:hover{
  color:var(--luve-red);
}
 
.gs-pc-bc .current span{
  color:var(--luve-dark);
  font-weight:600;
}
 
/* =========================
   Header
   ========================= */
 
.gs-pc-head{
  margin:0 0 28px;
  max-width:860px;
}
 
.gs-pc-title{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.15;
  font-weight:600;
  color:var(--luve-dark);
}
 
.gs-pc-desc{
  font-size:16px;
  line-height:1.55;
  color:var(--luve-grey);
}
 
/* =========================
   Grid
   ========================= */
 
.gs-pc-grid{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(var(--gs-pc-cols,3), minmax(0,1fr));
  gap:26px;
}
 
/* =========================
   Card
   ========================= */
 
.gs-pc-card{
  position:relative;
}

ul li.gs-pc-card::marker {
    content:'';
}
 
.gs-pc-link{
  display:block;
  height:100%;
  background:#fff;
  border:1px solid var(--luve-border);
  border-radius:18px;
  overflow:hidden;
  text-decoration:none;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}
 
.gs-pc-link:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.14);
  border-color:rgba(0,0,0,.15);
}
 
/* =========================
   Image
   ========================= */
 
.gs-pc-thumb{
  aspect-ratio:16/9;
  background:var(--luve-bg-soft);
  overflow:hidden;
}
 
.gs-pc-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  transition:transform .35s ease;
}
 
.gs-pc-link:hover .gs-pc-thumb img{
  transform:scale(1.04);
}
 
.gs-pc-thumb.is-empty{
  background:linear-gradient(135deg,#eee,#f7f7f7);
}
 
/* =========================
   Content
   ========================= */
 
.gs-pc-info{
  padding:18px 20px 20px;
}
 
.gs-pc-tt{
  margin:0;
  font-size:18px;
  font-weight:500;
  line-height:1.25;
  color:var(--luve-dark);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
 
/* Chevron Lu-Ve style */
.gs-pc-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--luve-red);
  color:#fff;
  font-size:18px;
  line-height:1;
  flex-shrink:0;
  transition:
    background .2s ease,
    transform .2s ease;
}
 
.gs-pc-link:hover .gs-pc-chevron{
  background:#a80014;
  transform:translateX(2px);
}
 
/* =========================
   Empty
   ========================= */
 
.gs-pc-empty{
  padding:20px 0;
  font-size:15px;
  color:var(--luve-grey);
}
 
/* =========================
   Responsive
   ========================= */
 
@media (max-width: 1200px){
  .gs-pc-title{
    font-size:30px;
  }
}
 
@media (max-width: 980px){
  .gs-pc-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:22px;
  }
}
 
@media (max-width: 640px){
  .gs-pc-grid{
    grid-template-columns:1fr;
  }
 
  .gs-pc-title{
    font-size:26px;
  }
}

.gs-pc-sub{
  margin-top:8px;
  font-size:14px;
  line-height:1.35;
  color:rgba(0,0,0,.58);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}