.pl-projects-shortcode { margin: 10px 0; }
.pl-projects-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) { .pl-projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pl-projects-grid { grid-template-columns: 1fr; } }

.pl-project-card { border-radius: 20px; overflow:hidden; background:#fff; box-shadow: 0 14px 36px rgba(15, 23, 42, 0.10); transition: transform .25s ease, box-shadow .25s ease; display:flex; flex-direction:column; min-height:100%; }
.pl-project-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(15, 23, 42, 0.16); }
.pl-project-card__link { text-decoration:none; color:inherit; display:block; }
.pl-project-card__media { position:relative; aspect-ratio: 4 / 3; overflow:hidden; background: var(--pl-card-image-bg, #111827); }
.pl-project-card__media img { width:100%; height:100%; object-fit:cover; display:block; transform: scale(1); transition: transform .35s ease, filter .35s ease; }
.pl-project-card:hover .pl-project-card__media img { transform: scale(1.05); filter: saturate(1.05); }
.pl-project-card__placeholder-image { object-fit: cover; }
.pl-project-card__placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; letter-spacing:.02em; background: var(--pl-card-image-bg, #111827); }
.pl-project-card__overlay { position:absolute; inset:0; display:flex; align-items:flex-end; padding:18px; background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.10) 65%, rgba(0,0,0,0)); opacity:0; transition: opacity .25s ease; }
.pl-project-card:hover .pl-project-card__overlay { opacity:1; }
.pl-project-card__title { color:#fff; font-size: 1.1rem; font-weight:700; line-height:1.25; margin-bottom:6px; }
.pl-project-card__client { color: rgba(255,255,255,.9); font-size: .92rem; }
.pl-project-card__body { padding:16px 18px 0; }
.pl-project-card__meta-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.pl-project-card__status { font-weight:700; font-size:.92rem; }
.pl-project-card__status.is-live { color: var(--pl-live-color, #16a34a); }
.pl-project-card__status.is-offline { color: var(--pl-offline-color, #dc2626); }
.pl-project-card__year { color:#475569; font-weight:600; }
.pl-project-card__categories { margin-top:10px; color:#64748b; font-size:.95rem; }
.pl-project-card__actions { margin-top:auto; padding:16px 18px 18px; display:flex; flex-direction:column; gap:10px; }
.pl-btn { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:46px; border-radius:14px; text-decoration:none; font-weight:700; transition: transform .2s ease, opacity .2s ease, background .2s ease, color .2s ease; }
.pl-btn:hover { transform: translateY(-1px); opacity:.95; }
.pl-btn--primary { background: var(--pl-primary-button-bg, #111827); color: var(--pl-primary-button-text, #ffffff); }
.pl-btn--secondary { background: var(--pl-secondary-button-bg, #f1f5f9); color: var(--pl-secondary-button-text, #0f172a); }
.pl-empty-state { grid-column: 1 / -1; padding: 30px; background:#f8fafc; border-radius:16px; text-align:center; color:#334155; }
.pl-pagination { margin-top: 28px; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.pl-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border-radius: 10px; text-decoration:none; border:1px solid #e2e8f0; background:#fff; color:#0f172a; }
.pl-pagination .page-numbers.current { background:#111827; color:#fff; border-color:#111827; }

.pl-single-project { margin: 10px 0 30px; }
.pl-single-project__header { display:grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; align-items:start; }
@media (max-width: 900px) { .pl-single-project__header { grid-template-columns: 1fr; } }
.pl-single-project__image { border-radius: 20px; overflow:hidden; box-shadow: 0 14px 36px rgba(15,23,42,.10); }
.pl-single-project__image img { width:100%; height:auto; display:block; }
.pl-single-project__meta { background:#fff; border-radius:20px; padding:22px; box-shadow: 0 14px 36px rgba(15,23,42,.08); }
.pl-single-project__meta p { margin: 0 0 12px; }
.pl-single-project__actions { margin-top: 18px; }
.pl-single-project__gallery { margin-top: 30px; }
.pl-gallery-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
@media (max-width: 900px) { .pl-gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .pl-gallery-grid { grid-template-columns: 1fr; } }
.pl-gallery-grid a { display:block; border-radius: 16px; overflow:hidden; }
.pl-gallery-grid img { width:100%; height: 240px; object-fit:cover; display:block; }

.pl-widget-list { list-style:none; padding:0; margin:0; }
.pl-widget-list__item { display:flex; gap:12px; align-items:center; margin:0 0 12px; }
.pl-widget-list__item:last-child { margin-bottom:0; }
.pl-widget-list__item a { text-decoration:none; }
.pl-widget-count { color:#64748b; }
.pl-widget-thumb { flex:0 0 56px; width:56px; height:56px; border-radius:12px; overflow:hidden; display:block; }
.pl-widget-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.pl-widget-list__content { line-height:1.35; }
