/* Novato anasayfa v2 — editoryal sürüm. nvh- ad alanı, yalnız _nvh_css metalı sayfada yüklenir.
   İlke: kutu yerine düzen. Çerçeveli kart yok; boşluk, ince çizgi ve tipografi hiyerarşisi.
   Ürün fotoğrafları saf #fff zeminde, filtre/blend yok. Hareket: yalnız görsel yakınlaşma, belirme animasyonu yok.
   Kırılımlar Woodmart ile aynı: ≤1024 tablet, ≤767 telefon. */

.nvh-sec,
.nvh {
	--nvh-ink: #242424;
	--nvh-ink-2: #5f6670;
	--nvh-ink-3: #8a9098;
	--nvh-blue-text: #0d6fb0;
	--nvh-price: var(--wd-primary-color, rgb(39, 161, 234));
	--nvh-rule: #e6e6e6;
	--nvh-rule-dark: rgba(0, 0, 0, .1);
	--nvh-tint: #f7f7f7;
	--nvh-r: 8px;
	--nvh-ease: cubic-bezier(.2, .7, .2, 1);
	--nvh-font: var(--wd-title-font, "Lexend"), "Lexend", sans-serif;
}

/* ---------- Bölüm ritmi: kahramandan sonra sırayla beyaz / #f7f7f7 bantlar (build ekler: nvh-sec--band) ---------- */
.elementor-section.nvh-sec { padding-top: clamp(44px, 5.5vw, 88px); padding-bottom: clamp(44px, 5.5vw, 88px); }
/* Renkli bant: kahraman zemininin dili (açık zemin + sağ üstte mavi, sol altta sıcak ışıma). Kullanıcı düz griyi beğenmedi. */
.elementor-section.nvh-sec--band {
	background-color: #f5f7fa;
	background-image:
		radial-gradient(50% 80% at 92% 8%, rgba(39, 161, 234, .11) 0%, rgba(39, 161, 234, 0) 62%),
		radial-gradient(42% 70% at 4% 96%, rgba(251, 188, 52, .08) 0%, rgba(251, 188, 52, 0) 60%);
	background-repeat: no-repeat;
}
/* Banttaki fotoğraf + ürün rafı tek parça beyaz panelde: ürün görseli ve yazısı hep saf beyaz zeminde, kart kart bölünmez */
.nvh-sec--band .elementor-section.nvh-rowbody,
.nvh-sec--band > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-wd_products {
	background: #fff;
	border: 1px solid rgba(20, 40, 60, .06);
	border-radius: 20px;
}
.nvh-sec--band .elementor-section.nvh-rowbody { padding: 14px; }
.nvh-sec--band > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-wd_products { padding: 24px; }
@media (max-width: 767px) {
	.nvh-sec--band .elementor-section.nvh-rowbody { padding: 8px; border-radius: 16px; }
	.nvh-sec--band > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-wd_products { padding: 14px 10px; border-radius: 16px; }
}
.nvh-sec .elementor-widget-shortcode { margin-bottom: 0; }

/* Performans: ekran dışındaki bölümler görünür olana kadar çizilmez (stil/düzen/boyama atlanır).
   "auto" son ölçülen yüksekliği hatırlar; 720px ilk tahmin. Kaydırıcılar da ekrana yaklaşınca başlar (novato-anasayfa-v2.php). */
@media screen {
	.elementor-section.nvh-sec:not(.nvh-sec--first) { content-visibility: auto; contain-intrinsic-size: auto 720px; }
}

.nvh p, .nvh ul, .nvh ol, .nvh dl, .nvh dd, .nvh figure, .nvh h2, .nvh h3 { margin: 0; }
.nvh ul { padding: 0; list-style: none; }
.nvh li { margin: 0; }
.nvh img { display: block; max-width: 100%; }

/* ---------- Tipografi ve bağlantılar ---------- */
.nvh-hd__t {
	font-family: var(--nvh-font);
	font-size: clamp(1.75rem, 1.05rem + 2.2vw, 3rem);
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -.03em;
	color: var(--nvh-ink);
	text-wrap: balance;
}
.nvh-note {
	margin-bottom: 14px !important;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--nvh-blue-text);
}
.nvh-a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	font-size: .94rem;
	font-weight: 600;
	color: var(--nvh-ink);
	white-space: nowrap;
	transition: color .2s;
}
.nvh-a:hover { color: var(--nvh-blue-text); }
.nvh-a--quiet { font-weight: 400; color: var(--nvh-ink-2); }
.nvh-a__n { font-weight: 400; color: var(--nvh-ink-3); font-variant-numeric: tabular-nums; }
.nvh-ok { flex: none; transition: transform .25s var(--nvh-ease); }
.nvh-a:hover .nvh-ok, .nvh-btn:hover .nvh-ok { transform: translateX(3px); }
.nvh a:focus-visible { outline: 2px solid var(--wd-primary-color, #27a1ea); outline-offset: 3px; border-radius: 2px; }

/* Bölüm başlığı: üstte ince çizgi, solda büyük başlık, sağda açıklama + bağlantılar */
.nvh-hd {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: end;
	gap: 14px 48px;
	margin-bottom: clamp(24px, 3vw, 40px);
}
.nvh-hd__side { justify-self: end; width: 100%; max-width: 470px; }
.nvh-hd__desc { font-size: 1rem; line-height: 1.55; color: var(--nvh-ink-2); }
.nvh-hd__desc a { color: var(--nvh-ink); text-decoration: underline; text-decoration-color: rgba(0, 0, 0, .25); text-underline-offset: 3px; }
.nvh-hd__desc a:hover { color: var(--nvh-blue-text); text-decoration-color: currentColor; }
.nvh-hd__links { display: flex; flex-wrap: wrap; gap: 0 22px; margin-top: 8px !important; }
.nvh-hd__side > .nvh-hd__links:first-child { margin-top: 0 !important; }

/* Görsel altyazısı */
.nvh-cap { margin-top: 10px; font-size: .8rem; line-height: 1.4; color: var(--nvh-ink-3); }
.nvh-cap a { color: var(--nvh-ink-2); text-decoration: underline; text-decoration-color: rgba(0, 0, 0, .2); text-underline-offset: 3px; }
.nvh-cap a:hover { color: var(--nvh-ink); }

/* ---------- 0. Kahraman arka planı (eski bulanık halka resmi yerine; build: nvh-herobg) ----------
   Sağ üstte marka mavisi, sol altta sıcak ışıma; kenarlara doğru belirginleşen ince nokta deseni ("bağlı cihazlar");
   alta doğru beyaza geçiş (hemen altındaki kategori dizini beyaz). Resim dosyası yok. */
.elementor-section.nvh-herobg {
	position: relative;
	background-color: #f5f7fa;
	background-image:
		linear-gradient(to bottom, rgba(255, 255, 255, 0) 72%, #fff 100%),
		radial-gradient(55% 75% at 88% 18%, rgba(39, 161, 234, .16) 0%, rgba(39, 161, 234, 0) 62%),
		radial-gradient(45% 65% at 6% 92%, rgba(251, 188, 52, .12) 0%, rgba(251, 188, 52, 0) 60%),
		radial-gradient(40% 50% at 45% 0%, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, 0) 70%);
	background-repeat: no-repeat;
}
.elementor-section.nvh-herobg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: radial-gradient(rgba(36, 60, 90, .16) 1px, transparent 1.3px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(75% 85% at 50% 45%, transparent 38%, #000 100%);
	mask-image: radial-gradient(75% 85% at 50% 45%, transparent 38%, #000 100%);
}
.elementor-section.nvh-herobg > .elementor-container { position: relative; z-index: 1; }

/* ---------- 0. Kahraman dokunuşları (15580 bölümü; yerleşim aynı) ---------- */
.nvh-hero-text { max-width: 602px; }
.nvh-hero-text p { margin: 0; font-size: clamp(1rem, .96rem + .2vw, 1.1rem); line-height: 1.6; color: #5f6670; }
#kategoriler { scroll-margin-top: 90px; }

/* ---------- 1. Kategori dizini ---------- */
.nvh-index {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	border-top: 1px solid var(--nvh-rule);
	border-left: 1px solid var(--nvh-rule);
}
.nvh-index__i { min-width: 0; border-right: 1px solid var(--nvh-rule); border-bottom: 1px solid var(--nvh-rule); }
.nvh-index__i > a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	padding: 14px 14px 16px;
	background: #fff;
	color: var(--nvh-ink);
}
.nvh-index__n {
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: .76rem;
	line-height: 1;
	color: var(--nvh-ink-3);
	font-variant-numeric: tabular-nums;
}
.nvh-index__img { display: block; aspect-ratio: 1 / 1; margin: 12px 6% 12px; }
.nvh-index__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--nvh-ease); }
.nvh-index__i > a:hover .nvh-index__img img { transform: scale(1.05); }
.nvh-index__i--bleed .nvh-index__img { margin-right: -14px; }
.nvh-index__i--bleed > a:hover .nvh-index__img img { transform: translateX(-2%); }
.nvh-index__name {
	margin-top: auto !important;
	font-family: var(--nvh-font);
	font-size: .88rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: var(--nvh-ink);
	transition: color .2s;
}
.nvh-index__i > a:hover .nvh-index__name { color: var(--nvh-blue-text); }
.nvh-also { margin-top: 18px !important; font-size: .92rem; line-height: 1.8; color: var(--nvh-ink-2); }
.nvh-also span { margin-right: 12px; color: var(--nvh-ink-3); }
.nvh-also a { color: var(--nvh-ink); }
.nvh-also a:hover { color: var(--nvh-blue-text); }
.nvh-also i { margin: 0 10px; font-style: normal; color: var(--nvh-ink-3); }

/* ---------- 2. Isıtma kampanyası ---------- */
.nvh-camp { padding-top: clamp(18px, 1.6vw, 24px); border-top: 1px solid var(--nvh-rule); }
.nvh-camp__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: start;
	gap: clamp(28px, 4.5vw, 80px);
}
.nvh-camp__desc { margin-top: 16px !important; max-width: 40ch; font-size: 1.02rem; line-height: 1.6; color: var(--nvh-ink-2); }
.nvh-camp__txt .nvh-hd__links { margin-top: 14px !important; }
.nvh-camp__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 28px); }
.nvh-pc { min-width: 0; }
.nvh-pc > a { display: flex; flex-direction: column; height: 100%; color: var(--nvh-ink); }
.nvh-pc__img { display: block; aspect-ratio: 1 / 1; margin-bottom: 12px; overflow: hidden; background: #fff; border-radius: var(--nvh-r); }
.nvh-pc__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--nvh-ease); }
.nvh-pc > a:hover .nvh-pc__img img { transform: scale(1.05); }
.nvh-pc__not { margin-bottom: 4px; font-size: .76rem; line-height: 1.3; color: var(--nvh-ink-3); }
.nvh-pc__name {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	font-family: var(--nvh-font);
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.32;
	color: var(--nvh-ink);
	transition: color .2s;
}
.nvh-pc > a:hover .nvh-pc__name { color: var(--nvh-blue-text); }
.nvh-pc__price, .nvh-flag__price { margin-top: 6px; font-size: .95rem; font-weight: 600; line-height: 1.25; color: var(--nvh-price); }
:is(.nvh-pc__price, .nvh-flag__price) .amount { color: inherit; }
:is(.nvh-pc__price, .nvh-flag__price) del { margin-right: 6px; font-size: .82em; font-weight: 400; color: var(--nvh-ink-3); opacity: 1; }
:is(.nvh-pc__price, .nvh-flag__price) del .amount { color: var(--nvh-ink-3); }
:is(.nvh-pc__price, .nvh-flag__price) ins { background: none; text-decoration: none; }

/* ---------- 3. Kategori satırları (başlık + fotoğraf + Woodmart rafı) ---------- */
.nvh-rowbody > .elementor-container { align-items: stretch; }
.nvh-rowmedia { display: flex; flex-direction: column; height: 100%; }
.nvh-rowmedia__frame { position: relative; display: block; flex: 1 1 auto; min-height: 260px; overflow: hidden; border-radius: var(--nvh-r); background: #efece8; }
.nvh-rowmedia__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--nvh-ease); }
.nvh-rowmedia:hover .nvh-rowmedia__frame img { transform: scale(1.03); }
.nvh-rowmedia__all { flex: none; margin-top: 8px; }
.nvh-rowmedia__all .nvh-a { min-height: 36px; }
@media (min-width: 768px) {
	.nvh-rowbody--flip > .elementor-container { flex-direction: row-reverse; }
	/* Fotoğraf sütunu rafın yüksekliğini birebir doldurur: sütun içinde mutlak konum.
	   10px = Elementor varsayılan sütun boşluğu (.elementor-element-populated dolgusu). */
	.nvh-rowbody__media > .elementor-widget-wrap { position: relative; min-height: 360px; }
	.nvh-rowbody__media .elementor-widget-shortcode { position: absolute; inset: 10px; width: auto; }
	.nvh-rowbody__media .elementor-widget-container,
	.nvh-rowbody__media .elementor-shortcode { height: 100%; }
}

/* Woodmart ürün kartları: bu sayfada çerçevesiz; oklar rafın içinde beyaz yuvarlak */
.nvh-sec .wd-nav-arrows.wd-pos-sep {
	--wd-arrow-offset-h: -52px;
	--wd-arrow-size: 40px;
	--wd-arrow-bg: #fff;
	--wd-arrow-bg-hover: #fff;
	--wd-arrow-radius: 50%;
	--wd-arrow-shadow: 0 2px 12px rgba(20, 30, 40, .12);
	--wd-arrow-icon-size: 14px;
}
.nvh-sec .wd-nav-arrows.wd-pos-sep:after { display: none; }

/* ---------- 4. Amiral ürün: 10.1" panel ---------- */
.nvh-flag {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: clamp(28px, 4.5vw, 80px);
}
.nvh-flag__desc { margin-top: 16px !important; max-width: 42ch; font-size: 1.02rem; line-height: 1.6; color: var(--nvh-ink-2); }
.nvh-flag__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 28px; }
.nvh-flag__price { margin: 0; font-size: 1.05rem; color: var(--nvh-ink); }
.nvh-flag__price .amount { color: var(--nvh-ink); }
.nvh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 22px;
	background: var(--nvh-ink);
	border-radius: 999px;
	font-size: .94rem;
	font-weight: 600;
	color: #fff;
	transition: background .2s;
}
.nvh-btn:hover { background: #000; color: #fff; }
.nvh-flag__family {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
	margin-top: 30px !important;
	padding-top: 16px;
	border-top: 1px solid var(--nvh-rule-dark);
	font-size: .9rem;
	line-height: 1.6;
}
.nvh-flag__family > span { flex: 1 0 100%; font-size: .8rem; color: var(--nvh-ink-3); }
.nvh-flag__family a { font-weight: 600; color: var(--nvh-ink); }
.nvh-flag__family a:hover { color: var(--nvh-blue-text); }
.nvh-flag__fp { margin-left: 4px; font-weight: 400; color: var(--nvh-ink-3); }
.nvh-flag__frame { position: relative; display: block; aspect-ratio: 5 / 4; overflow: hidden; border-radius: var(--nvh-r); background: #efece8; }
.nvh-flag__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% 40%; }
.nvh-specs {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin-top: clamp(8px, 1.5vw, 24px) !important;
	padding-top: 24px;
	border-top: 1px solid var(--nvh-rule-dark);
}
.nvh-specs dt {
	font-family: var(--nvh-font);
	font-size: clamp(1.9rem, 1.1rem + 2.4vw, 3.25rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.035em;
	color: var(--nvh-ink);
}
.nvh-specs dd { margin-top: 10px; font-size: .9rem; line-height: 1.4; color: var(--nvh-ink-2); }

.nvh-subhead {
	margin: clamp(40px, 5vw, 64px) 0 18px !important;
	font-family: var(--nvh-font);
	font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.015em;
	color: var(--nvh-ink);
}

/* ---------- 6. Rehberler (dergi düzeni) ---------- */
.nvh-journal__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; gap: clamp(28px, 4.5vw, 72px); }
.nvh-journal__lead a { display: block; color: var(--nvh-ink); }
.nvh-journal__img, .nvh-journal__thumb { position: relative; display: block; overflow: hidden; border-radius: var(--nvh-r); background: #efece8; }
.nvh-journal__img { aspect-ratio: 16 / 9; }
.nvh-journal__thumb { aspect-ratio: 16 / 10; }
.nvh-journal__img img, .nvh-journal__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--nvh-ease); }
.nvh-journal a:hover img { transform: scale(1.03); }
.nvh-journal__lead h3 {
	margin-top: 18px !important;
	max-width: 30ch;
	font-family: var(--nvh-font);
	font-size: clamp(1.2rem, .9rem + 1vw, 1.6rem);
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -.02em;
	color: var(--nvh-ink);
	transition: color .2s;
}
.nvh-journal__list { border-top: 1px solid var(--nvh-rule); }
.nvh-journal__list li { border-bottom: 1px solid var(--nvh-rule); }
.nvh-journal__list a { display: grid; grid-template-columns: 136px minmax(0, 1fr); align-items: center; gap: 20px; padding: 18px 0; color: var(--nvh-ink); }
.nvh-journal__list h3 { font-family: var(--nvh-font); font-size: 1rem; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; color: var(--nvh-ink); transition: color .2s; }
.nvh-journal a:hover h3 { color: var(--nvh-blue-text); }

/* ---------- 7. Akıllı ev, Tuya ve Zigbee (sayfa sonu bilgi bölümü) ---------- */
.nvh-seo__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 64px); }
.nvh-seo__col h3 {
	margin-bottom: 10px !important;
	font-family: var(--nvh-font);
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--nvh-ink);
}
.nvh-seo__col p { max-width: 46ch; font-size: .98rem; line-height: 1.65; color: var(--nvh-ink-2); }
.nvh-seo__col .nvh-a { margin-top: 6px; }

@media (prefers-reduced-motion: reduce) {
	.nvh-sec *, .nvh * { transition: none !important; }
}

/* ---------- Tablet ≤1024 ---------- */
@media (max-width: 1024px) {
	.nvh-hd { grid-template-columns: minmax(0, 1fr); align-items: start; }
	.nvh-hd__side { justify-self: start; max-width: 620px; }

	.nvh-index { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.nvh-index__name { font-size: .9rem; }

	.nvh-camp__grid { grid-template-columns: minmax(0, 1fr); }
	.nvh-camp__desc { max-width: 60ch; }

	.nvh-flag { grid-template-columns: minmax(0, 1fr); }
	.nvh-flag__media { order: -1; }
	.nvh-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }

	.nvh-journal__grid { grid-template-columns: minmax(0, 1fr); }
	.nvh-seo__cols { gap: 28px; }
}

/* ---------- Telefon ≤767 ---------- */
@media (max-width: 767px) {
	.nvh-hd__links { gap: 0 18px; }

	/* Telefon: iki sütunlu kompakt dizin (görsel solda, ad sağda); 16 kategori 8 sıraya sığar */
	.nvh-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nvh-index__i > a { flex-direction: row; align-items: center; gap: 10px; min-height: 64px; padding: 8px 26px 8px 8px; }
	.nvh-index__img { flex: none; width: 48px; margin: 0; }
	.nvh-index__i--bleed .nvh-index__img { margin-right: 0; }
	.nvh-index__name { margin-top: 0 !important; font-size: .8rem; line-height: 1.25; }
	.nvh-index__n { top: 50%; right: 10px; transform: translateY(-50%); font-size: .7rem; }
	.nvh-also i { margin: 0 7px; }

	.nvh-camp__list {
		display: flex;
		gap: 14px;
		margin: 0 -15px;
		padding: 0 15px 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 15px;
		scrollbar-width: none;
	}
	.nvh-camp__list::-webkit-scrollbar { display: none; }
	.nvh-camp__list .nvh-pc { flex: 0 0 44%; scroll-snap-align: start; }

	.nvh-rowmedia { height: auto; margin-bottom: 18px; }
	.nvh-rowmedia__frame { flex: none; min-height: 0; aspect-ratio: 3 / 2; }

	.nvh-flag__frame { aspect-ratio: 1 / 1; }
	.nvh-specs { gap: 24px 16px; }
	.nvh-specs dd { font-size: .82rem; }

	.nvh-seo__cols { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.nvh-seo__col { padding: 18px 0; border-top: 1px solid var(--nvh-rule); }
	.nvh-seo__col:first-child { padding-top: 0; border-top: 0; }

	.nvh-journal__list a { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 14px 0; }
	.nvh-journal__list h3 { font-size: .92rem; }
}
