/* Elevatora antetli belge araçları — ekran + baskı.
 *
 * Baskı kuralı: DOLGU YOK. Tarayıcı varsayılanda arka plan rengi/resmi
 * basmaz; dolguya dayanan bir tasarım kullanıcıda boş kutu olarak çıkar.
 * Bütün ayrımlar çizgiyle yapılır. Logo <img> olduğu için basılır.
 */

.elv-belge-arac {
	--kagit: #fff;
	--mur: #0F172A;
	--gri: #64748B;
	--cizgi: #E2E8F0;
	--kalin: #94A3B8;
	--marka: #15803D;
	--eylem: #16A34A;
	margin: 2.5rem 0 3rem;
}

/* ---------- düzen ---------- */

.elv-belge-duzen {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: 1fr;
	align-items: start;
}

@media (min-width: 1040px) {
	.elv-belge-duzen {
		grid-template-columns: minmax(320px, 380px) minmax(440px, 1fr);
		gap: 2.25rem;
	}

	.elv-belge-sutun-onizleme {
		position: sticky;
		top: 96px;
	}
}

/* ---------- form ---------- */

.elv-belge-form {
	border: 1px solid var(--cizgi);
	border-radius: 14px;
	padding: 1.25rem;
	background: #fff;
}

.elv-belge-form h3 {
	font-size: .8rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--gri);
	margin: 1.5rem 0 .75rem;
	font-weight: 600;
}

.elv-belge-form h3:first-child { margin-top: 0; }

.elv-belge-alan {
	display: block;
	margin-bottom: .8rem;
}

.elv-belge-alan > span {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--mur);
	margin-bottom: .3rem;
}

.elv-belge-alan > small {
	display: block;
	font-size: .74rem;
	color: var(--gri);
	margin-top: .25rem;
	line-height: 1.4;
}

.elv-belge-arac input[type="text"],
.elv-belge-arac input[type="tel"],
.elv-belge-arac input[type="email"],
.elv-belge-arac input[type="date"],
.elv-belge-arac input[type="number"],
.elv-belge-arac select,
.elv-belge-arac textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: .92rem;
	color: var(--mur);
	background: #fff;
	border: 1px solid var(--cizgi);
	border-radius: 9px;
	padding: .55rem .7rem;
	-webkit-appearance: none;
	appearance: none;
}

.elv-belge-arac select {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .7rem center;
	background-size: 11px;
	padding-right: 2rem;
}

.elv-belge-arac textarea { min-height: 78px; resize: vertical; }

.elv-belge-arac input:focus,
.elv-belge-arac select:focus,
.elv-belge-arac textarea:focus {
	outline: 2px solid var(--eylem);
	outline-offset: 1px;
	border-color: var(--eylem);
}

.elv-belge-ikili {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .7rem;
}

/* onay kutusu listesi */
.elv-belge-secim {
	display: grid;
	gap: .45rem;
	margin: 0 0 .9rem;
	padding: 0;
	border: 0;
}

.elv-belge-secim label {
	display: flex;
	gap: .55rem;
	align-items: flex-start;
	font-size: .87rem;
	line-height: 1.45;
	color: var(--mur);
	cursor: pointer;
}

.elv-belge-secim input[type="checkbox"],
.elv-belge-secim input[type="radio"] {
	margin: .2rem 0 0;
	flex: 0 0 auto;
	accent-color: var(--eylem);
	width: 16px;
	height: 16px;
}

.elv-belge-secim label span small {
	display: block;
	color: var(--gri);
	font-size: .78rem;
}

/* ---------- eylem düğmeleri ---------- */

.elv-belge-eylem {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0 0 1rem;
}

.elv-belge-eylem button {
	font: inherit;
	font-size: .88rem;
	font-weight: 600;
	border-radius: 10px;
	padding: .62rem 1.05rem;
	cursor: pointer;
	border: 1px solid var(--cizgi);
	background: #fff;
	color: var(--mur);
}

.elv-belge-eylem button.is-birincil {
	background: var(--eylem);
	border-color: var(--eylem);
	color: #fff;
}

.elv-belge-eylem button:hover { border-color: var(--kalin); }
.elv-belge-eylem button.is-birincil:hover { background: var(--marka); border-color: var(--marka); }

/* belge seçici (bir araç birden çok belge üretiyorsa) */
.elv-belge-sekme {
	display: flex;
	gap: .4rem;
	flex-wrap: wrap;
	margin: 0 0 .9rem;
}

.elv-belge-sekme button {
	font: inherit;
	font-size: .84rem;
	font-weight: 600;
	padding: .45rem .85rem;
	border-radius: 999px;
	border: 1px solid var(--cizgi);
	background: #fff;
	color: var(--gri);
	cursor: pointer;
}

.elv-belge-sekme button[aria-selected="true"] {
	border-color: var(--mur);
	color: var(--mur);
}

/* ---------- KAĞIT ---------- */

.elv-belge-kagit {
	background: var(--kagit);
	color: var(--mur);
	border: 1px solid var(--cizgi);
	border-radius: 4px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, .07);
	padding: 12mm 11mm;
	font-size: 10.5pt;
	line-height: 1.45;
	overflow-wrap: break-word;
}

.elv-belge-kagit[hidden] { display: none; }

/* antet */
.elv-antet {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 7px;
}

.elv-antet img {
	width: 40mm;
	max-width: 44%;
	height: auto;
	display: block;
}

.elv-antet-yan {
	text-align: right;
	font-size: 8pt;
	line-height: 1.5;
	color: var(--gri);
}

.elv-antet-yan strong {
	display: block;
	color: var(--mur);
	font-size: 8.5pt;
	font-weight: 600;
}

.elv-antet-cizgi {
	height: 0;
	border-top: 2px solid var(--mur);
	margin-bottom: 2px;
}

.elv-antet-cizgi + .elv-antet-cizgi {
	border-top: 1px solid var(--kalin);
	margin-bottom: 9px;
}

/* başlık bloğu */
.elv-belge-baslik h2 {
	font-size: 14pt;
	line-height: 1.25;
	margin: 0 0 4px;
	letter-spacing: -.01em;
	font-weight: 700;
}

.elv-belge-kimlik {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem 1.2rem;
	font-size: 8.5pt;
	color: var(--gri);
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--cizgi);
}

.elv-belge-kimlik b { color: var(--mur); font-weight: 600; }

/* taraflar */
.elv-belge-taraflar {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border: 1px solid var(--cizgi);
	margin-bottom: 9px;
}

.elv-belge-taraflar > div { padding: 7px 9px; }
.elv-belge-taraflar > div + div { border-left: 1px solid var(--cizgi); }

.elv-belge-etiket {
	display: block;
	font-size: 7pt;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gri);
	font-weight: 700;
	margin-bottom: 3px;
}

.elv-belge-taraflar p { margin: 0 0 1px; font-size: 9pt; line-height: 1.4; }
.elv-belge-taraflar p b { font-weight: 600; }

/* bölüm */
.elv-belge-bolum { margin-bottom: 9px; }

.elv-belge-bolum > h3 {
	font-size: 8pt;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--gri);
	font-weight: 700;
	margin: 0 0 4px;
	padding-bottom: 3px;
	border-bottom: 1px solid var(--cizgi);
}

.elv-belge-bolum p { margin: 0 0 4px; font-size: 9.5pt; }
.elv-belge-bolum ul,
.elv-belge-bolum ol { margin: 0 0 4px; padding-left: 1.1rem; font-size: 9.5pt; }
.elv-belge-bolum li { margin-bottom: 2px; }

/* künye satırı — asansör bilgileri */
.elv-belge-kunye {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
	border: 1px solid var(--cizgi);
	font-size: 8.5pt;
}

.elv-belge-kunye > div { padding: 5px 8px; }
.elv-belge-kunye > div + div { border-left: 1px solid var(--cizgi); }
.elv-belge-kunye span {
	display: block;
	font-size: 7pt;
	color: var(--gri);
	text-transform: uppercase;
	letter-spacing: .07em;
	font-weight: 700;
}
.elv-belge-kunye b { font-weight: 600; font-size: 9pt; }

/* tablo */
.elv-belge-tablo {
	width: 100%;
	border-collapse: collapse;
	font-size: 9pt;
	margin-bottom: 5px;
}

.elv-belge-tablo th {
	text-align: left;
	font-size: 7.5pt;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--gri);
	font-weight: 700;
	padding: 4px 6px;
	border-bottom: 1.5px solid var(--mur);
	white-space: nowrap;
}

.elv-belge-tablo td {
	padding: 5px 6px;
	border-bottom: 1px solid var(--cizgi);
	vertical-align: top;
}

.elv-belge-tablo .sag { text-align: right; }
.elv-belge-tablo .dar { width: 1%; white-space: nowrap; }
.elv-belge-tablo tfoot td {
	border-bottom: 0;
	border-top: 1px solid var(--cizgi);
	font-weight: 600;
	padding-top: 5px;
}
.elv-belge-tablo tfoot tr:last-child td {
	border-top: 1.5px solid var(--mur);
	font-size: 10pt;
}

.elv-belge-bos {
	font-size: 9pt;
	color: var(--gri);
	font-style: italic;
	margin: 2px 0 6px;
}

/* not kutusu — dolgu yok, çizgi var */
.elv-belge-not {
	border-left: 3px solid var(--kalin);
	padding: 5px 0 5px 9px;
	font-size: 8.5pt;
	line-height: 1.45;
	color: var(--mur);
	margin: 0 0 9px;
}

.elv-belge-not b { font-weight: 700; }

/* imza */
.elv-belge-imza {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12mm;
	margin-top: 12px;
	page-break-inside: avoid;
	break-inside: avoid;
}

.elv-belge-imza div {
	border-top: 1px solid var(--kalin);
	padding-top: 4px;
	font-size: 8pt;
	color: var(--gri);
	line-height: 1.5;
}

.elv-belge-imza b { display: block; color: var(--mur); font-size: 8.5pt; font-weight: 600; }

/* alt bant — pazarlama yükü */
.elv-belge-bant {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	margin-top: 12px;
	padding-top: 7px;
	border-top: 1.5px solid var(--mur);
	page-break-inside: avoid;
	break-inside: avoid;
}

.elv-belge-bant img {
	width: 20mm;
	height: 20mm;
	flex: 0 0 auto;
	display: block;
}

.elv-belge-bant-metin {
	font-size: 7.5pt;
	line-height: 1.45;
	color: var(--gri);
}

.elv-belge-bant-metin strong {
	display: block;
	color: var(--mur);
	font-size: 8.5pt;
	font-weight: 700;
	margin-bottom: 1px;
}

.elv-belge-bant-metin em { font-style: normal; color: var(--mur); font-weight: 600; }

/* ekranda kağıdın üstündeki uyarı */
.elv-belge-ipucu {
	font-size: .82rem;
	color: var(--gri);
	line-height: 1.5;
	margin: .7rem 0 0;
}

/* ---------- teşhis sonucu (ekran) ---------- */

.elv-teshis-sonuc { display: grid; gap: .7rem; margin-bottom: 1rem; }

.elv-teshis-kart {
	border: 1px solid var(--cizgi);
	border-left: 4px solid var(--kalin);
	border-radius: 10px;
	padding: .85rem 1rem;
	background: #fff;
}

.elv-teshis-kart[data-aciliyet="acil-durdur"] { border-left-color: #B91C1C; }
.elv-teshis-kart[data-aciliyet="ayni-gun"] { border-left-color: #C2410C; }
.elv-teshis-kart[data-aciliyet="plansiz-servis"] { border-left-color: #A16207; }
.elv-teshis-kart[data-aciliyet="planli-bakimda"] { border-left-color: var(--eylem); }

.elv-teshis-kart h3 { margin: 0 0 .2rem; font-size: 1rem; line-height: 1.35; }

.elv-teshis-rozet {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--gri);
	margin-bottom: .35rem;
}

.elv-teshis-kart ul { margin: .3rem 0 .4rem; padding-left: 1.1rem; font-size: .88rem; line-height: 1.5; }
.elv-teshis-kart p { margin: .3rem 0; font-size: .88rem; line-height: 1.5; }

/* ---------- BASKI ---------- */

@media print {
	@page {
		size: A4 portrait;
		margin: 11mm 10mm 10mm;
	}

	/* Kağıdı gövdenin doğrudan çocuğu olan baskı köküne klonlayıp basıyoruz.
	 * Önceki sürüm kağıdı `position:absolute` yapıyordu; mutlak konumlu blok
	 * Chrome'da sayfalara BÖLÜNMEZ — dolu bir arıza formu 190mm genişlikte
	 * 390mm oluyor ve ikinci sayfa hiç basılmıyordu. Normal akışta kalınca
	 * tarayıcı kendi sayfalama motorunu kullanır. */
	body.elv-belge-yazdir > * { display: none !important; }

	body.elv-belge-yazdir > .elv-belge-baski-kok { display: block !important; }

	.elv-belge-baski-kok .elv-belge-kagit {
		width: auto;
		max-width: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		background: #fff;
		font-size: 10pt;
	}

	/* çizgiler renkli kalsın diye değil, silinmesin diye */
	.elv-belge-baski-kok,
	.elv-belge-baski-kok * {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.elv-belge-tablo { page-break-inside: auto; }
	.elv-belge-tablo tr { page-break-inside: avoid; break-inside: avoid; }
	.elv-belge-bolum { page-break-inside: avoid; break-inside: avoid; }
	.elv-antet { page-break-after: avoid; }
}

/* ---------- kalem tablosu (formdaki ekle/sil satırları) ---------- */

.elv-kalem-kutu {
	border: 1px solid var(--cizgi);
	border-radius: 12px;
	padding: .8rem;
	margin-bottom: .9rem;
}

.elv-kalem-satir {
	display: flex;
	gap: .5rem;
	align-items: flex-end;
	margin-bottom: .5rem;
}

.elv-kalem-satir:last-child { margin-bottom: 0; }

.elv-kalem-alan {
	display: block;
	min-width: 0;
}

.elv-kalem-alan > span {
	display: block;
	font-size: .7rem;
	font-weight: 600;
	color: var(--gri);
	margin-bottom: .2rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.elv-kalem-satir:not(:first-child) .elv-kalem-alan > span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.elv-kalem-alan input { font-size: .86rem !important; padding: .45rem .55rem !important; }

.elv-kalem-sil {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	border: 1px solid var(--cizgi);
	background: #fff;
	color: var(--gri);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}

.elv-kalem-sil:hover { border-color: #B91C1C; color: #B91C1C; }

.elv-kalem-ekle {
	font: inherit;
	font-size: .84rem;
	font-weight: 600;
	color: var(--marka);
	background: none;
	border: 1px dashed var(--cizgi);
	border-radius: 8px;
	padding: .45rem .8rem;
	cursor: pointer;
	width: 100%;
	margin-top: .5rem;
}

.elv-kalem-ekle:hover { border-color: var(--eylem); }

@media (max-width: 640px) {
	.elv-kalem-satir { flex-wrap: wrap; }
	.elv-kalem-alan { flex: 1 1 100% !important; }
	.elv-kalem-satir:not(:first-child) .elv-kalem-alan > span {
		position: static;
		width: auto;
		height: auto;
		clip: auto;
		clip-path: none;
	}
	.elv-belge-ikili { grid-template-columns: 1fr; }
}

/* ---------- referans / özet kutusu (ekran) ---------- */

.elv-belge-referans {
	border: 1px solid var(--cizgi);
	border-left: 4px solid var(--eylem);
	border-radius: 10px;
	padding: .8rem 1rem;
	margin-bottom: 1rem;
	font-size: .9rem;
	line-height: 1.5;
	background: #fff;
}

.elv-belge-referans p { margin: 0 0 .4rem; }
.elv-belge-referans p:last-child { margin-bottom: 0; }
.elv-belge-referans .elv-belge-ipucu { margin-top: .4rem; }

/* ------------------------------------------------------------------ *
 * Tema başlık ölçeğini araç içinde kes.
 * Ölçüm (2026-08-26, canlı): `.elementor-kit-16 h2` kağıdın başlığını
 * 80px'e, `.elev-seo h3` bölüm ve form başlıklarını 26px'e çıkarıyordu.
 * İkisi de bizim kurallarımızla aynı özgüllükte ya da !important'lı, o
 * yüzden sıralama yetmiyor — kapsayıcıyla özgüllüğü artırıp kilitliyoruz.
 * Kağıt 10.5pt tabanlıdır; başlık ölçeği kaçarsa A4 çıktısı taşar.
 * ------------------------------------------------------------------ */
.elv-belge-arac .elv-belge-baslik h2 {
	font-size: 14pt !important;
	line-height: 1.25 !important;
	letter-spacing: -.01em !important;
	font-weight: 700 !important;
	margin: 0 0 4px !important;
	text-transform: none !important;
}
.elv-belge-arac .elv-belge-bolum > h3 {
	font-size: 8pt !important;
	line-height: 1.3 !important;
	letter-spacing: .09em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	margin: 0 0 4px !important;
}
.elv-belge-arac .elv-belge-form h3 {
	font-size: .8rem !important;
	line-height: 1.3 !important;
	letter-spacing: .09em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	margin: 1.5rem 0 .75rem !important;
}
.elv-belge-arac .elv-belge-form h3:first-child { margin-top: 0 !important; }
.elv-belge-arac .elv-teshis-kart h3 {
	font-size: 1rem !important;
	line-height: 1.35 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	margin: 0 0 .2rem !important;
}

/* Baskı kökü yalnız yazdırma anında var olur; ekranda yer kaplamaz. */
.elv-belge-baski-kok { display: none; }

/* Tema tablolara `table-layout: fixed` veriyor; bizim `.dar { width: 1% }`
 * daralt-deyimimiz orada gerçek %1 oluyor ve "Dâhil mi?" / "Bedel" sütunları
 * 6px'e eziliyordu (ölçüm: clientWidth 6, scrollWidth 96). Otomatik düzende
 * %1 "içeriğe göre daralt" demektir. */
.elv-belge-arac .elv-belge-tablo { table-layout: auto !important; }

/* Yedi sütunlu sipariş tablosunda başlıklardaki `nowrap`, sütunların
 * en-küçük genişliğini büyütüp tabloyu kağıttan taşırıyordu (ölçüm: 773px
 * tablo / 719px kağıt içi). Başlık satır kırabilir; kırılmaması gereken
 * yalnız sayı hücreleridir. */
.elv-belge-arac .elv-belge-tablo th { white-space: normal; }
.elv-belge-arac .elv-belge-tablo td.sag,
.elv-belge-arac .elv-belge-tablo th.sag { white-space: nowrap; }

/* Altı ve üzeri sütunlu tablolarda hücre dolgusu tabloyu kağıdın iç
 * genişliğinden 25px taşırıyordu (744px tablo / 719px iç genişlik) — taşan
 * kısım sağ kenar boşluğunu yiyor. Dolguyu daraltmak, punto düşürmeden
 * yeterli yeri açıyor. */
.elv-belge-arac .elv-belge-tablo th { padding: 4px 6px !important; }
.elv-belge-arac .elv-belge-tablo td { padding: 5px 6px !important; }
.elv-belge-arac .elv-belge-tablo:has(th:nth-child(6)) th,
.elv-belge-arac .elv-belge-tablo:has(th:nth-child(6)) td {
	padding-left: 3px !important;
	padding-right: 3px !important;
}
