/* Kahveeci Toptan — portal stilleri
   Tüm kurallar .kt-portal altında kapsamlandı; tema (WoodMart) stilleriyle
   çakışmaz. Yazı tipi ve genel renkler temadan miras alınır, burada sadece
   sipariş tablosuna ve bayi çubuğuna özel düzen tanımlanır. */

.kt-portal {
	--kt-cizgi: #E2D9CD;
	--kt-solgun: #7A6E63;
	--kt-uyari: #A4341F;
	--kt-zemin: #FAF7F3;
	/* --kt-damga ve --kt-vurgu ayarlardan enjekte edilir. */

	font-variant-numeric: tabular-nums;
	padding: 1.5rem 0 3rem;
}

.kt-portal *, .kt-portal *::before, .kt-portal *::after { box-sizing: border-box; }

.kt-portal .kt-wrap { width: min(1180px, 100% - 2rem); margin-inline: auto; }
.kt-portal .kt-main { display: block; }

.kt-portal h1 { font-size: 1.5rem; margin: 0 0 .4rem; }
.kt-portal h2 { font-size: 1.1rem; margin: 0 0 .9rem; }
.kt-portal p { margin: 0 0 1rem; }

.kt-portal .kt-muted { color: var(--kt-solgun); font-size: .9rem; }
.kt-portal .kt-sayi { text-align: right; }
.kt-portal .kt-gizli-etiket {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap;
}
.kt-portal .kt-gizli-alan { position: absolute; left: -9999px; }
.kt-portal .kt-yasal {
	margin-top: 2.5rem; padding-top: 1rem;
	border-top: 1px solid var(--kt-cizgi);
	font-size: .8rem; color: var(--kt-solgun);
}

/* ---- Bayi çubuğu ---- */

.kt-portal .kt-ustbar {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem 1.5rem; flex-wrap: wrap;
	padding: .7rem 1rem; margin-bottom: 1.75rem;
	background: var(--kt-zemin); border: 1px solid var(--kt-cizgi);
	border-radius: 3px;
}
.kt-portal .kt-ustbar-kimlik { display: flex; align-items: center; gap: .7rem; }
.kt-portal .kt-rozet {
	background: var(--kt-damga, #3B2A20); color: #fff;
	font-size: .7rem; font-weight: 700; letter-spacing: .04em;
	text-transform: uppercase; padding: 3px 8px; border-radius: 2px;
}
.kt-portal .kt-firma { font-weight: 600; font-size: .92rem; }

.kt-portal .kt-nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.kt-portal .kt-nav a {
	font-size: .88rem; text-decoration: none;
	padding-bottom: 2px; border-bottom: 2px solid transparent;
}
.kt-portal .kt-nav a.kt-on { border-bottom-color: var(--kt-damga, #3B2A20); font-weight: 600; }

/* ---- Giriş ekranı ---- */

.kt-portal .kt-split {
	display: grid; gap: 2.5rem;
	grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
	align-items: start;
}
.kt-portal .kt-intro h1 { font-size: 1.85rem; max-width: 20ch; line-height: 1.2; }
.kt-portal .kt-intro > p { max-width: 54ch; color: var(--kt-solgun); }

.kt-portal .kt-facts {
	margin: 1.75rem 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
	border-top: 1px solid var(--kt-cizgi);
}
.kt-portal .kt-facts > div {
	padding: .8rem 1.5rem .8rem 0;
	border-bottom: 1px solid var(--kt-cizgi);
}
.kt-portal .kt-facts dt { font-size: .78rem; color: var(--kt-solgun); margin-bottom: 2px; }
.kt-portal .kt-facts dd { margin: 0; font-weight: 600; }

.kt-portal .kt-panel {
	background: #fff; border: 1px solid var(--kt-cizgi);
	padding: 1.6rem; border-radius: 3px;
}
.kt-portal .kt-panel-tek { max-width: 720px; }
.kt-portal .kt-cta-satir { font-size: .9rem; }

/* ---- Formlar ---- */

.kt-portal label { display: block; font-size: .82rem; color: var(--kt-solgun); margin-bottom: .3rem; }
.kt-portal input[type=text], .kt-portal input[type=email],
.kt-portal input[type=password], .kt-portal input[type=tel],
.kt-portal input[type=search], .kt-portal input[type=number] {
	width: 100%; padding: .58rem .7rem;
	border: 1px solid var(--kt-cizgi); background: #fff;
	font: inherit; color: inherit; border-radius: 2px;
}
.kt-portal .kt-giris input { margin-bottom: .9rem; }
.kt-portal .kt-form small { display: block; font-size: .76rem; color: var(--kt-solgun); margin-top: .25rem; }

.kt-portal .kt-form-grid { display: grid; gap: 1rem 1.2rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.kt-portal .kt-form-grid p { margin: 0; }
.kt-portal .kt-genis { grid-column: 1 / -1; }

.kt-portal .kt-onay { margin: 1.4rem 0; }
.kt-portal .kt-onay label { display: flex; gap: .5rem; align-items: flex-start; color: inherit; font-size: .85rem; }
.kt-portal .kt-onay input { width: auto; margin-top: .2rem; }

.kt-portal .kt-btn {
	background: var(--kt-damga, #3B2A20); color: #fff; border: 0;
	padding: .68rem 1.35rem; font: 600 .93rem/1 inherit;
	border-radius: 2px; cursor: pointer;
}
.kt-portal .kt-btn:hover { background: var(--kt-damga-koyu, #2A1D16); color: #fff; }
.kt-portal .kt-btn-ince { padding: .52rem 1rem; font-size: .86rem; }

.kt-portal .kt-uyari {
	background: #FBEDE9; border-left: 3px solid var(--kt-uyari);
	color: var(--kt-uyari); padding: .7rem .9rem; font-size: .875rem;
}
.kt-portal .kt-basari {
	background: #EFF6F1; border-left: 3px solid #3F7D5C;
	color: #2F5F45; padding: .7rem .9rem; font-size: .875rem;
}

/* ---- Eylem satırı ---- */

.kt-portal .kt-eylemler {
	display: flex; align-items: center; gap: 1.25rem;
	flex-wrap: wrap; margin-top: 1.5rem;
}
.kt-portal .kt-eylemler .kt-btn { text-decoration: none; display: inline-block; }

/* ---- Hesap tipi seçimi ---- */

.kt-portal .kt-tip-secim {
	border: 0; padding: 0; margin: 0 0 1.4rem;
	display: block;
	min-width: 0; /* fieldset varsayılan min-width'i grid'i taşırır */
}
.kt-portal .kt-tip-secim legend {
	font-size: .82rem; color: var(--kt-solgun);
	padding: 0; margin-bottom: .45rem;
}
.kt-portal .kt-tip-liste {
	display: grid; gap: .6rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
}
.kt-portal .kt-tip {
	display: flex; gap: .6rem; align-items: flex-start;
	border: 1px solid var(--kt-cizgi); border-radius: 3px;
	padding: .75rem .85rem; cursor: pointer; background: #fff;
	color: inherit; font-size: inherit; margin: 0;
}
.kt-portal .kt-tip:has(input:checked) {
	border-color: var(--kt-damga, #3B2A20);
	background: var(--kt-zemin);
}
.kt-portal .kt-tip input { width: auto; margin-top: .2rem; }
.kt-portal .kt-tip strong { display: block; font-size: .92rem; }
.kt-portal .kt-tip small { display: block; color: var(--kt-solgun); font-size: .78rem; margin-top: 2px; }

.kt-portal [hidden] { display: none !important; }

/* ---- Fiyat listesi ---- */

.kt-portal .kt-liste-basi {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.25rem;
}
.kt-portal .kt-ara { display: flex; gap: .5rem; }
.kt-portal .kt-ara input { width: 250px; }

.kt-portal .kt-kategoriler {
	display: flex; gap: .4rem; flex-wrap: wrap;
	margin-bottom: 1.25rem; padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--kt-cizgi);
}
.kt-portal .kt-kategoriler a {
	font-size: .84rem; text-decoration: none; color: var(--kt-solgun);
	padding: .33rem .72rem; border: 1px solid var(--kt-cizgi);
	border-radius: 2px; background: #fff;
}
.kt-portal .kt-kategoriler a:hover { border-color: var(--kt-vurgu, #A9714B); }
.kt-portal .kt-kategoriler a.kt-on {
	background: var(--kt-damga, #3B2A20); border-color: var(--kt-damga, #3B2A20); color: #fff;
}

.kt-portal .kt-tablo { width: 100%; border-collapse: collapse; background: #fff; margin: 0; }
.kt-portal .kt-tablo thead th {
	text-align: left; font-size: .75rem; font-weight: 700; color: var(--kt-solgun);
	text-transform: uppercase; letter-spacing: .03em;
	padding: .6rem .7rem; border-bottom: 2px solid var(--kt-damga, #3B2A20);
	background: #fff;
}
.kt-portal .kt-tablo th.kt-s-fiyat,
.kt-portal .kt-tablo th.kt-s-tutar,
.kt-portal .kt-tablo th.kt-s-adet { text-align: right; }
.kt-portal .kt-tablo tbody th, .kt-portal .kt-tablo tbody td {
	padding: .58rem .7rem; border-bottom: 1px solid var(--kt-cizgi);
	font-weight: 400; text-align: left; vertical-align: middle;
}
.kt-portal .kt-tablo tbody th { font-weight: 500; }
.kt-portal .kt-tablo tbody th small { display: block; font-size: .74rem; color: var(--kt-solgun); }
.kt-portal .kt-urun-link {
	color: inherit; text-decoration: none;
	border-bottom: 1px solid transparent;
}
.kt-portal .kt-urun-link:hover,
.kt-portal .kt-urun-link:focus-visible {
	color: var(--kt-damga, #3B2A20);
	border-bottom-color: currentColor;
}
.kt-portal .kt-s-gorsel a { display: block; }
.kt-portal .kt-tablo tbody tr:hover { background: var(--kt-zemin); }
.kt-portal .kt-s-gorsel { width: 60px; padding-right: 0; }
.kt-portal .kt-s-gorsel img,
.kt-portal .kt-urun-gorsel {
	width: 44px; height: 44px; object-fit: cover;
	border-radius: 3px; display: block; background: var(--kt-zemin);
}
.kt-portal .kt-s-kod { color: var(--kt-solgun); font-size: .85rem; }
.kt-portal .kt-s-stok { font-size: .85rem; }
.kt-portal .kt-s-fiyat, .kt-portal .kt-s-tutar { text-align: right; white-space: nowrap; }
.kt-portal .kt-s-adet { text-align: right; }
.kt-portal .kt-adet { width: 92px; text-align: right; padding: .38rem .5rem; }
.kt-portal .kt-stoksuz { opacity: .5; }
.kt-portal .kt-satir-tutar { color: var(--kt-solgun); }
.kt-portal .kt-satir-tutar.kt-dolu { color: inherit; font-weight: 600; }

/* ---- Sepet özeti ---- */

.kt-portal .kt-ozet {
	position: sticky; bottom: 0; margin-top: 1.1rem; z-index: 5;
	display: flex; align-items: center; justify-content: space-between;
	gap: 1.25rem; flex-wrap: wrap;
	background: var(--kt-damga, #3B2A20); color: #fff;
	padding: .9rem 1.15rem; border-radius: 3px;
}
.kt-portal .kt-ozet-bilgi { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; }
.kt-portal .kt-ozet-etiket { font-size: .8rem; opacity: .72; }
.kt-portal .kt-ozet-tutar { font-size: 1.2rem; font-weight: 700; }
.kt-portal .kt-ozet-min { font-size: .8rem; color: #E9B08C; }

.kt-portal .kt-bos { color: var(--kt-solgun); padding: 2.5rem 0; }

/* ---- Tema başlık bloğu ----
   Portal sanal sayfa olduğu için tema tepeye blog başlığı basabiliyor.
   PHP filtresi tutmazsa buradan gizlenir. */

body.kt-portal-sayfa .page-title,
body.kt-portal-sayfa .title-shop,
body.kt-portal-sayfa .page-title-default,
body.kt-portal-sayfa .wd-page-title { display: none !important; }

/* ---- Perakende taraftaki KDV notu ---- */

.kt-kdv-not { font-size: .75em; color: #7A6E63; font-weight: 400; }

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

@media (max-width: 860px) {
	.kt-portal .kt-split { grid-template-columns: 1fr; }
	.kt-portal .kt-form-grid { grid-template-columns: 1fr; }
	.kt-portal .kt-tip-liste { grid-template-columns: 1fr; }
	.kt-portal .kt-ara, .kt-portal .kt-ara input { width: 100%; }
	.kt-portal .kt-ustbar { gap: .6rem; }

	.kt-portal .kt-tablo thead { display: none; }
	.kt-portal .kt-tablo,
	.kt-portal .kt-tablo tbody,
	.kt-portal .kt-tablo tr,
	.kt-portal .kt-tablo th,
	.kt-portal .kt-tablo td { display: block; width: 100%; }
	.kt-portal .kt-tablo tr {
		border: 1px solid var(--kt-cizgi); margin-bottom: .7rem;
		padding: .5rem; background: #fff; border-radius: 3px;
	}
	.kt-portal .kt-tablo tbody th,
	.kt-portal .kt-tablo tbody td { border: 0; padding: .28rem .25rem; text-align: left; }
	.kt-portal .kt-tablo tbody th { font-size: 1rem; font-weight: 600; }
	.kt-portal .kt-s-gorsel { float: left; margin-right: .75rem; width: auto; }
	.kt-portal .kt-tablo tbody td.kt-s-gorsel { padding: .25rem; }
	.kt-portal .kt-s-kod::before { content: "Kod: "; color: var(--kt-solgun); }
	.kt-portal .kt-s-stok::before { content: "Stok: "; color: var(--kt-solgun); }
	.kt-portal .kt-s-fiyat::before { content: "Birim fiyat: "; color: var(--kt-solgun); }
	.kt-portal .kt-s-tutar::before { content: "Satır tutarı: "; color: var(--kt-solgun); }
	.kt-portal .kt-adet { width: 110px; }
}

@media (prefers-reduced-motion: reduce) {
	.kt-portal * { animation: none !important; transition: none !important; }
}
