/* ================= CPAWS Library (Centered Grid) ================= */
.cpaws-grid-wrap {
  --cpaws-accent:#6BC200;
  --cpaws-gap:20px;
  --cpaws-pad:12px;
  --cpaws-radius:12px;
  --cpaws-title:0.95rem;
  --cpaws-btn-pad:10px 14px;
  --cpaws-btn-radius:8px;
  --cpaws-shadow:0 10px 18px rgba(0,0,0,.1);
  --cpaws-hover-scale:1.02;
  --cpaws-card-w:260px; /* fixed card width */
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

.cpaws-heading { font-family:"Georgia", serif; font-style:italic; font-weight:700; font-size:2rem; margin:0 0 8px; }
.cpaws-divider { height:6px; border-bottom:6px dotted var(--cpaws-accent); margin:10px 0 24px; width:60%; max-width:720px; }
.cpaws-year-heading { margin:24px 0 10px; font-size:1.4rem; font-weight:700; }

.cpaws-grid {
  display:grid;
  gap:var(--cpaws-gap);
}

/* Cards */
.cpaws-card {
  display:flex; flex-direction:column; text-align:center; text-decoration:none;
  background:#fff; border-radius:var(--cpaws-radius); border:1px solid #e6e6e6;
  box-shadow:var(--cpaws-shadow); padding:var(--cpaws-pad);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  color:#111;
  margin:0 auto;
  max-width:var(--cpaws-card-w);
}
.cpaws-card:hover {
  transform:translateY(-2px) scale(var(--cpaws-hover-scale));
  box-shadow:0 14px 24px rgba(0,0,0,.15);
  border-color:var(--cpaws-accent);
}

.cpaws-thumb { aspect-ratio:3/4; width:100%; overflow:hidden; display:grid; place-items:center; border-radius:10px; border:1px solid #ddd; background:#fafafa; margin-bottom:8px; }
.cpaws-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

.cpaws-title { font-weight:600; font-size:var(--cpaws-title); line-height:1.2; min-height:2.2em; }
.cpaws-year { font-size:.9rem; color:#666; margin-top:4px; }

.cpaws-pagination { margin-top:14px; }
.cpaws-loadmore-wrap { text-align:center; margin-top:16px; }
.cpaws-loadmore { background:var(--cpaws-accent); color:#fff; border:none; border-radius:var(--cpaws-btn-radius); padding:var(--cpaws-btn-pad); cursor:pointer; }
.cpaws-morelink-wrap { text-align:right; margin-top:14px; }
.cpaws-morelink { text-decoration:none; padding:var(--cpaws-btn-pad); border-radius:var(--cpaws-btn-radius); background:#333; color:#fff; }

/* Presets */
.cpaws-variant-compact .cpaws-card { --cpaws-pad:10px; --cpaws-radius:10px; }
.cpaws-variant-roomy   .cpaws-card { --cpaws-pad:18px; --cpaws-radius:16px; }

/* ------------ Breakpoints with Centered Columns ------------ */

/* Desktop: 4 columns */
@media (min-width:1025px){
  .cpaws-grid{
    grid-template-columns: repeat(4, var(--cpaws-card-w)) !important;
    justify-content:center !important;
  }
}

/* Large tablets: 3 columns */
@media (min-width:769px) and (max-width:1024px){
  .cpaws-grid{
    grid-template-columns: repeat(3, var(--cpaws-card-w)) !important;
    justify-content:center !important;
  }
}

/* Tablets: 2 columns */
@media (min-width:481px) and (max-width:768px){
  .cpaws-grid{
    grid-template-columns: repeat(2, var(--cpaws-card-w)) !important;
    justify-content:center !important;
  }
  .cpaws-divider{ width:80%; }
}

/* Phones: 1 column */
@media (max-width:480px){
  .cpaws-grid{ grid-template-columns:1fr !important; }
  .cpaws-heading{ font-size:1.6rem; }
}
/* ================= CPAWS Library (Centered Grid) ================= */
.cpaws-grid-wrap {
  --cpaws-accent:#6BC200;
  --cpaws-gap:20px;
  --cpaws-pad:12px;
  --cpaws-radius:12px;
  --cpaws-title:0.95rem;
  --cpaws-btn-pad:10px 14px;
  --cpaws-btn-radius:8px;
  --cpaws-shadow:0 10px 18px rgba(0,0,0,.1);
  --cpaws-hover-scale:1.02;
  --cpaws-card-w:260px; /* fixed card width */
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

.cpaws-heading { font-family:"Georgia", serif; font-style:italic; font-weight:700; font-size:2rem; margin:0 0 8px; }
.cpaws-divider { height:6px; border-bottom:6px dotted var(--cpaws-accent); margin:10px 0 24px; width:60%; max-width:720px; }
.cpaws-year-heading { margin:24px 0 10px; font-size:1.4rem; font-weight:700; }

.cpaws-grid {
  display:grid;
  gap:var(--cpaws-gap);
}

/* Cards */
.cpaws-card {
  display:flex; flex-direction:column; text-align:center; text-decoration:none;
  background:#fff; border-radius:var(--cpaws-radius); border:1px solid #e6e6e6;
  box-shadow:var(--cpaws-shadow); padding:var(--cpaws-pad);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  color:#111;
  margin:0 auto;
  max-width:var(--cpaws-card-w);
}
.cpaws-card:hover {
  transform:translateY(-2px) scale(var(--cpaws-hover-scale));
  box-shadow:0 14px 24px rgba(0,0,0,.15);
  border-color:var(--cpaws-accent);
}

.cpaws-thumb { aspect-ratio:3/4; width:100%; overflow:hidden; display:grid; place-items:center; border-radius:10px; border:1px solid #ddd; background:#fafafa; margin-bottom:8px; }
.cpaws-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

.cpaws-title { font-weight:600; font-size:var(--cpaws-title); line-height:1.2; min-height:2.2em; }
.cpaws-year { font-size:.9rem; color:#666; margin-top:4px; }

.cpaws-pagination { margin-top:14px; }
.cpaws-loadmore-wrap { text-align:center; margin-top:16px; }
.cpaws-loadmore { background:var(--cpaws-accent); color:#fff; border:none; border-radius:var(--cpaws-btn-radius); padding:var(--cpaws-btn-pad); cursor:pointer; }
.cpaws-morelink-wrap { text-align:right; margin-top:14px; }
.cpaws-morelink { text-decoration:none; padding:var(--cpaws-btn-pad); border-radius:var(--cpaws-btn-radius); background:#333; color:#fff; }

/* Presets */
.cpaws-variant-compact .cpaws-card { --cpaws-pad:10px; --cpaws-radius:10px; }
.cpaws-variant-roomy   .cpaws-card { --cpaws-pad:18px; --cpaws-radius:16px; }

/* ------------ Breakpoints with Centered Columns ------------ */

/* Desktop: 4 columns */
@media (min-width:1025px){
  .cpaws-grid{
    grid-template-columns: repeat(4, var(--cpaws-card-w)) !important;
    justify-content:center !important;
  }
}

/* Large tablets: 3 columns */
@media (min-width:769px) and (max-width:1024px){
  .cpaws-grid{
    grid-template-columns: repeat(3, var(--cpaws-card-w)) !important;
    justify-content:center !important;
  }
}

/* Tablets: 2 columns */
@media (min-width:481px) and (max-width:768px){
  .cpaws-grid{
    grid-template-columns: repeat(2, var(--cpaws-card-w)) !important;
    justify-content:center !important;
  }
  .cpaws-divider{ width:80%; }
}

/* Phones: 1 column */
@media (max-width:480px){
  .cpaws-grid{ grid-template-columns:1fr !important; }
  .cpaws-heading{ font-size:1.6rem; }
}
