.dpc-wrapper{ --dpc-radius:1rem; --dpc-gap:1.25rem; --dpc-bg:#111; --dpc-meta-bg:#fff; --dpc-title:#111; --dpc-terms:#666; }
.dpc-splide{ margin:0 auto; }
.dpc-card{ background:var(--dpc-meta-bg); border-radius:var(--dpc-radius); overflow:hidden; box-shadow:0 8px 30px rgba(0,0,0,.06); }
.dpc-media{ position:relative; overflow:hidden; background:#f5f5f5; }
.dpc-aspect{ width:100%; display:block; }
.dpc-media img{ position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.dpc-card:hover .dpc-media img{ transform:scale(1.04); }
.dpc-placeholder{ display:flex; align-items:center; justify-content:center; min-height:160px; font-weight:700; color:#fff; background:#00a4ff; }
.dpc-meta{ padding:14px 16px 18px; }
.dpc-title{ font-size:16px; line-height:1.35; margin:6px 0 0; color:var(--dpc-title); }
.dpc-title a{ color:inherit; text-decoration:none; }
.dpc-title a:hover{ text-decoration:underline; }
.dpc-terms{ font-size:12px; color:var(--dpc-terms); text-transform:none; letter-spacing:.2px; }

/* Fit modifiers for non-auto ratio */
.dpc-fit-cover img{ object-fit:cover; }
.dpc-fit-contain img{ object-fit:contain; }
.dpc-fit-fill img{ object-fit:fill; }
.dpc-fit-none img{ object-fit:none; }

/* Auto ratio: let image define height, no crop */
.splide.dpc-splide[data-ratio="auto"] .dpc-aspect{ display:none; }
.splide.dpc-splide[data-ratio="auto"] .dpc-media img{ position:static; width:100%; height:auto; }

/* Splide arrows & dots */
.splide__arrow{ background:#ffffff; border:1px solid #eaeaea; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.splide__arrow svg{ fill:#111; }
.splide__pagination__page{ background:#d8d8d8; opacity:1; }
.splide__pagination__page.is-active{ background:#111; transform:scale(1.15); }
