/* Галерея результатов. Стили на токенах темы (--pp-*) — подхватывают тёмную и жёлтую палитру. */
.pp-cases__filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.pp-cases__filters button {
	font: inherit; font-size: .9rem; color: var(--pp-text-2);
	background: transparent; border: 1px solid var(--pp-line);
	padding: 8px 16px; border-radius: 999px; cursor: pointer;
	transition: color .2s, border-color .2s, background-color .2s;
}
.pp-cases__filters button:hover { color: var(--pp-heading); border-color: var(--pp-accent); }
.pp-cases__filters button.is-active {
	color: var(--pp-bg); background: var(--pp-accent); border-color: var(--pp-accent); font-weight: 600;
}

.pp-cases__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 24px; }
.pp-cases__card {
	display: flex; flex-direction: column; text-align: left; padding: 0; font: inherit; color: inherit;
	background: var(--pp-surface); border: 1px solid var(--pp-line); border-radius: var(--pp-radius);
	overflow: hidden; cursor: pointer;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.pp-cases__card:hover { border-color: var(--pp-accent); box-shadow: 0 12px 40px rgba(0,0,0,.45); transform: translateY(-2px); }
.pp-cases__card.is-hidden { display: none; }
.pp-cases__thumb {
	position: relative; display: block; aspect-ratio: 12 / 5; background: var(--pp-bg-2);
	overflow: hidden; border-bottom: 1px solid var(--pp-line);
}
.pp-cases__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.pp-cases__pages {
	position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.6); color: #fff;
	font-size: .75rem; padding: 3px 9px; border-radius: 999px;
}
.pp-cases__body { display: block; padding: 18px 20px 22px; }
.pp-cases__cat { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pp-accent); }
.pp-cases__title {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
	font-family: var(--pp-font-head); color: var(--pp-heading); font-size: 1.05rem; margin: 8px 0; line-height: 1.25;
}
.pp-cases__desc {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden;
	color: var(--pp-text-2); font-size: .92rem; line-height: 1.5;
}

/* лайтбокс */
dialog.pp-cases-lb { padding: 0; border: none; background: transparent; max-width: none; max-height: none; width: 100%; height: 100%; margin: 0; overflow: visible; }
dialog.pp-cases-lb::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(4px); }
.pp-cases-lb__inner { position: fixed; inset: 0; display: grid; grid-template-rows: 1fr auto; place-items: center; padding: 24px; }
.pp-cases-lb__stage { display: flex; align-items: center; justify-content: center; width: 100%; max-height: 78vh; }
.pp-cases-lb__img { max-width: min(760px, 92vw); max-height: 78vh; background: #fff; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.pp-cases-lb__cap { color: var(--pp-heading); text-align: center; margin: 16px auto 0; max-width: 640px; }
.pp-cases-lb__cap .c { color: var(--pp-accent); font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.pp-cases-lb__cap h3 { font-family: var(--pp-font-head); margin: 6px 0 4px; font-size: 1.15rem; }
.pp-cases-lb__cap p { color: var(--pp-text-2); margin: 0; font-size: .92rem; }
.pp-cases-lb__counter { color: var(--pp-text-2); font-size: .8rem; margin-top: 10px; text-align: center; }
.pp-cases-lb__nav {
	position: fixed; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%;
	background: var(--pp-surface); border: 1px solid var(--pp-line); color: var(--pp-accent); cursor: pointer;
	display: grid; place-items: center; font-size: 22px; line-height: 0;
}
.pp-cases-lb__nav:hover { border-color: var(--pp-accent); }
.pp-cases-lb__nav:focus { outline: none; }
.pp-cases-lb__prev { left: 18px; }
.pp-cases-lb__next { right: 18px; }
.pp-cases-lb__close {
	position: fixed; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 50%;
	background: var(--pp-surface); border: 1px solid var(--pp-line); color: var(--pp-text-2); cursor: pointer;
	display: grid; place-items: center; font-size: 20px; line-height: 0;
}
.pp-cases-lb__close:hover { color: var(--pp-heading); }
.pp-cases-lb__close:focus { outline: none; }
@media (max-width: 560px) {
	.pp-cases-lb__nav { width: 40px; height: 40px; }
	.pp-cases-lb__prev { left: 8px; }
	.pp-cases-lb__next { right: 8px; }
}

/* отдельная страница галереи (body.pp-cases-page): full-bleed + скрытый титул Kadence,
   как у других внутренних страниц, но без привязки к ID — класс ставит плагин */
.pp-cases-page .entry-hero.page-hero-section { display: none; }
.pp-cases-page .content-container.site-container { max-width: 100%; padding: 0; }
.pp-cases-page .content-wrap,
.pp-cases-page .entry-content-wrap { padding: 0 !important; }
.pp-cases-page .entry-content.single-content { max-width: none; }
.pp-cases-page .entry-content > .pp-section:first-child { margin-top: 0; }
/* пустое состояние (кейсов пока нет) */
.pp-cases__empty { color: var(--pp-text-2); font-size: 1rem; margin: 0; }
