/* Floortrim UK — bileşen CSS 14/19: Yan sepet çekmecesi.
   Yükleme sırası bağlayıcıdır: functions.php floortrim_uk_component_css_files(). */
/* ===========================================================================
   Yan sepet çekmecesi (sağdan açılan panel).

   Panel sunucudan basili gelir; JS yalniz acar/kapatir (inc/mini-cart.php +
   assets/js/mini-cart.js). Cekmece KOYU deridedir — basliktan cikip geldigi
   icin ust bantla ayni dilde okunur; altindaki sayfa acik da olsa koyu da olsa
   panel kendi baglamini tasir.

   Hareket: yalniz transform + opacity. --ease-drawer (0.32,0.72,0,1) ve
   --dur-sheet (280ms) bu is icin var. prefers-reduced-motion'da gecis yok
   (JS'te emniyet zamanlayicisi bunu bekliyor).
   ======================================================================== */

.ft-minicart-backdrop {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: var(--overlay);
	opacity: 0;
	transition: opacity var(--dur-sheet) var(--ease-drawer);
}

.ft-minicart-backdrop.is-open { opacity: 1; }

.ft-minicart {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 91;
	display: flex;
	flex-direction: column;
	width: min(420px, 100vw);
	height: 100dvh;
	background: var(--color-surface-1);
	color: var(--color-on-surface);
	border-left: 1px solid var(--color-surface-3);
	transform: translateX(100%);
	transition: transform var(--dur-sheet) var(--ease-drawer);
}

.ft-minicart.is-open { transform: none; }

/* Cekmece acikken arkadaki sayfa kaymasin */
html.ft-minicart-open,
html.ft-minicart-open body { overflow: hidden; }

.ft-minicart__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--color-surface-3);
}

.ft-minicart__title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
}

.ft-minicart__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -0.75rem;   /* optik hizalama: ikon kutusu kenara otursun */
	background: none;
	border: 0;
	border-radius: var(--radius);
	color: inherit;
	cursor: pointer;
	transition: opacity var(--dur-press) var(--ease-out);
}

.ft-minicart__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;      /* ic liste kaydirilabilir olsun */
	padding: 1.5rem;
	overflow-y: auto;
}

.ft-minicart.is-busy .ft-minicart__body { opacity: 0.6; }

.ft-minicart__list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.ft-minicart__item {
	display: grid;
	grid-template-columns: 64px 1fr 44px;
	gap: 0.9rem;
	align-items: start;
}

.ft-minicart__thumb img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--radius);
}

.ft-minicart__name {
	display: block;
	font-family: var(--font-body);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
	color: inherit;
	text-decoration: none;
}

.ft-minicart__meta {
	margin-top: 0.2rem;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--color-on-surface-muted);
}

/* Woo'nun meta ciktisi <dl>/<p> karisik gelebiliyor — hepsini tek satira indir */
.ft-minicart__meta p,
.ft-minicart__meta dl,
.ft-minicart__meta dd,
.ft-minicart__meta dt { margin: 0; display: inline; font-weight: inherit; }

.ft-minicart__line {
	margin: 0.45rem 0 0;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	color: var(--color-on-surface);
}

.ft-minicart__qty { color: var(--color-on-surface-muted); }

.ft-minicart__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: -0.35rem;
	background: none;
	border: 0;
	color: var(--color-on-surface-muted);
	cursor: pointer;
	transition: opacity var(--dur-press) var(--ease-out);
}

.ft-minicart__totals {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-surface-3);
}

.ft-minicart__totals-label {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-on-surface-muted);
}

.ft-minicart__totals-value {
	font-family: var(--font-display);
	font-size: 1.35rem;
}

.ft-minicart__note {
	margin: 0.4rem 0 1.25rem;
	font-size: 0.78rem;
	color: var(--color-on-surface-muted);
}

.ft-minicart__actions {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	margin-top: auto;   /* kisa sepette bile dibe yapissin */
}

/* Birincil: --fill-accent (koyu temada TERS DOLGU: beyaz zemin + is siyahi etiket) */
.ft-minicart__checkout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.85rem 1.5rem;
	background: var(--fill-accent);
	color: var(--on-fill-accent);
	border-radius: var(--radius);
	font-family: var(--font-display);
	font-size: 1rem;
	text-decoration: none;
	transition: opacity var(--dur-press) var(--ease-out), transform var(--dur-press) var(--ease-out);
}

.ft-minicart__checkout:active { transform: scale(0.97); }

.ft-minicart__view {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	color: inherit;
	font-family: var(--font-display);
	font-size: 0.9rem;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ft-minicart__empty {
	margin: 0 0 1rem;
	color: var(--color-on-surface-muted);
}

.ft-minicart__browse {
	align-self: flex-start;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	color: inherit;
	font-family: var(--font-display);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ft-minicart :focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

@media (hover: hover) {
	.ft-minicart__close:hover,
	.ft-minicart__remove:hover,
	.ft-minicart__checkout:hover { opacity: 0.75; }
	.ft-minicart__name:hover { text-decoration: underline; text-underline-offset: 3px; }
}

@media (prefers-reduced-motion: reduce) {
	.ft-minicart,
	.ft-minicart-backdrop,
	.ft-minicart__checkout,
	.ft-minicart__checkout:active {
		transition: none;
		transform: none;
	}
	.ft-minicart { transform: translateX(100%); }
	.ft-minicart.is-open { transform: none; }
}

/* Kapalı çekmece gerçekten gizli: `.ft-minicart { display: flex }` UA'nın `[hidden]`
   kuralını ezer (sınıf daha özgül) → panel sekme sırasında ve erişilebilirlik ağacında kalırdı. */
.ft-minicart[hidden],
.ft-minicart-backdrop[hidden] {
	display: none;
}
