/* ==========================================================================
   PROJE DETAY SAYFASI (/proje/<slug>/)
   Portfolyo kartindan acilan tekil proje sayfasi.
   Renk ve tipografi tokenleri portfolio.css / services.css ile ayni.
   ========================================================================== */

:root {
	--pj-accent: #1851f1;
	--pj-ink: #222;
	--pj-muted: rgba(34, 34, 34, .6);
	--pj-cream: #f9f5ea;
	--pj-line: rgba(34, 34, 34, .1);
}

/* --- Kirinti yolu (breadcrumb) ----------------------------------------- */

.pj-breadcrumb {
	margin: 0 0 calc(10px + .6vw);
	font-size: 13px;
	color: var(--pj-muted);
}

.pj-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-breadcrumb li + li:before {
	content: "›";
	margin-right: 6px;
	color: var(--pj-line);
}

.pj-breadcrumb a {
	color: var(--pj-muted);
	border-bottom: 1px solid transparent;
}

.pj-breadcrumb a:hover {
	color: var(--pj-accent);
	border-bottom-color: currentColor;
}

.pj-breadcrumb [aria-current="page"] {
	color: var(--pj-ink);
}

/* --- Ust bilgi --------------------------------------------------------- */

.pj-header {
	text-align: center;
}

.pj-eyebrow {
	display: inline-block;
	margin: 0 0 8px;
	padding: 5px 12px;
	background: var(--pj-cream);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pj-accent);
}

.pj-subtitle {
	margin: 6px 0 0;
	font-family: 'Jost*', sans-serif;
	font-size: calc(15px + .5vw);
	font-style: italic;
	font-weight: 400;
	color: var(--pj-muted);
}

.pj-lead {
	max-width: 46em;
	margin: calc(16px + 1vw) auto 0;
	text-align: center;
	font-size: calc(15px + .25vw);
	line-height: 1.75;
	color: var(--pj-ink);
}

/* --- Kapak gorseli ------------------------------------------------------ */

.pj-hero {
	margin: calc(20px + 1.5vw) 0 0;
}

.pj-hero img {
	display: block;
	width: 100%;
	height: auto;
}

.pj-hero figcaption {
	margin-top: 10px;
	font-size: 13px;
	color: var(--pj-muted);
}

/* --- Kunye -------------------------------------------------------------- */

.pj-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1px;
	margin: calc(20px + 1.5vw) 0 0;
	padding: 0;
	background: var(--pj-line);
	border: 1px solid var(--pj-line);
}

.pj-fact {
	margin: 0;
	padding: 18px 20px;
	background: #fff;
}

.pj-fact dt {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--pj-muted);
}

.pj-fact dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pj-ink);
}

.pj-fact dd a {
	color: var(--pj-accent);
	border-bottom: 1px solid currentColor;
}

/* --- Bolumler ----------------------------------------------------------- */

.pj-section {
	margin: calc(28px + 2.4vw) 0 0;
}

.pj-h2 {
	font-family: 'Jost*', sans-serif;
	font-size: calc(16px + 1.1vw);
	font-weight: 400;
	font-style: italic;
	letter-spacing: .01em;
	text-align: center;
	color: var(--pj-ink);
	margin: 0 0 18px;
}

.pj-h3 {
	font-family: 'Jost*', sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--pj-ink);
	margin: 0;
}

.pj-section p {
	max-width: 46em;
	margin-left: auto;
	margin-right: auto;
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--pj-muted);
}

.pj-section p strong {
	color: var(--pj-ink);
	font-weight: 600;
}

/* --- Sorun listesi ------------------------------------------------------ */

.pj-points {
	max-width: 46em;
	margin: 14px auto 0;
	padding: 0 0 0 20px;
	list-style: square;
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--pj-muted);
}

.pj-points li {
	margin-bottom: 6px;
}

/* --- Modul izgarasi ----------------------------------------------------- */

.pj-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: calc(12px + .8vw);
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.pj-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 26px 24px;
	background: var(--pj-cream);
	transition: background-color .3s ease;
}

.pj-card:hover {
	background: #f5efdf;
}

.pj-icon {
	display: inline-flex;
	color: var(--pj-accent);
	font-size: 28px;
	line-height: 1;
}

.pj-icon:before {
	margin: 0;
	width: auto;
}

.pj-card p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--pj-muted);
}

/* --- Adimlar ------------------------------------------------------------ */

.pj-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: calc(12px + .8vw);
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: pj-step;
}

.pj-step {
	padding: 22px 24px;
	border-top: 2px solid var(--pj-accent);
	background: #fff;
	counter-increment: pj-step;
}

.pj-step:before {
	content: "0" counter(pj-step);
	display: block;
	margin-bottom: 8px;
	font-family: 'Jost*', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .1em;
	color: var(--pj-accent);
}

.pj-step p {
	margin: 6px 0 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--pj-muted);
}

/* --- SSS ---------------------------------------------------------------- */

.pj-faq {
	max-width: 46em;
	margin: 18px auto 0;
	border-top: 1px solid var(--pj-line);
}

.pj-faq details {
	border-bottom: 1px solid var(--pj-line);
}

.pj-faq summary {
	padding: 16px 0;
	font-family: 'Jost*', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--pj-ink);
	cursor: pointer;
	list-style: none;
}

.pj-faq summary::-webkit-details-marker {
	display: none;
}

.pj-faq summary:before {
	content: "+";
	display: inline-block;
	width: 20px;
	color: var(--pj-accent);
	font-weight: 400;
}

.pj-faq details[open] summary:before {
	content: "–";
}

.pj-faq details p {
	margin: 0 0 16px;
	padding-left: 20px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--pj-muted);
}

/* --- Benzer projeler ----------------------------------------------------- */

.pj-related {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	background: var(--pj-line);
	border: 1px solid var(--pj-line);
}

.pj-related-item {
	background: #fff;
}

.pj-related-item a {
	display: block;
	padding: 20px 22px;
	color: inherit;
	transition: background-color .25s ease;
}

.pj-related-item a:hover {
	background: var(--pj-cream);
	color: inherit;
}

.pj-related-name {
	display: block;
	font-family: 'Jost*', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--pj-accent);
}

.pj-related-meta {
	display: block;
	margin-top: 3px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--pj-muted);
}

/* --- Kapanis / cagri ---------------------------------------------------- */

.pj-cta {
	margin: calc(30px + 2.4vw) 0 0;
	padding: calc(24px + 1.6vw);
	background: var(--pj-cream);
	text-align: center;
}

.pj-cta p {
	max-width: 40em;
	margin: 0 auto;
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--pj-muted);
}

.pj-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 20px 0 0;
}

.pj-btn {
	display: inline-block;
	padding: 12px 24px;
	border: 1px solid var(--pj-accent);
	font-family: 'Jost*', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pj-accent);
	transition: background-color .25s ease, color .25s ease;
}

.pj-btn:hover {
	background: var(--pj-accent);
	color: #fff;
}

.pj-btn-primary {
	background: var(--pj-accent);
	color: #fff;
}

.pj-btn-primary:hover {
	background: #2c00ff;
	border-color: #2c00ff;
	color: #fff;
}

/* --- Alt gezinme -------------------------------------------------------- */

.pj-back {
	margin: calc(20px + 1.5vw) 0 0;
	font-size: 14.5px;
	text-align: center;
	color: var(--pj-muted);
}

.pj-back a {
	color: var(--pj-accent);
	border-bottom: 1px solid currentColor;
}

/* --- Mobil -------------------------------------------------------------- */

@media only screen and (max-width: 767px) {

	.pj-fact {
		padding: 14px 16px;
	}

	.pj-card {
		padding: 22px 20px;
	}

	.pj-cta {
		padding: 24px 18px;
	}

	.pj-btn {
		width: 100%;
		text-align: center;
	}
}
