/* "Our Work" page (blocks/showcase/render.php). Layout B from
   mockups/website-showcase/. */

.yp-showcase {
	max-width: 1200px;
	margin: 0 auto;
	padding: 3.5rem 1.5rem 4rem;
}

.yp-showcase__hero {
	text-align: center;
	padding-bottom: 1rem;
}

.yp-showcase__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--magenta-deep);
}

.yp-showcase__eyebrow::before {
	content: "";
	width: 20px;
	height: 2px;
	background: currentColor;
}

.yp-showcase__hero h1 {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	letter-spacing: -0.02em;
	margin: 0.75rem 0;
}

.yp-showcase__intro {
	font-size: 1.125rem;
	color: var(--wp--preset--color--charcoal);
	max-width: 640px;
	margin: 0 auto;
}

.yp-showcase__jump {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.yp-showcase__chip {
	border: 1px solid var(--wp--preset--color--light-gray);
	background: #fff;
	border-radius: 999px;
	padding: 0.35rem 0.85rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--wp--preset--color--charcoal);
	text-decoration: none;
}

.yp-showcase__chip:hover {
	border-color: var(--wp--preset--color--near-black);
	color: var(--wp--preset--color--near-black);
}

.yp-showcase__empty {
	text-align: center;
	padding: 3rem 1rem;
	border: 1px dashed var(--wp--preset--color--light-gray);
	border-radius: 20px;
	margin-top: 2rem;
}

.yp-showcase__empty h2 {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}

.yp-showcase__empty p {
	margin: 0;
	color: var(--wp--preset--color--charcoal);
}

/* ---------- One project ---------- */

.yp-showcase__case {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 3.5rem;
	align-items: center;
	padding: 3.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
	scroll-margin-top: 120px;
}

.yp-showcase__case.is-flipped .yp-showcase__stage {
	order: 2;
}

.yp-showcase__stage {
	position: relative;
	padding: 1.75rem 1.75rem 2.5rem;
	border-radius: 28px;
	background: linear-gradient(160deg, #eef1f5, #f3eee8);
}

.yp-showcase__stage.has-phone {
	padding-right: 4.5rem;
}

.yp-showcase__browser {
	background: #fff;
	border: 1px solid #e3e1dc;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 18px 40px -18px rgba(20, 20, 20, 0.35);
}

.yp-showcase__bar {
	height: 30px;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 12px;
	background: #f1efeb;
	border-bottom: 1px solid #e3e1dc;
}

.yp-showcase__bar i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #ff6058;
}

.yp-showcase__bar i:nth-child(2) {
	background: #ffbd2e;
}

.yp-showcase__bar i:nth-child(3) {
	background: #28c940;
}

.yp-showcase__bar span {
	margin-left: 10px;
	flex: 1;
	max-width: 320px;
	background: #fff;
	border-radius: 6px;
	padding: 2px 10px;
	font-size: 11px;
	color: #777;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yp-showcase__desktop {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	height: auto;
	object-fit: cover;
	object-position: top;
}

.yp-showcase__phone {
	position: absolute;
	right: 1.25rem;
	bottom: -0.9rem;
	width: 30%;
	max-width: 170px;
	padding: 6px;
	border-radius: 28px;
	background: #111;
	box-shadow: 0 20px 40px -14px rgba(20, 20, 20, 0.5);
}

.yp-showcase__phone img {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 19;
	height: auto;
	object-fit: cover;
	object-position: top;
	border-radius: 22px;
}

.yp-showcase__meta {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	font-size: 0.82rem;
	color: #6b6b70;
}

.yp-showcase__pkg {
	border-radius: 6px;
	padding: 3px 8px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: #eee;
	color: #555;
}

.yp-showcase__pkg--pro {
	background: #e0f5fd;
	color: #0077a8;
}

.yp-showcase__pkg--ultimate {
	background: #fde3f2;
	color: #b0006a;
}

.yp-showcase__pkg--starter {
	background: #fff8bf;
	color: #6b5d00;
}

.yp-showcase__text h2 {
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	letter-spacing: -0.02em;
	margin: 0.6rem 0;
}

.yp-showcase__lede {
	font-size: 1.05rem;
	color: var(--wp--preset--color--charcoal);
	margin: 0 0 1.1rem;
}

.yp-showcase__did {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.45rem 1.1rem;
	font-size: 0.92rem;
}

.yp-showcase__did li {
	display: flex;
	gap: 0.45rem;
}

.yp-showcase__did li::before {
	content: "✓";
	color: #16a34a;
	font-weight: 700;
}

.yp-showcase__quote {
	margin: 0 0 1.4rem;
	padding: 1rem 1.15rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--light-gray);
	border-radius: 14px;
}

.yp-showcase__stars {
	color: #f5a623;
	letter-spacing: 2px;
	font-size: 0.85rem;
}

.yp-showcase__quote blockquote {
	margin: 0.35rem 0 0.5rem;
	padding: 0;
	border: 0;
}

.yp-showcase__quote blockquote p {
	margin: 0;
	font-size: 0.95rem;
}

.yp-showcase__quote figcaption {
	font-size: 0.8rem;
	font-weight: 600;
	color: #6b6b70;
}

.yp-showcase__acts,
.yp-showcase__cta-acts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.yp-showcase__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.8rem 1.3rem;
	border-radius: 10px;
	border: 1px solid var(--wp--preset--color--light-gray);
	background: #fff;
	color: var(--wp--preset--color--near-black);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	white-space: nowrap;
}

.yp-showcase__btn:hover {
	border-color: var(--wp--preset--color--near-black);
}

.yp-showcase__btn--dark {
	background: var(--wp--preset--color--near-black);
	border-color: var(--wp--preset--color--near-black);
	color: #fff;
}

.yp-showcase__btn--dark:hover {
	color: #fff;
	background: #000;
}

.yp-showcase__btn--orange {
	background: #ff7a1a;
	border-color: #ff7a1a;
	color: #111;
}

.yp-showcase__btn--orange:hover {
	color: #111;
	border-color: #e86a0c;
	background: #ff8a33;
}

/* ---------- Closing call to action ---------- */

.yp-showcase__cta {
	margin-top: 3rem;
	display: flex;
	align-items: center;
	gap: 1.75rem;
	padding: 2.5rem 3rem;
	border-radius: 24px;
	background: linear-gradient(120deg, #3a1630, #2a1a4a);
	color: #fff;
}

.yp-showcase__cta h2 {
	color: #fff;
	font-size: 2rem;
	margin: 0;
}

.yp-showcase__cta p {
	margin: 0.35rem 0 0;
	color: #d8cfe4;
}

.yp-showcase__cta-acts {
	margin-left: auto;
}

/* ---------- Phones ---------- */

@media (max-width: 760px) {
	.yp-showcase {
		padding: 2rem 1rem 3rem;
	}

	.yp-showcase__intro {
		font-size: 1rem;
	}

	.yp-showcase__case {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding: 2rem 0;
	}

	.yp-showcase__case.is-flipped .yp-showcase__stage {
		order: 0;
	}

	.yp-showcase__stage {
		padding: 1rem 0.75rem 1.6rem;
		border-radius: 18px;
	}

	.yp-showcase__stage.has-phone {
		padding-right: 3.25rem;
	}

	.yp-showcase__phone {
		right: 0.5rem;
		bottom: -0.5rem;
		width: 26%;
		border-radius: 18px;
		padding: 4px;
	}

	.yp-showcase__phone img {
		border-radius: 14px;
	}

	.yp-showcase__did {
		grid-template-columns: 1fr;
	}

	.yp-showcase__acts {
		flex-direction: column;
	}

	.yp-showcase__cta {
		flex-direction: column;
		align-items: flex-start;
		padding: 1.75rem 1.4rem;
	}

	.yp-showcase__cta h2 {
		font-size: 1.6rem;
	}

	.yp-showcase__cta-acts {
		margin-left: 0;
	}
}
