/**
 * Hezarfen returns — customer facing styles.
 *
 * TASARIM SİSTEMİ KURALLARI
 *
 * 1. KAPSAM. Her şey `.hez-returns` kökünün altında yaşar; modül temaya
 *    sızmaz. Kök dışında yaşayan tek istisna `.hez-select2-dropdown`, çünkü
 *    selectWoo açılır paneli <body>'ye taşınıyor.
 *
 * 2. ÖZGÜLLÜK ÇAPASI. Bileşen seçicileri `.hez-returns:not(#\9)` ile başlar.
 *    `#\9` kaçırılmış bir sekme karakteridir; hiçbir öğenin kimliği bu
 *    olamaz, dolayısıyla seçici HİÇBİR ŞEYİ dışlamaz -- ama seçiciye bir
 *    kimlik ağırlığı kazandırır.
 *
 *    Neden gerekli: tema kuralları sıradan sınıf zincirlerimizi rahatça
 *    yeniyordu. Storefront içerik bağlantılarını `.hentry .entry-content a`
 *    (0,2,1) ile çiziyor ve yalnızca kendi `a.button` sınıfını muaf tutuyor;
 *    bizim bağlantı butonlarımız altı çizili çıkıyordu. Aynı şekilde
 *    `input[type=text]` (0,1,1) tek sınıfımızı yenip alanları farklı renge
 *    boyuyordu. Çapa bu yarışı özgüllük düzeyinde ve öngörülebilir biçimde
 *    bitiriyor; `!important` yağmuruna gerek kalmıyor.
 *
 *    Kendi kurallarımızın hepsi aynı ağırlığı aldığı için modül içindeki
 *    sıralama bozulmaz: aramızdaki kazananı yine kaynak sırası belirler.
 *
 * 3. TOKEN'LAR BİLİNÇLİ OLARAK ÇAPASIZ. Renk ve ölçü değişkenleri düz
 *    `.hez-returns` üzerinde tanımlanır ki tema `.hez-returns { --hez-accent:
 *    ... }` yazarak modülü kendi paletine boyayabilsin. Sistemin dışarıya
 *    açık tek yüzeyi burasıdır; görsel özellikler değil, değişkenler
 *    ezilmelidir.
 *
 * 4. YENİ KURAL EKLERKEN. Seçiciyi `.hez-returns:not(#\9) .hez-yeni-sinif`
 *    biçiminde yaz. Çapasız bırakılan her kural, ilk agresif temada kırılır.
 */

/* Token'lar: tema bunları ezebilir (bkz. kural 3). */

.hez-returns {
	--hez-bg: #ffffff;
	--hez-bg-muted: #f8fafc;
	--hez-border: #e2e8f0;
	--hez-border-strong: #cbd5e1;
	--hez-text: #0f172a;
	--hez-text-muted: #64748b;
	--hez-accent: #2563eb;
	--hez-accent-strong: #1d4ed8;
	--hez-accent-contrast: #ffffff;
	--hez-success: #15803d;
	--hez-success-bg: #dcfce7;
	--hez-warning: #b45309;
	--hez-warning-bg: #fef3c7;
	--hez-danger: #b91c1c;
	--hez-danger-bg: #fee2e2;
	--hez-info: #1d4ed8;
	--hez-info-bg: #dbeafe;
	--hez-neutral: #475569;
	--hez-neutral-bg: #f1f5f9;
	--hez-radius: 10px;
	--hez-radius-sm: 6px;
	--hez-gap: 16px;
	--hez-panel-space: 32px;
	--hez-panel-padding: 20px;

	/* Boşluk ölçeği: modüldeki her aralık bu basamaklardan biridir.
	   Ara değer yazmak yerine basamak eklemek gerekir. */
	--hez-space-1: 4px;
	--hez-space-2: 8px;
	--hez-space-3: 12px;
	--hez-space-4: 16px;
	--hez-space-5: 24px;
	--hez-space-6: 32px;
}

/* Görsel özellikler çapalı: bunlar tema tarafından ezilmemeli. */
.hez-returns:not(#\9) {
	color: var(--hez-text);
	font-size: 15px;
	line-height: 1.55;
}

/*
 * SIFIRLAMA KATMANI (bkz. başlıktaki kural 2).
 *
 * Çapa yalnızca BİZİM yazdığımız özellikleri korur; hiç tanımlamadığımız bir
 * özelliği tema dayattığında içeri sızar. Storefront benzeri temalarda
 * `.entry-content h2 { text-transform: uppercase }` ya da
 * `.entry-content ul li { list-style: square }` tam olarak böyle geçiyordu.
 *
 * Bu yüzden kökün altındaki her öğede, tema yazı tipografisinin sık dayattığı
 * özellikler nötrleniyor. `:where()` özgüllük eklemediği için seçicinin
 * ağırlığı çapadan gelir; kendi kurallarımız daha sonra geldiğinden onları
 * ezmez.
 */

.hez-returns:not(#\9) :where(*) {
	color: inherit;
	text-transform: none;
	letter-spacing: normal;
	text-shadow: none;
	font-variant: normal;
	float: none;
}

/* `li` de listede: `list-style` kalıtımla iniyor ama temanın doğrudan `li`
   hedefleyen kuralı kalıtılan değeri eziyor. */
.hez-returns:not(#\9) :where(ul, ol, li) {
	list-style: none;
}

/*
 * BOŞLUK SIFIRLAMASI. Temaların tipografi marjları modülün ritmini bozan asıl
 * kaynak: her tema `p`, `h2`, `ul` için kendi `margin`ini dayatıyor ve bu
 * değerler temadan temaya değiştiği için aynı panel her sitede farklı
 * görünüyordu. Akış öğelerinin marjı sıfırlanıp aralıklar aşağıda ölçekten
 * yeniden kuruluyor; böylece modül her temada aynı ritmi taşıyor.
 */
.hez-returns:not(#\9) :where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure, blockquote, fieldset, pre) {
	margin: 0;
	padding: 0;
}

.hez-returns:not(#\9) :where(h1, h2, h3, h4, h5, h6) {
	font-family: inherit;
}

@media (prefers-color-scheme: dark) {
	.hez-returns {
		--hez-bg: #0f172a;
		--hez-bg-muted: #1e293b;
		--hez-border: #334155;
		--hez-border-strong: #475569;
		--hez-text: #e2e8f0;
		--hez-text-muted: #94a3b8;
		--hez-accent: #60a5fa;
		--hez-accent-strong: #93c5fd;
		--hez-accent-contrast: #0f172a;
		--hez-success: #86efac;
		--hez-success-bg: #14532d;
		--hez-warning: #fcd34d;
		--hez-warning-bg: #78350f;
		--hez-danger: #fca5a5;
		--hez-danger-bg: #7f1d1d;
		--hez-info: #93c5fd;
		--hez-info-bg: #1e3a8a;
		--hez-neutral: #cbd5e1;
		--hez-neutral-bg: #1e293b;
	}
}

.hez-returns:not(#\9) *,
.hez-returns:not(#\9) *::before,
.hez-returns:not(#\9) *::after {
	box-sizing: border-box;
}

/* ---------------------------------------------------------------- header */

.hez-returns__header:not(#\9) {
	margin-bottom: 24px;
}

.hez-returns__back:not(#\9) {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--hez-text-muted);
	font-size: 14px;
	text-decoration: none;
}

.hez-returns__back:hover:not(#\9),
.hez-returns__back:focus:not(#\9) {
	color: var(--hez-accent);
}

.hez-returns__headline:not(#\9) {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.hez-returns__title:not(#\9) {
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
}

.hez-returns__title--small:not(#\9) {
	font-size: 18px;
}

.hez-returns__subtitle:not(#\9),
.hez-returns__deadline:not(#\9),
.hez-returns__footnote:not(#\9) {
	margin: 6px 0 0;
	color: var(--hez-text-muted);
	font-size: 14px;
}

.hez-returns__deadline:not(#\9) {
	font-weight: 600;
}

/* ---------------------------------------------------------------- badges */

.hez-returns:not(#\9) .hez-return-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
	white-space: nowrap;
}

.hez-returns:not(#\9) .hez-return-badge--success {
	background: var(--hez-success-bg);
	color: var(--hez-success);
}

.hez-returns:not(#\9) .hez-return-badge--warning {
	background: var(--hez-warning-bg);
	color: var(--hez-warning);
}

.hez-returns:not(#\9) .hez-return-badge--danger {
	background: var(--hez-danger-bg);
	color: var(--hez-danger);
}

.hez-returns:not(#\9) .hez-return-badge--info {
	background: var(--hez-info-bg);
	color: var(--hez-info);
}

.hez-returns:not(#\9) .hez-return-badge--neutral {
	background: var(--hez-neutral-bg);
	color: var(--hez-neutral);
}

/* ------------------------------------------------------------- callouts */

.hez-returns:not(#\9) .hez-callout {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: var(--hez-radius);
	border-left: 4px solid currentColor;
}

.hez-returns:not(#\9) .hez-callout p {
	margin: 0;
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-callout--danger {
	background: var(--hez-danger-bg);
	color: var(--hez-danger);
}

.hez-returns:not(#\9) .hez-callout--neutral {
	background: var(--hez-neutral-bg);
	color: var(--hez-neutral);
}

.hez-returns:not(#\9) .hez-callout--info {
	background: var(--hez-info-bg);
	color: var(--hez-info);
}

/* --------------------------------------------------------------- panels */

.hez-returns:not(#\9) .hez-panel {
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius);
	background: var(--hez-bg);
}

.hez-returns:not(#\9) .hez-panel--action {
	border-color: var(--hez-warning);
	background: var(--hez-warning-bg);
}

.hez-returns:not(#\9) .hez-panel__title {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-panel__prose p:last-child {
	margin-bottom: 0;
}

.hez-returns:not(#\9) .hez-panel__note {
	margin: 12px 0 0;
	color: var(--hez-text-muted);
	font-size: 14px;
}

.hez-returns:not(#\9) .hez-quote {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-left: 3px solid currentColor;
	background: rgba(0, 0, 0, 0.04);
	font-style: normal;
}

/* -------------------------------------------------------------- progress */

.hez-returns:not(#\9) .hez-progress {
	display: flex;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	counter-reset: hez-step;
}

.hez-returns:not(#\9) .hez-progress__step {
	position: relative;
	flex: 1 1 0;
	padding-top: 26px;
	text-align: center;
	color: var(--hez-text-muted);
	font-size: 13px;
}

.hez-returns:not(#\9) .hez-progress__step::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--hez-border);
}

.hez-returns:not(#\9) .hez-progress__step:first-child::before {
	left: 50%;
	width: 50%;
}

.hez-returns:not(#\9) .hez-progress__step:last-child::before {
	width: 50%;
}

.hez-returns:not(#\9) .hez-progress__step--done::before,
.hez-returns:not(#\9) .hez-progress__step--current::before {
	background: var(--hez-accent);
}

.hez-returns:not(#\9) .hez-progress__dot {
	position: absolute;
	top: 0;
	left: 50%;
	width: 16px;
	height: 16px;
	margin-left: -8px;
	border: 2px solid var(--hez-border-strong);
	border-radius: 50%;
	background: var(--hez-bg);
}

.hez-returns:not(#\9) .hez-progress__step--done .hez-progress__dot,
.hez-returns:not(#\9) .hez-progress__step--current .hez-progress__dot {
	border-color: var(--hez-accent);
	background: var(--hez-accent);
}

.hez-returns:not(#\9) .hez-progress__step--current {
	color: var(--hez-text);
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-progress__step--current .hez-progress__dot {
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.18);
}

/* --------------------------------------------------------------- steps */

.hez-returns:not(#\9) .hez-step {
	margin: 0 0 22px;
	padding: 18px;
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius);
	background: var(--hez-bg);
}

.hez-returns:not(#\9) .hez-step__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.hez-returns:not(#\9) .hez-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--hez-accent);
	color: var(--hez-accent-contrast);
	font-size: 13px;
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-step__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
}

/* --------------------------------------------------------------- items */

.hez-returns:not(#\9) .hez-items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hez-returns:not(#\9) .hez-item {
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius-sm);
	margin-bottom: 10px;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hez-returns:not(#\9) .hez-item.is-selected {
	border-color: var(--hez-accent);
	box-shadow: 0 0 0 1px var(--hez-accent);
}

.hez-returns:not(#\9) .hez-item__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
}

.hez-returns:not(#\9) .hez-item__checkbox {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 3px 0 0;
}

.hez-returns:not(#\9) .hez-item__label {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}

.hez-returns:not(#\9) .hez-item__thumb img {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: var(--hez-radius-sm);
	object-fit: cover;
}

.hez-returns:not(#\9) .hez-item__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.hez-returns:not(#\9) .hez-item__name {
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-item__meta {
	color: var(--hez-text-muted);
	font-size: 13px;
}

.hez-returns:not(#\9) .hez-item__price {
	margin-left: 8px;
}

.hez-returns:not(#\9) .hez-item__details {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 12px;
	padding: 0 12px 14px 42px;
}

.hez-returns:not(#\9) .hez-item__details .hez-field--note {
	grid-column: 1 / -1;
}

.hez-returns:not(#\9) .hez-item__details[hidden] {
	display: none;
}

/* --------------------------------------------------------------- fields */

.hez-returns:not(#\9) .hez-field {
	margin: 0;
}

.hez-returns:not(#\9) .hez-field label {
	display: block;
	margin-bottom: 4px;
	color: var(--hez-text-muted);
	font-size: 13px;
	font-weight: 600;
}

/* Zorunlu alan işareti: sebep bir açıklama gerektirdiğinde JS not alanının
   etiketine ekler, sebep değişince kaldırır. Tema abbr'ye alt çizgi dayatsa
   da işaret düz kalsın diye text-decoration açıkça kapatılıyor. */
.hez-returns:not(#\9) .hez-field__required {
	margin-left: 4px;
	color: var(--hez-danger);
	font-weight: 700;
	text-decoration: none;
	cursor: help;
}

/*
 * Two class names deep on purpose. Themes style form controls by input
 * type — Storefront paints input[type=text] and textarea grey but leaves
 * select alone — and a single class loses to that attribute selector, so
 * the fields of one form end up in different colours. Matching on
 * .hez-returns .hez-input outranks the theme and keeps every control in
 * the module looking like the same control.
 */

.hez-returns:not(#\9) .hez-input {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--hez-border-strong);
	border-radius: var(--hez-radius-sm);
	background: var(--hez-bg);
	color: var(--hez-text);
	font-size: 14px;
	line-height: 1.4;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.hez-returns:not(#\9) select.hez-input {
	/* The reset above strips the native arrow, so it is drawn back on. */
	padding-right: 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 10px 7px;
}

.hez-returns:not(#\9) .hez-input:focus {
	border-color: var(--hez-accent);
	background-color: var(--hez-bg);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
	outline: none;
}

.hez-returns:not(#\9) .hez-textarea {
	resize: vertical;
}

.hez-returns:not(#\9) .hez-input--qty {
	max-width: 110px;
}

/* --------------------------------------------------------------- cards */

.hez-returns:not(#\9) .hez-cards {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.hez-returns:not(#\9) .hez-card {
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius);
	background: var(--hez-bg);
	transition: border-color 0.15s ease;
}

.hez-returns:not(#\9) .hez-card:hover {
	border-color: var(--hez-accent);
}

.hez-returns:not(#\9) .hez-card__link {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 16px;
	padding: 14px 16px;
	color: inherit;
	text-decoration: none;
}

.hez-returns:not(#\9) .hez-card__head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.hez-returns:not(#\9) .hez-card__number {
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-card__meta {
	color: var(--hez-text-muted);
	font-size: 13px;
}

/* The nudge sits on its own line under the card's summary, whatever the
   card's other columns are doing. */
.hez-returns:not(#\9) .hez-card__hint {
	grid-column: 1 / -1;
	margin-top: 4px;
	color: var(--hez-accent);
	font-size: 13px;
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-card__total {
	grid-row: 1 / 3;
	grid-column: 2;
	align-self: center;
	font-weight: 700;
}

/* ---------------------------------------------------------- order list */

.hez-returns:not(#\9) .hez-order-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hez-returns:not(#\9) .hez-order-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--hez-border);
}

.hez-returns:not(#\9) .hez-order-list__item:last-child {
	border-bottom: 0;
}

.hez-returns:not(#\9) .hez-order-list__info {
	display: flex;
	flex-direction: column;
}

.hez-returns:not(#\9) .hez-order-list__number {
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-order-list__date {
	color: var(--hez-text-muted);
	font-size: 13px;
}

/* --------------------------------------------------------------- empty */

.hez-returns:not(#\9) .hez-empty {
	padding: 28px 20px;
	border: 1px dashed var(--hez-border-strong);
	border-radius: var(--hez-radius);
	text-align: center;
}

.hez-returns:not(#\9) .hez-empty__title {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-empty__text {
	margin: 0;
	color: var(--hez-text-muted);
	font-size: 14px;
}

/* --------------------------------------------------------------- table */

.hez-returns:not(#\9) .hez-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.hez-returns:not(#\9) .hez-table th,
.hez-returns:not(#\9) .hez-table td {
	padding: 10px 8px;
	border-bottom: 1px solid var(--hez-border);
	text-align: left;
	vertical-align: top;
}

.hez-returns:not(#\9) .hez-table thead th {
	color: var(--hez-text-muted);
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.hez-returns:not(#\9) .hez-table tfoot th,
.hez-returns:not(#\9) .hez-table tfoot td {
	border-bottom: 0;
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-table__note {
	display: block;
	margin-top: 3px;
	color: var(--hez-text-muted);
	font-size: 13px;
}

/* ------------------------------------------------------------ timeline */

.hez-returns:not(#\9) .hez-timeline {
	margin: 0;
	padding: 0 0 0 6px;
	list-style: none;
}

.hez-returns:not(#\9) .hez-timeline__item {
	position: relative;
	padding: 0 0 18px 22px;
	border-left: 2px solid var(--hez-border);
}

.hez-returns:not(#\9) .hez-timeline__item:last-child {
	border-left-color: transparent;
	padding-bottom: 0;
}

.hez-returns:not(#\9) .hez-timeline__dot {
	position: absolute;
	top: 3px;
	left: -7px;
	width: 12px;
	height: 12px;
	border: 2px solid var(--hez-bg);
	border-radius: 50%;
	background: var(--hez-neutral);
}

.hez-returns:not(#\9) .hez-timeline__item--success .hez-timeline__dot {
	background: var(--hez-success);
}

.hez-returns:not(#\9) .hez-timeline__item--warning .hez-timeline__dot {
	background: var(--hez-warning);
}

.hez-returns:not(#\9) .hez-timeline__item--danger .hez-timeline__dot {
	background: var(--hez-danger);
}

.hez-returns:not(#\9) .hez-timeline__item--info .hez-timeline__dot {
	background: var(--hez-info);
}

.hez-returns:not(#\9) .hez-timeline__title {
	margin: 0;
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-timeline__message {
	margin: 3px 0 0;
	color: var(--hez-text-muted);
	font-size: 14px;
}

.hez-returns:not(#\9) .hez-timeline__time {
	display: block;
	margin-top: 3px;
	color: var(--hez-text-muted);
	font-size: 12px;
}

/* -------------------------------------------------------------- address */

.hez-returns:not(#\9) .hez-address {
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: var(--hez-radius-sm);
	background: var(--hez-bg-muted);
}

.hez-returns:not(#\9) .hez-address__label {
	display: block;
	margin-bottom: 4px;
	color: var(--hez-text-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.hez-returns:not(#\9) .hez-address__body {
	margin: 0;
	font-style: normal;
	line-height: 1.5;
}

/* A select whose options are still being fetched. It stays enabled on
   purpose — disabling it would drop the field from the submission — so the
   cue has to be visual. */
.hez-returns:not(#\9) .hez-select[aria-busy='true'] {
	opacity: 0.6;
	cursor: progress;
}

/* When selectWoo enhances the select it hides the native control and shows
   this widget in its place, so the busy cue has to ride on the widget too —
   otherwise it is invisible exactly where the fetch happens. */
.hez-returns:not(#\9) .select2.is-loading {
	opacity: 0.6;
	cursor: progress;
}

.hez-returns:not(#\9) .hez-tracking {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 14px 0 0;
}

.hez-returns:not(#\9) .hez-tracking__label {
	color: var(--hez-text-muted);
	font-size: 13px;
}

.hez-returns:not(#\9) .hez-tracking__value {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-weight: 700;
}

/* A date is prose, not a code the customer reads out character by
   character, so it drops the monospace treatment the barcode needs. */
.hez-returns:not(#\9) .hez-tracking__value--plain {
	font-family: inherit;
	font-weight: 600;
}

/* ------------------------------------------------------- shipping card */

.hez-returns:not(#\9) .hez-shipping-card {
	padding: 14px 16px;
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius-sm);
	background: var(--hez-bg-muted);
}

.hez-returns:not(#\9) .hez-shipping-card__title {
	margin: 0 0 4px;
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-shipping-card__desc {
	margin: 0;
	color: var(--hez-text-muted);
	font-size: 14px;
}

/* --------------------------------------------------------------- forms */

.hez-returns:not(#\9) .hez-inline-form {
	display: grid;
	gap: 12px;
	max-width: 420px;
	margin-top: 14px;
}

.hez-returns:not(#\9) .hez-inline-form--tracking {
	grid-template-columns: 1fr 1fr;
}

.hez-returns:not(#\9) .hez-inline-form--tracking button {
	grid-column: 1 / -1;
	justify-self: start;
}

.hez-returns:not(#\9) .hez-inline-form--booking button {
	justify-self: start;
}

.hez-returns:not(#\9) .hez-lookup-form {
	display: grid;
	gap: 14px;
	max-width: 420px;
	padding: 20px;
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius);
	background: var(--hez-bg);
}

.hez-returns:not(#\9) .hez-return-form__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 4px;
}

.hez-returns:not(#\9) .hez-return-form__summary {
	margin: 0;
	color: var(--hez-text-muted);
	font-size: 14px;
	font-weight: 600;
}

/* Doğrulama hatası: nötr sayaçtan renk ve ağırlıkla ayrışır, yoksa hata
   mesajı sıradan bilgi metni gibi görünür (bkz. .hez-address-fields__error). */
.hez-returns:not(#\9) .hez-return-form__summary.is-error {
	color: var(--hez-danger);
	font-weight: 700;
}

.hez-returns:not(#\9) .hez-address-fields__error {
	margin: 0 0 12px;
	color: var(--hez-danger, #b3261e);
	font-size: 14px;
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-address-fields__error:empty {
	display: none;
}

/*
 * Vazgeç bir bağlantı (<a>), gönder bir <button>; temalar ikisini ayrı
 * stillediği için yükseklikler tutmayabiliyor. `stretch` ikisini satırın en
 * uzun elemanına eşitliyor, buton sıfırlamasının kaçırdığı bir kural olsa da.
 */
.hez-returns:not(#\9) .hez-return-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.hez-returns__cancel:not(#\9) {
	margin-top: 8px;
}

/* ------------------------------------------------------------- buttons */

/*
 * Butonlar tema saldırısına en açık parça. Storefront içerik bağlantılarını
 * `.hentry .entry-content a { text-decoration: underline }` ile çiziyor ve
 * yalnızca KENDİ `a.button` sınıfını muaf tutuyor; bizim bağlantı butonumuz
 * altı çizili çıkıyor, hover'da da çizgi kaybolarak zıplıyordu. O seçicinin
 * özgüllüğü (0,2,1) sınıf zincirimizle eşitlendiği için sonucu kaynak sırası
 * belirlerdi -- temadan temaya değişen bir kumar. Alt çizgi bu yüzden
 * `!important` ile kapatılıyor; dar ve tek bir özellik için.
 *
 * Renkler her durum için (link, visited, hover, focus, active) açıkça
 * yazılıyor: temanın bağlantı rengi sızdığında zemin sabit kalıp yazı rengi
 * değiştiği için kontrast bozuluyordu.
 */

.hez-returns:not(#\9) .hez-btn,
.hez-returns:not(#\9) a.hez-btn,
.hez-returns:not(#\9) button.hez-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: var(--hez-radius-sm);
	background: transparent;
	color: var(--hez-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	text-transform: none;
	vertical-align: middle;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.hez-returns:not(#\9) .hez-btn:hover,
.hez-returns:not(#\9) .hez-btn:focus,
.hez-returns:not(#\9) .hez-btn:active,
.hez-returns:not(#\9) .hez-btn:visited {
	text-decoration: none !important;
}

.hez-returns:not(#\9) .hez-btn--small {
	padding: 7px 13px;
	font-size: 13px;
}

.hez-returns:not(#\9) .hez-btn--primary,
.hez-returns:not(#\9) a.hez-btn--primary,
.hez-returns:not(#\9) button.hez-btn--primary {
	background: var(--hez-accent);
	border-color: var(--hez-accent);
	color: var(--hez-accent-contrast);
}

/*
 * Koyulaştırma `filter: brightness()` ile yapılıyordu; filtre yazıyı da
 * karartıp kontrastı düşürüyor. Hover artık kendi zemin tonunu kullanıyor,
* yazı rengi sabit kalıyor.
 */
.hez-returns:not(#\9) .hez-btn--primary:hover,
.hez-returns:not(#\9) .hez-btn--primary:focus,
.hez-returns:not(#\9) .hez-btn--primary:active,
.hez-returns:not(#\9) .hez-btn--primary:visited,
.hez-returns:not(#\9) a.hez-btn--primary:hover,
.hez-returns:not(#\9) a.hez-btn--primary:focus,
.hez-returns:not(#\9) a.hez-btn--primary:active,
.hez-returns:not(#\9) a.hez-btn--primary:visited {
	background: var(--hez-accent-strong);
	border-color: var(--hez-accent-strong);
	color: var(--hez-accent-contrast);
}

.hez-returns:not(#\9) .hez-btn--ghost,
.hez-returns:not(#\9) a.hez-btn--ghost,
.hez-returns:not(#\9) button.hez-btn--ghost {
	border-color: var(--hez-border-strong);
	background: var(--hez-bg);
	color: var(--hez-text-muted);
}

.hez-returns:not(#\9) .hez-btn--ghost:hover,
.hez-returns:not(#\9) .hez-btn--ghost:focus,
.hez-returns:not(#\9) .hez-btn--ghost:active,
.hez-returns:not(#\9) .hez-btn--ghost:visited,
.hez-returns:not(#\9) a.hez-btn--ghost:hover,
.hez-returns:not(#\9) a.hez-btn--ghost:focus,
.hez-returns:not(#\9) a.hez-btn--ghost:active,
.hez-returns:not(#\9) a.hez-btn--ghost:visited {
	border-color: var(--hez-text-muted);
	background: var(--hez-bg);
	color: var(--hez-text);
}

.hez-returns:not(#\9) .hez-btn--danger-ghost,
.hez-returns:not(#\9) a.hez-btn--danger-ghost,
.hez-returns:not(#\9) button.hez-btn--danger-ghost {
	border-color: var(--hez-border-strong);
	background: var(--hez-bg);
	color: var(--hez-danger);
}

.hez-returns:not(#\9) .hez-btn--danger-ghost:hover,
.hez-returns:not(#\9) .hez-btn--danger-ghost:focus,
.hez-returns:not(#\9) .hez-btn--danger-ghost:active,
.hez-returns:not(#\9) .hez-btn--danger-ghost:visited,
.hez-returns:not(#\9) a.hez-btn--danger-ghost:hover,
.hez-returns:not(#\9) a.hez-btn--danger-ghost:focus,
.hez-returns:not(#\9) a.hez-btn--danger-ghost:active,
.hez-returns:not(#\9) a.hez-btn--danger-ghost:visited {
	border-color: var(--hez-danger);
	background: var(--hez-danger-bg);
	color: var(--hez-danger);
}

.hez-returns:not(#\9) .hez-btn:focus-visible {
	outline: 2px solid var(--hez-accent);
	outline-offset: 2px;
}

/* Gönderim başlayınca buton kilitlenir: aynı iade talebinin iki kez
   yollanmasını önler. Tıklama engellenir, imleç beklemeyi anlatır. */
.hez-returns:not(#\9) .hez-btn[disabled],
.hez-returns:not(#\9) .hez-btn.is-busy,
.hez-returns:not(#\9) button.hez-btn:disabled {
	opacity: 0.65;
	cursor: progress;
	pointer-events: none;
}

/* --------------------------------------------------------------- order panel */

/*
 * Panel, temanın sipariş tablosunu sardığı işaretlemenin içine basılıyor, bu
 * yüzden kendi kutusunu savunuyor: mantıksal marjlar RTL'de de çalışır,
 * float/genişlik sıfırlamaları paneli float'lı ya da grid bir ebeveynin
 * içine kapılmaktan korur.
 *
 * İç ritim TEK YÖNLÜ: her parça yalnızca altına boşluk bırakır, sonuncusu
 * onu da bırakmaz. Böylece parçalar eklenip çıkarıldığında alt padding hep
 * eşit kalır ve marj çakışmasıyla uğraşmak gerekmez.
 */

.hez-returns:not(#\9).hez-returns--order-panel {
	display: block;
	float: none;
	clear: both;
	width: auto;
	max-width: 100%;
	margin: var(--hez-panel-space) 0; /* mantıksal kısayolu desteklemeyen tarayıcılar için */
	margin-block: var(--hez-panel-space);
	margin-inline: 0;
	padding: var(--hez-panel-padding);
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius);
	background: var(--hez-bg-muted);
}

.hez-returns:not(#\9).hez-returns--order-panel::before,
.hez-returns:not(#\9).hez-returns--order-panel::after {
	content: none;
}

.hez-returns:not(#\9) .hez-returns__panel-header {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--hez-space-2);
	margin: 0 0 var(--hez-space-3);
}

.hez-returns:not(#\9).hez-returns--order-panel .hez-returns__title {
	margin: 0;
	padding: 0;
	font-size: 20px;
	line-height: 1.3;
	text-transform: none;
}

/* Panel gövdesinin ritmi tek yerden: her doğrudan çocuk altına bir basamak
   boşluk bırakır. */
.hez-returns:not(#\9) .hez-returns__panel-body > * {
	margin-bottom: var(--hez-space-4);
}

.hez-returns:not(#\9) .hez-returns__panel-body > *:last-child {
	margin-bottom: 0;
}

/* Açıklama ile son tarih tek bir blok gibi okunsun: aralarındaki boşluk
   panel ritminden dar. */
.hez-returns:not(#\9) .hez-returns__panel-body > .hez-returns__subtitle {
	margin-bottom: var(--hez-space-2);
}

.hez-returns:not(#\9).hez-returns--order-panel .hez-returns__subtitle,
.hez-returns:not(#\9).hez-returns--order-panel .hez-returns__deadline {
	margin-top: 0;
}

.hez-returns:not(#\9) .hez-returns__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--hez-space-2);
	margin: 0;
	padding: 0;
}

.hez-returns:not(#\9) .hez-cards--compact {
	gap: var(--hez-space-2);
}

.hez-returns:not(#\9) .hez-cards--compact .hez-card__link {
	padding: var(--hez-space-3) var(--hez-space-4);
}

/* ------------------------------------------------------ pickup address */

.hez-returns__pickup:not(#\9) {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--hez-border);
}

.hez-returns__pickup-title:not(#\9) {
	margin: 0 0 4px;
	font-weight: 700;
}

.hez-returns__pickup-hint:not(#\9) {
	margin: 0 0 14px;
	color: var(--hez-text-muted);
	font-size: 14px;
}

.hez-returns:not(#\9) .hez-address-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.hez-returns:not(#\9) .hez-address-fields .hez-field--address {
	grid-column: 1 / -1;
}

.hez-returns:not(#\9) .hez-field__hint {
	display: block;
	margin-top: 4px;
	color: var(--hez-text-muted);
	font-size: 12px;
}

/* İl/ilçe/mahalle listesi çekilirken alanın hemen altında beliren mesaj. Fetch
   başlar başlamaz eklenir; tarayıcının native `required` kontrolü gönderimi
   kesse bile müşteri listenin neden boş olduğunu görür. */
.hez-returns:not(#\9) .hez-field__loading {
	color: var(--hez-accent);
	font-weight: 600;
}

/* The address the day list was fetched for, foldable so it stays a detail
   until the customer needs to correct it. */

.hez-returns:not(#\9) .hez-pickup-address {
	margin: 0 0 16px;
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius-sm);
	background: var(--hez-bg-muted);
}

.hez-returns:not(#\9) .hez-pickup-address__summary {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 10px;
	padding: 12px 14px;
	cursor: pointer;
	list-style: none;
}

.hez-returns:not(#\9) .hez-pickup-address__summary::-webkit-details-marker {
	display: none;
}

.hez-returns:not(#\9) .hez-pickup-address__label {
	color: var(--hez-text-muted);
	font-size: 13px;
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-pickup-address__value {
	flex: 1 1 240px;
	font-size: 14px;
}

.hez-returns:not(#\9) .hez-pickup-address__toggle {
	color: var(--hez-accent);
	font-size: 13px;
	font-weight: 600;
}

.hez-returns:not(#\9) .hez-pickup-address[open] .hez-pickup-address__toggle {
	color: var(--hez-text-muted);
}

.hez-returns:not(#\9) .hez-pickup-address__form {
	padding: 0 14px 14px;
}

.hez-returns:not(#\9) .hez-pickup-address__form .hez-btn {
	margin-top: 12px;
}

/* ---------------------------------------------------------- return code */

/*
 * The code is what the customer hands the courier, so it is the loudest
 * thing on the page: big, monospaced, selectable, and with the copy button
 * next to it rather than under it.
 */

.hez-returns:not(#\9) .hez-code {
	margin: 0;
	padding: 16px;
	border: 1px solid var(--hez-border);
	border-radius: var(--hez-radius);
	background: var(--hez-bg-muted);
}

.hez-returns:not(#\9) .hez-code__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin-bottom: 8px;
}

.hez-returns:not(#\9) .hez-code__label {
	color: var(--hez-text-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.hez-returns:not(#\9) .hez-code__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.hez-returns:not(#\9) .hez-code__value {
	padding: 0;
	background: none;
	color: var(--hez-info);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: clamp(24px, 6vw, 32px);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	/* The whole code selects as one word on a long press. */
	user-select: all;
	word-break: break-all;
}

/* Hover kuralları da bu özgüllükte olduğu için "Kopyalandı" geri bildirimi
   fare düğmenin üzerindeyken kaybolmasın diye durum eşit seviyede yazılıyor. */
.hez-returns:not(#\9) .hez-code__copy.is-copied,
.hez-returns:not(#\9) .hez-code__copy.is-copied:hover,
.hez-returns:not(#\9) .hez-code__copy.is-copied:focus {
	border-color: var(--hez-success);
	color: var(--hez-success);
}

.hez-returns:not(#\9) .hez-code__hint {
	margin: 10px 0 0;
	color: var(--hez-text-muted);
	font-size: 14px;
}

/* Ekranda görünmez ama ekran okuyucuya ulaşan durum düğümü: kopyala butonu
   sabit bir aria-label taşıdığı için "Kopyalandı" metin değişimi tek başına
   duyurulmaz; canlı bölge sonucu iletir. */
.hez-returns:not(#\9) .hez-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.hez-returns:not(#\9) .hez-code__meta {
	margin: 8px 0 0;
	font-size: 14px;
}

.hez-returns:not(#\9) .hez-code__cancel {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--hez-border);
}

.hez-returns:not(#\9) .hez-code__cancel-hint {
	color: var(--hez-text-muted);
	font-size: 13px;
}

.hez-returns:not(#\9) .hez-code__cancel-hint--closed {
	display: block;
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--hez-border);
}

/* ------------------------------------------------------------- select2 */

/*
 * selectWoo replaces the select with its own markup, so the field has to be
 * restyled rather than inherited. The dropdown is appended to <body>, out
 * of .hez-returns and therefore out of reach of its tokens, which is why
 * the panel carries its own colours through a class of its own.
 */

.hez-returns:not(#\9) .select2-container--default .select2-selection--single {
	height: auto;
	padding: 8px 11px;
	border: 1px solid var(--hez-border-strong);
	border-radius: var(--hez-radius-sm);
	background: var(--hez-bg);
}

.hez-returns:not(#\9) .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: var(--hez-text);
	font-size: 14px;
	line-height: 1.4;
}

.hez-returns:not(#\9) .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--hez-text-muted);
}

.hez-returns:not(#\9) .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
}

.hez-returns:not(#\9) .select2-container--default.select2-container--focus .select2-selection--single,
.hez-returns:not(#\9) .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--hez-accent);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

.hez-select2-dropdown:not(#\9) {
	border-color: #cbd5e1;
	border-radius: var(--hez-radius-sm, 6px);
	font-size: 14px;
}

.hez-select2-dropdown:not(#\9) .select2-search__field {
	padding: 7px 9px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
}

.hez-select2-dropdown:not(#\9) .select2-results__option--highlighted[aria-selected] {
	background: #2563eb;
}

@media (prefers-color-scheme: dark) {
	.hez-select2-dropdown:not(#\9) {
		border-color: #475569;
		background: #0f172a;
		color: #e2e8f0;
	}

	.hez-select2-dropdown:not(#\9) .select2-results__option {
		background: #0f172a;
		color: #e2e8f0;
	}

	.hez-select2-dropdown:not(#\9) .select2-search__field {
		border-color: #475569;
		background: #1e293b;
		color: #e2e8f0;
	}

	.hez-select2-dropdown:not(#\9) .select2-results__option--highlighted[aria-selected] {
		background: #1d4ed8;
	}
}

/* ------------------------------------------------------------- responsive */

@media (max-width: 600px) {
	.hez-returns:not(#\9) .hez-address-fields {
		grid-template-columns: 1fr;
	}

	.hez-returns.hez-returns--order-panel:not(#\9) {
		--hez-panel-space: 24px;
		--hez-panel-padding: 16px;
	}

	.hez-returns:not(#\9) .hez-returns__actions .hez-btn {
		width: 100%;
	}

	.hez-returns:not(#\9) .hez-item__details {
		grid-template-columns: 1fr;
		padding-left: 12px;
	}

	.hez-returns:not(#\9) .hez-inline-form--tracking {
		grid-template-columns: 1fr;
	}

	.hez-returns:not(#\9) .hez-progress {
		flex-direction: column;
		gap: 10px;
	}

	.hez-returns:not(#\9) .hez-progress__step {
		padding: 0 0 0 26px;
		text-align: left;
	}

	.hez-returns:not(#\9) .hez-progress__step::before {
		top: 0;
		left: 7px;
		width: 2px;
		height: 100%;
	}

	.hez-returns:not(#\9) .hez-progress__step:first-child::before,
.hez-returns:not(#\9) .hez-progress__step:last-child::before {
		left: 7px;
		width: 2px;
		height: 100%;
	}

	.hez-returns:not(#\9) .hez-progress__dot {
		top: 2px;
		left: 0;
		margin-left: 0;
	}

	.hez-returns:not(#\9) .hez-card__link {
		grid-template-columns: 1fr;
	}

	.hez-returns:not(#\9) .hez-card__total {
		grid-row: auto;
		grid-column: 1;
		justify-self: start;
	}

	.hez-returns:not(#\9) .hez-table thead {
		display: none;
	}

	.hez-returns:not(#\9) .hez-table,
.hez-returns:not(#\9) .hez-table tbody,
.hez-returns:not(#\9) .hez-table tfoot,
.hez-returns:not(#\9) .hez-table tr,
.hez-returns:not(#\9) .hez-table th,
.hez-returns:not(#\9) .hez-table td {
		display: block;
		width: 100%;
	}

	.hez-returns:not(#\9) .hez-table tr {
		padding: 8px 0;
		border-bottom: 1px solid var(--hez-border);
	}

	.hez-returns:not(#\9) .hez-table td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		border-bottom: 0;
		padding: 4px 0;
	}

	.hez-returns:not(#\9) .hez-table td::before {
		content: attr(data-label);
		color: var(--hez-text-muted);
		font-size: 13px;
		font-weight: 600;
	}
}
