/**
 * Next CMS katalog vitrini stilleri — kategori slider'ı, marka slider'ı, kategori bazlı
 * ürün vitrini (makine / kompakt kart varyantları) ve sekmeli paneller.
 *
 * TASARIM SİSTEMİ: NextCore token'ları (--nc-*). Bu dosya yeni renk/tipografi ÜRETMEZ,
 * yalnız mevcut token'ları kullanır. Makine bölümleri lacivert/açık mavi zeminde turuncu
 * ince vurgu ile öne çıkar; tamamlayıcı gruplar sade beyaz yüzeyde ve daha dar boşluklarla
 * gösterilir (görsel hiyerarşi hep aynı sistemin içinde kalır).
 *
 * SLIDER: Genişlik hesabı TAMAMEN CSS'tedir (JS layout ölçmez). Görünür kart sayısı
 * `--nc-slider-desktop/tablet/mobile` değişkenlerinden gelir; ondalık değer (2.2 / 1.2)
 * sonraki kartın bir bölümünü göstererek kaydırılabilirliği görsel olarak bildirir.
 *
 * Plain CSS (Vite dışı); yalnız CMS içeriği render eden sayfalarda enqueue edilir.
 */

/* ==========================================================================
   1) Ortak slider kabuğu
   ========================================================================== */

.nc-slider {
	--nc-slider-visible: var(--nc-slider-desktop, 4);
	position: relative;
}

.nc-slider__viewport {
	display: block;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	/* Dikey kaydırma sayfada kalsın; yatay jest slider'a ait olsun. */
	touch-action: pan-y pinch-zoom;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.nc-slider__viewport:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 3px;
}

.nc-slider__viewport.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	-webkit-user-select: none;
	user-select: none;
}

.nc-slider__track {
	display: flex;
	gap: var(--nc-slider-gap, 20px);
	/* Kartların dibindeki gölge kırpılmasın. */
	margin: 0;
	padding: 4px 0 14px;
	list-style: none;
}

.nc-slider__item {
	flex: 0 0
		calc(
			(100% - (var(--nc-slider-visible) - 1) * var(--nc-slider-gap, 20px)) /
				var(--nc-slider-visible)
		);
	min-width: 0;
	scroll-snap-align: start;
}

/* Son kartın sağında nefes payı — kart kenara yapışmasın. */
.nc-slider__track::after {
	content: "";
	flex: 0 0 1px;
}

/* Mobilde ince, sade scrollbar. Klavye/dokunmatik erişim KALDIRILMAZ. */
.nc-slider__viewport::-webkit-scrollbar {
	height: 6px;
}

.nc-slider__viewport::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(13, 43, 69, 0.18);
}

.nc-slider__viewport::-webkit-scrollbar-track {
	background: transparent;
}

/* --- Ok düğmeleri --- */
.nc-slider__nav {
	display: inline-flex;
	flex-shrink: 0;
	gap: 8px;
}

.nc-slider__nav-row {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
}

.nc-slider__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* Dokunmatik hedef en az 44px. */
	width: 44px;
	height: 44px;
	border: 1px solid var(--nc-color-border, #dde2e6);
	border-radius: 50%;
	background: var(--nc-color-surface, #fff);
	color: var(--nc-color-navy, #0d2b45);
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.nc-slider__arrow svg {
	width: 18px;
	height: 18px;
}

.nc-slider__arrow:hover:not(:disabled) {
	border-color: var(--nc-color-navy, #0d2b45);
	background: var(--nc-color-navy, #0d2b45);
	color: #fff;
}

.nc-slider__arrow:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 2px;
}

.nc-slider__arrow:disabled {
	opacity: 0.38;
	cursor: not-allowed;
}

/* --- Noktalar --- */
.nc-slider__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
}

.nc-slider__dot {
	position: relative;
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(13, 43, 69, 0.22);
	cursor: pointer;
	transition: background-color 0.18s ease, transform 0.18s ease;
}

/* Görsel nokta küçük olsa da dokunmatik hedef 44px'e tamamlanır. */
.nc-slider__dot::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 44px;
	height: 44px;
	transform: translate(-50%, -50%);
}

.nc-slider__dot.is-active {
	background: var(--nc-color-orange, #0d2b45);
	transform: scale(1.35);
}

.nc-slider__dot:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 4px;
}

.nc-slider__pause {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 10px;
	padding: 0 16px;
	border: 1px solid var(--nc-color-border, #dde2e6);
	border-radius: var(--nc-radius-pill, 999px);
	background: var(--nc-color-surface, #fff);
	color: var(--nc-color-navy, #0d2b45);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.nc-slider__pause:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 2px;
}

/* ==========================================================================
   2) Kategori slider'ı
   ========================================================================== */

/*
 * Bölüm açıklamaları: açık zeminlerde WCAG AA'yı karşılayan ikincil metin rengi.
 * Tema varsayılanı (--nc-color-muted #66717d) açık mavi zeminde 4.45:1'de kalıyordu.
 */
.nc-catslider .section-heading p,
.nc-brandslider .section-heading p,
.nc-showcase .section-heading p {
	color: var(--nc-cms-color-text-secondary, #48525e);
}

.nc-catslider--tone-navy .section-heading p,
.nc-brandslider--tone-navy .section-heading p,
.nc-showcase--tone-navy .section-heading p {
	color: rgba(255, 255, 255, 0.9);
}

.nc-catslider {
	padding-block: clamp(38px, 5vw, 66px);
}

.nc-catslider--tone-navy {
	background: linear-gradient(160deg, var(--nc-color-navy, #0d2b45), #16405f 78%);
	color: #fff;
}

.nc-catslider--tone-navy .section-heading h2,
.nc-catslider--tone-navy .section-heading p {
	color: #fff;
}

.nc-catslider--tone-navy .section-kicker {
	color: var(--nc-color-warm, #a9bdd0);
}

.nc-catslider--tone-tint {
	/* Bölüm ritmi: "tint" tonu sayfa zemininin (#f7f8f8) AYNISIYDI → hiç ayrım yoktu.
	   Sıcak açık yüzeye alındı; açık kalır ama bölümler birbirinden ayrışır. */
	background: var(--nc-color-background-warm, #f5f3ee);
}

.nc-cat-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--nc-color-border, #dde2e6);
	border-radius: var(--nc-radius-lg, 16px);
	background: var(--nc-color-surface, #fff);
	color: inherit;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.nc-cat-card:hover,
.nc-cat-card:focus-visible {
	transform: translateY(-4px);
	border-color: var(--nc-color-orange, #0d2b45);
	box-shadow: var(--nc-shadow-card-hover, 0 22px 46px rgba(13, 43, 69, 0.13));
}

.nc-cat-card:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 2px;
}

.nc-cat-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--nc-surface-3, #f1f4f7);
}

.nc-cat-card--4-3 .nc-cat-card__media {
	aspect-ratio: 4 / 3;
}

.nc-cat-card--1-1 .nc-cat-card__media {
	aspect-ratio: 1 / 1;
}

.nc-cat-card--16-9 .nc-cat-card__media {
	aspect-ratio: 16 / 9;
}

.nc-cat-card--3-4 .nc-cat-card__media {
	aspect-ratio: 3 / 4;
}

.nc-cat-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nc-cat-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--nc-color-placeholder, #8a94a0);
}

.nc-cat-card__placeholder svg {
	width: 44px;
	height: 44px;
}

.nc-cat-card__icon {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--nc-color-orange, #0d2b45);
	color: #fff;
	font-size: 14px;
}

.nc-cat-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 5px;
	padding: 16px 16px 18px;
}

.nc-cat-card__title {
	color: var(--nc-color-navy, #0d2b45);
	font-size: 15px;
	font-weight: 780;
	line-height: 1.3;
	/* Uzun kategori adları kartı büyütüp CTA'yı aşağı itmesin. */
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.nc-cat-card__desc {
	display: -webkit-box;
	overflow: hidden;
	color: var(--nc-color-muted, #66717d);
	font-size: 13px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.nc-cat-card__count {
	color: var(--nc-color-muted, #66717d);
	font-size: 12.5px;
	font-weight: 650;
}

.nc-cat-card__cta {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	margin-top: auto;
	padding-top: 10px;
	/* Kart içi eylem bağlantısı: lacivert-500 (beyazda 7.8:1). Amber YALNIZ kicker'a ayrılmıştır;
	   her kartta tekrar edince "renk gürültüsü" yaratıyordu. */
	color: var(--nc-color-interactive, #1f567c);
	font-size: 13px;
	font-weight: 750;
}

.nc-cat-card__cta svg {
	width: 14px;
	height: 14px;
	transition: transform 0.18s ease;
}

.nc-cat-card:hover .nc-cat-card__cta svg {
	transform: translateX(3px);
}

/* ==========================================================================
   3) Marka slider'ı
   ========================================================================== */

.nc-brandslider {
	padding-block: clamp(30px, 4vw, 52px);
}

.nc-brandslider--tone-tint {
	background: var(--nc-color-background-warm, #f5f3ee);
}

.nc-brandslider--tone-navy {
	background: var(--nc-color-navy, #0d2b45);
	color: #fff;
}

.nc-brandslider--tone-navy .section-heading h2,
.nc-brandslider--tone-navy .section-heading p {
	color: #fff;
}

.nc-brand-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 132px;
	padding: 18px 16px;
	border: 1px solid var(--nc-color-border, #dde2e6);
	border-radius: var(--nc-radius-lg, 16px);
	background: var(--nc-color-surface, #fff);
	color: inherit;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nc-brand-card:hover,
.nc-brand-card:focus-visible {
	border-color: var(--nc-color-orange, #0d2b45);
	box-shadow: var(--nc-shadow-sm, 0 10px 28px rgba(13, 43, 69, 0.1));
	transform: translateY(-2px);
}

.nc-brand-card:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 2px;
}

/* Logo = kartın ANA görsel öğesi. Canvas sistemi: her logo dengeli en büyük boyutta (object-fit:contain). */
/* Logo canvas — boyut CSS custom property'lerinden gelir (CMS'ten yönetilir; tek kaynak
   preset config brand-carousel.php'de). Sabit px HARDCODE YOK. */
.nc-brand-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--nc-logo-ch-d, 66px);
	padding: 4px 10px;
}

.nc-brand-card__image {
	width: auto;
	height: auto;
	max-width: min(var(--nc-logo-mw-d, 155px), 88%);
	max-height: var(--nc-logo-mh-d, 52px);
	object-fit: contain;
	transition: transform 0.2s ease;
}

.nc-brand-card:hover .nc-brand-card__image {
	transform: scale(1.035);
}

/* Tablet: değer emit edilmezse desktop'tan devralır. */
@media (max-width: 1023px) {
	.nc-brand-card__logo { height: var(--nc-logo-ch-t, var(--nc-logo-ch-d, 58px)); }
	.nc-brand-card__image {
		max-width: min(var(--nc-logo-mw-t, var(--nc-logo-mw-d, 145px)), 86%);
		max-height: var(--nc-logo-mh-t, var(--nc-logo-mh-d, 46px));
	}
}

.nc-brand-card__wordmark {
	color: var(--nc-color-navy, #0d2b45);
	font-size: 20px;
	font-weight: 880;
	letter-spacing: 0.01em;
	line-height: 1.1;
	text-transform: uppercase;
}

.nc-brand-card__meta {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.nc-brand-card__name {
	color: var(--nc-color-text, #17212b);
	font-size: 13px;
	font-weight: 700;
}

.nc-brand-card__count {
	color: var(--nc-color-muted, #66717d);
	font-size: 12px;
	font-weight: 500;
}

@media (prefers-reduced-motion: reduce) {
	.nc-brand-card, .nc-brand-card__image { transition: none; }
	.nc-brand-card:hover, .nc-brand-card:hover .nc-brand-card__image { transform: none; }
}

/* Mobil: logo boyutu CMS mobil değerinden (yoksa desktop'tan devralır); güvenli tavan template'te. */
@media (max-width: 600px) {
	.nc-brand-card { min-height: 116px; padding: 14px 12px; }
	.nc-brand-card__logo { height: var(--nc-logo-ch-m, var(--nc-logo-ch-d, 52px)); }
	.nc-brand-card__image {
		max-width: min(var(--nc-logo-mw-m, var(--nc-logo-mw-d, 122px)), 86%);
		max-height: var(--nc-logo-mh-m, var(--nc-logo-mh-d, 40px));
	}
	.nc-brand-card__wordmark { font-size: 16px; }
}

/* ==========================================================================
   4) Kategori bazlı ürün vitrini
   ========================================================================== */

.nc-showcase {
	padding-block: clamp(34px, 4.5vw, 60px);
}

/* Makine bölümleri: daha geniş dikey boşluk, daha güçlü başlık, turuncu ince vurgu. */
.nc-showcase--large {
	padding-block: clamp(46px, 6vw, 84px);
}

.nc-showcase--large .section-heading h2 {
	font-size: clamp(28px, 3.2vw, 42px);
}

.nc-showcase--large .section-heading > div > h2::after {
	content: "";
	display: block;
	width: 62px;
	height: 3px;
	margin-top: 12px;
	border-radius: 3px;
	background: var(--nc-color-orange, #0d2b45);
}

/* Tamamlayıcı gruplar: sade beyaz yüzey, daha dar dikey boşluk. */
.nc-showcase--compact {
	padding-block: clamp(26px, 3.4vw, 46px);
	background: var(--nc-color-surface, #fff);
}

.nc-showcase--tone-navy {
	background: linear-gradient(165deg, var(--nc-color-navy, #0d2b45), #16405f 76%);
	color: #fff;
}

.nc-showcase--tone-navy .section-heading h2,
.nc-showcase--tone-navy .section-heading p {
	color: #fff;
}

.nc-showcase--tone-navy .section-kicker {
	color: var(--nc-color-warm, #a9bdd0);
}

.nc-showcase--tone-tint {
	background: var(--nc-color-background-warm, #f5f3ee);
}

/* ==========================================================================
   Bölünmüş vitrin (display=showcase): solda giriş, sağda ürün carousel'i.
   Son ürün bölümünü standart ızgaradan ayırıp sayfa ritmini değiştirir.
   ========================================================================== */
.nc-showcase--split .nc-showcase__split-grid {
	display: grid;
	grid-template-columns: minmax(0, 27fr) minmax(0, 73fr);
	gap: clamp(24px, 3vw, 48px);
	align-items: center;
}

.nc-showcase__intro {
	min-width: 0;
}

.nc-showcase__intro h2 {
	margin: 6px 0 12px;
	font-size: clamp(26px, 2.8vw, 38px);
}

.nc-showcase__intro p {
	max-width: 42ch;
	margin: 0 0 22px;
	color: var(--nc-color-muted, #66717d);
}

.nc-showcase--tone-navy .nc-showcase__intro p {
	color: rgba(255, 255, 255, 0.82);
}

.nc-showcase__intro-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.nc-showcase__intro-cta {
	white-space: nowrap;
}

/* Carousel grid kolonu içinde küçülüp kaydırılabilsin — yatay taşma önlenir. */
.nc-showcase__stage {
	min-width: 0;
}

@media (max-width: 991px) {
	.nc-showcase--split .nc-showcase__split-grid {
		grid-template-columns: 1fr;
		gap: 20px;
		align-items: stretch;
	}

	.nc-showcase__intro p {
		max-width: none;
	}
}

.nc-showcase__tools {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.nc-showcase--large .nc-showcase__cta {
	padding: 12px 20px;
	border: 2px solid var(--nc-color-orange, #0d2b45);
	border-radius: var(--nc-radius-pill, 999px);
	font-weight: 780;
}

.nc-showcase--large .nc-showcase__cta:hover {
	background: var(--nc-color-orange, #0d2b45);
	color: #fff;
}

/*
 * DÜZELTME: `.section-link` tabanı beyaz zeminlidir; burada yalnız `color:#fff`
 * verilince buton BEYAZ ÜSTÜNE BEYAZ (görünmez) kalıyordu. Lacivert bölümde CTA
 * artık hayalet (ghost) butondur: şeffaf zemin + beyaz kenarlık; hover'da dolar.
 */
.nc-showcase--tone-navy .nc-showcase__cta {
	border-color: rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	box-shadow: none;
}

.nc-showcase--tone-navy .nc-showcase__cta:hover,
.nc-showcase--tone-navy .nc-showcase__cta:focus-visible {
	border-color: #fff;
	background: #fff;
	color: var(--nc-color-navy, #0d2b45);
}

/* Lacivert bölümde kicker noktası da çelik tona döner (amber koyu zeminde sönük kalır). */
.nc-catslider--tone-navy .section-kicker::before,
.nc-brandslider--tone-navy .section-kicker::before,
.nc-showcase--tone-navy .section-kicker::before {
	background: var(--nc-navy-200, #a9bdd0);
}

.nc-showcase--tone-navy .nc-slider__arrow {
	border-color: rgba(255, 255, 255, 0.32);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.nc-showcase--tone-navy .nc-slider__arrow:hover:not(:disabled) {
	background: #fff;
	color: var(--nc-color-navy, #0d2b45);
}

/* --- Izgara: kolon sayısı CMS'ten CSS değişkeniyle gelir --- */
.nc-product-grid {
	display: grid;
	grid-template-columns: repeat(var(--nc-grid-desktop, 4), minmax(0, 1fr));
	gap: 22px;
}

.nc-product-grid--compact {
	gap: 16px;
}

/* --- Kart varyantları --- */
.product-card--machine .product-card__media {
	aspect-ratio: 4 / 3;
}

.product-card--machine .product-card__heading a,
.product-card--machine .product-card__title {
	font-size: 16px;
	line-height: 1.35;
}

.product-card--machine .product-card__price {
	font-size: 19px;
}

.product-card--compact .product-card__media {
	aspect-ratio: 1 / 1;
}

.product-card--compact .product-card__body {
	gap: 6px;
	padding: 12px 12px 14px;
}

.product-card--compact .product-card__heading a,
.product-card--compact .product-card__title {
	font-size: 13.5px;
	line-height: 1.35;
}

.product-card--compact .product-card__price {
	font-size: 15px;
}

.product-card--compact .product-card__quick,
.product-card--compact .product-tags {
	display: none;
}

.product-card--compact .product-card__button--whatsapp {
	display: none;
}

/* Kart başlığı: en fazla iki satır — uzun ürün adları butonları aşağı itip düzeni bozmasın. */
.product-card__heading {
	margin: 0;
}

.product-card__heading a {
	display: -webkit-box;
	overflow: hidden;
	color: inherit;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.product-card__heading a:hover {
	color: var(--nc-color-accent-strong, #0d2b45);
}

/* ==========================================================================
   5) Sekmeler
   ========================================================================== */

.nc-tablist {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}

.nc-tablist__tab {
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--nc-color-border, #dde2e6);
	border-radius: var(--nc-radius-pill, 999px);
	background: var(--nc-color-surface, #fff);
	color: var(--nc-color-navy, #0d2b45);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.nc-tablist__tab:hover {
	border-color: var(--nc-color-orange, #0d2b45);
}

.nc-tablist__tab.is-active,
.nc-tablist__tab[aria-selected="true"] {
	border-color: var(--nc-color-navy, #0d2b45);
	background: var(--nc-color-navy, #0d2b45);
	color: #fff;
}

.nc-tablist__tab:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 2px;
}

.nc-tabpanel:focus-visible {
	outline: var(--nc-focus-ring, 3px solid rgba(13, 43, 69, 0.42));
	outline-offset: 4px;
}

/*
 * JS KAPALIYKEN tüm paneller görünür kalır (içerik erişilebilir olmalıdır). Gizleme
 * yalnız JS etkinken (`html.nc-js`) yapılır; sekme kalıbı da o zaman anlamlıdır.
 */
.nc-js .nc-tabpanel {
	display: none;
}

.nc-js .nc-tabpanel.is-active {
	display: block;
}

.nc-js .nc-tabpanel + .nc-tabpanel {
	margin-top: 0;
}

.nc-tabpanel + .nc-tabpanel {
	margin-top: 26px;
}

/* ==========================================================================
   6) Responsive
   ========================================================================== */

@media (max-width: 1279px) {
	.nc-slider {
		--nc-slider-visible: min(var(--nc-slider-desktop, 4), 4);
	}

	.nc-product-grid {
		grid-template-columns: repeat(min(var(--nc-grid-desktop, 4), 4), minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	.nc-slider {
		--nc-slider-visible: min(var(--nc-slider-desktop, 4), 3);
	}

	.nc-product-grid {
		grid-template-columns: repeat(min(var(--nc-grid-desktop, 4), 3), minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	/* Tablet: ondalık kart sayısı (ör. 2,2) sonraki kartı kısmen gösterir. */
	.nc-slider {
		--nc-slider-visible: var(--nc-slider-tablet, 2.2);
	}

	.nc-product-grid {
		grid-template-columns: repeat(var(--nc-grid-tablet, 2), minmax(0, 1fr));
	}

	.nc-showcase__tools {
		width: 100%;
		justify-content: space-between;
	}
}

@media (max-width: 600px) {
	.nc-slider {
		--nc-slider-visible: var(--nc-slider-mobile, 1.2);
		--nc-slider-gap: 12px;
	}

	.nc-product-grid,
	.nc-product-grid--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.nc-cat-card__body {
		padding: 13px 13px 15px;
	}

	.nc-slider__arrow {
		width: 44px;
		height: 44px;
	}
}

@media (max-width: 380px) {
	/* 320–380px: kart biraz daha geniş, ipucu payı korunur. */
	.nc-slider {
		--nc-slider-visible: min(var(--nc-slider-mobile, 1.2), 1.1);
	}

	.nc-product-grid,
	.nc-product-grid--compact {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   7) Hareketi azalt
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.nc-slider__viewport {
		scroll-behavior: auto;
	}

	.nc-cat-card,
	.nc-brand-card,
	.nc-cat-card__cta svg,
	.nc-slider__dot,
	.nc-slider__arrow {
		transition: none;
	}

	.nc-cat-card:hover,
	.nc-cat-card:focus-visible {
		transform: none;
	}

	.nc-cat-card:hover .nc-cat-card__cta svg {
		transform: none;
	}
}
