.psra-lite{
  --psra-gap:16px;
  --psra-radius:18px;
  --psra-blur:16px;
  --psra-bg-opacity:0.14;
  --psra-border-opacity:0.22;
  --psra-shadow-strength:0.22;
  --psra-accent:#8CCAAF;
  --psra-text:#171F1F;
  --psra-muted:#546260;
  --psra-bg:#E0EAE2;
  --psra-col-d:3;
  --psra-col-t:2;
  --psra-col-m:1;
}

.psra-lite .psra-grid{
  display:grid;
  grid-template-columns: repeat(var(--psra-col-d), minmax(0,1fr));
  gap: var(--psra-gap);
}

@media (max-width: 980px){
  .psra-lite .psra-grid{ grid-template-columns: repeat(var(--psra-col-t), minmax(0,1fr)); }
}
@media (max-width: 600px){
  .psra-lite .psra-grid{ grid-template-columns: repeat(var(--psra-col-m), minmax(0,1fr)); }
}

.psra-lite .psra-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color: var(--psra-text);
  border-radius: var(--psra-radius);
  padding: 16px 16px 14px;
  border: 1px solid rgba(23,31,31,var(--psra-border-opacity));
  background: rgba(224,234,226,var(--psra-bg-opacity));
  backdrop-filter: blur(var(--psra-blur));
  -webkit-backdrop-filter: blur(var(--psra-blur));
  box-shadow: 0 18px 44px rgba(0,0,0,var(--psra-shadow-strength));
  transition: transform .18s ease, box-shadow .18s ease;
}

.psra-lite.psra-style-neo .psra-card{
  background: var(--psra-bg);
  border: 1px solid rgba(23,31,31,0.10);
  box-shadow: 16px 16px 40px rgba(0,0,0,0.08), -16px -16px 40px rgba(255,255,255,0.55);
}

.psra-lite .psra-card:hover{
  transform: translateY(-2px);
}

.psra-lite .psra-card__title{
  font-size: 1.05rem;
  line-height: 1.25;
  font-weight: 700;
}

.psra-lite .psra-card__excerpt{
  margin-top: 10px;
  color: var(--psra-muted);
  line-height: 1.5;
  font-size: .95rem;
}

.psra-lite .psra-card__meta{
  margin-top: auto;
  padding-top: 12px;
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
}

.psra-lite .psra-meta-chip{
  font-size: .78rem;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(23,31,31,var(--psra-border-opacity));
  background: rgba(255,255,255,0.35);
}

.psra-lite .psra-meta-date{
  font-size: .82rem;
  color: var(--psra-muted);
}

.psra-lite-empty,
.psra-lite-error{
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(224,234,226,0.6);
  border: 1px solid rgba(23,31,31,0.12);
  color: var(--psra-text);
}


/* Featured image (Lite cards) */
.psra-lite .psra-card__img{
  width:100%;
  border-radius: calc(var(--psra-radius) - 6px);
  overflow:hidden;
  margin-bottom: 12px;
  border: 1px solid rgba(23,31,31,0.10);
}
.psra-lite .psra-card__img img{
  width:100%;
  height:auto;
  display:block;
}


/* Lite card image fit modes */
.psra-lite .psra-card__img{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.psra-lite .psra-card__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Contain: no crop, letterbox */
.psra-lite .psra-card[data-image-fit="contain"] .psra-card__img img{
  object-fit: contain;
  background: rgba(0,0,0,0.04);
}

/* Natural: image defines height */
.psra-lite .psra-card[data-image-fit="natural"] .psra-card__img{
  aspect-ratio: auto;
}

.psra-lite .psra-card[data-image-fit="natural"] .psra-card__img img{
  height: auto;
  object-fit: unset;
}


/* Aspect ratios */
.psra-lite .psra-card[data-image-ratio="16-9"] .psra-card__img{ aspect-ratio: 16 / 9; }
.psra-lite .psra-card[data-image-ratio="4-3"]  .psra-card__img{ aspect-ratio: 4 / 3; }
.psra-lite .psra-card[data-image-ratio="1-1"]  .psra-card__img{ aspect-ratio: 1 / 1; }
.psra-lite .psra-card[data-image-ratio="auto"] .psra-card__img{ aspect-ratio: auto; }

/* Blur fill background */
.psra-lite .psra-card[data-image-bg="blur"] .psra-card__img{
  background-size: cover;
  background-position: center;
}

.psra-lite .psra-card[data-image-bg="blur"] .psra-card__img::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--psra-img);
  background-size: cover;
  background-position: center;
  filter: blur(16px);
  transform: scale(1.15);
  z-index: 0;
  opacity: 0.6;
}

.psra-lite .psra-card[data-image-bg="blur"] .psra-card__img img{
  position: relative;
  z-index: 1;
}
