/* ============================================================
   Haustech Shop — tasarım demosu
   Koyu header / aydınlık gövde, vurgu #BB1319 (kurumsal kimlik)
   Tek kod tabanı, iki mod: B2C (perakende) ve B2B (bayi)
   ============================================================ */

:root {
	/* Kurumsal kimlik */
	--hs-red:        #BB1319;
	--hs-red-dark:   #980F14;
	--hs-red-soft:   #FDECEC;

	/* Koyu chrome — header, mega menü, footer */
	--hs-ink:        #10151A;
	--hs-ink-2:      #1A2129;
	--hs-ink-3:      #262F39;
	--hs-ink-line:   #303A45;

	/* Aydınlık gövde */
	--hs-bg:         #F2F4F6;
	--hs-surface:    #FFFFFF;
	--hs-line:       #E2E6EA;
	--hs-line-soft:  #EDF0F2;

	/* Metin */
	--hs-text:       #1B222A;
	--hs-text-2:     #59636E;
	--hs-text-3:     #8B959F;

	/* Durum */
	--hs-ok:         #1B7F4B;
	--hs-ok-soft:    #E8F5EE;
	--hs-warn:       #B26A00;
	--hs-warn-soft:  #FFF4E2;
	--hs-info:       #0E5A7D;
	--hs-info-soft:  #E7F2F7;

	/* B2B modunun kimliği — perakendeden ayrışsın diye lacivert */
	--hs-b2b:        #0E4F72;
	--hs-b2b-soft:   #E6F0F6;

	--hs-radius:     6px;
	--hs-radius-lg:  10px;
	--hs-shadow:     0 1px 2px rgba(16,21,26,.06), 0 2px 8px rgba(16,21,26,.05);
	--hs-shadow-lg:  0 8px 28px rgba(16,21,26,.14);
	/* Sayfa sarmalayıcısı — TEK KAYNAK.
	   Ana sayfa, kategori listesi, ürün detayı ve sepet hepsi bunu
	   kullanır; devralınan .products-row da buna bağlandı (aşağıda).
	   Tam genişlik istenirse --hs-max: none yapmak yeter. */
	--hs-max:        1400px;
	--hs-gutter:     16px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--hs-bg);
	color: var(--hs-text);
	font-family: "Segoe UI", Inter, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.5;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
[hidden] { display: none !important; }

.hs-wrap { max-width: var(--hs-max); margin: 0 auto; padding: 0 var(--hs-gutter); }

/* Devralınan ürün listesi kendi kenar boşluğunu .products-row üzerinden
   veriyor (media query'lerde .5rem / 1rem / 3rem) ve genişlik sınırı
   tanımıyordu — kategori sayfası ekranın tamamına yayılıyor, ana sayfa
   1400px'te duruyordu. Üçü de .hs-wrap ile aynı sarmalayıcıya sokuldu. */
html body .products-row,
html body .products-area-header,
html body .products-area > .seo-block,
/* Kategori sayfasinin ALT metni (category_content) .products-area
   icinde DEGIL, dogrudan main.hs-body altinda basiliyor. Yalnizca
   ".products-area > .seo-block" yazildigi icin bu blok sarmalayicinin
   disinda kaliyor ve ekranin tamamina yayiliyordu. */
html body main > .seo-block,
html body .seo-block.category-content,
/* ürün detayı: bu sayfada hiç sarmalayıcı yoktu, içerik doğrudan
   gövde genişliğinde akıyordu (1920@0). */
html body .product-area-header,
html body section.product,
html body .product-detail {
	max-width: var(--hs-max); margin-left: auto; margin-right: auto;
	padding-left: var(--hs-gutter); padding-right: var(--hs-gutter);
	box-sizing: border-box;
}
/* .products-area-header ve .seo-block blok kutuları; dikey boşlukları korunur */
html body .products-area > .seo-block { box-sizing: border-box; }

/* Ekran okuyucu */
.hs-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ============================================================
   DEMO ŞERİDİ — bu bir tasarım demosudur, canlı mağaza değil
   ============================================================ */
.demo-bar {
	background: repeating-linear-gradient(135deg, #2B333C 0 14px, #333C46 14px 28px);
	color: #C9D2DA;
	font-size: 11.5px;
	letter-spacing: .02em;
	padding: 7px 0;
}
.demo-bar .hs-wrap { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.demo-bar strong { color: #fff; }
.demo-bar nav { margin-left: auto; display: flex; gap: 4px; flex-wrap: wrap; }
.demo-bar nav a {
	padding: 3px 9px; border-radius: 999px; border: 1px solid #48525D; color: #C9D2DA;
}
.demo-bar nav a:hover { background: #48525D; color: #fff; }
.demo-bar nav a[aria-current="page"] { background: var(--hs-red); border-color: var(--hs-red); color: #fff; }

/* ============================================================
   HEADER — koyu chrome
   ============================================================ */
.hs-header { background: var(--hs-ink); color: #E7ECF1; position: relative; z-index: 60; }

/* --- üst şerit: vaatler + mod anahtarı --- */
.hs-top {
	border-bottom: 1px solid var(--hs-ink-line);
	font-size: 12px;
	color: #9FAAB6;
}
.hs-top .hs-wrap { display: flex; align-items: center; gap: 18px; min-height: 34px; flex-wrap: wrap; }
.hs-top .promise { display: flex; align-items: center; gap: 6px; }
.hs-top .promise svg { width: 14px; height: 14px; flex: none; opacity: .8; }
.hs-top .spacer { margin-left: auto; }
.hs-top a:hover { color: #fff; }

/* Mod anahtarı — B2C / B2B */
.hs-top .mode-label { font-size: 11px; color: #7F8B97; }
.mode-switch {
	display: inline-flex; background: var(--hs-ink-3); border-radius: 999px; padding: 2px;
	border: 1px solid var(--hs-ink-line);
}
.mode-switch button {
	border: 0; background: transparent; color: #9FAAB6;
	padding: 3px 12px; border-radius: 999px; font-size: 11.5px; font-weight: 600; letter-spacing: .02em;
}
.mode-switch button[aria-pressed="true"] { background: #fff; color: var(--hs-ink); }
body.b2b .mode-switch button[aria-pressed="true"] { background: #4FA3CC; color: #06283A; }

/* --- ana satır: logo / arama / hesap / sepet --- */
.hs-main { display: flex; align-items: center; gap: 20px; padding: 14px 0; }
/* Logo yuksekligi: once 34px, sonra 29px idi; ikisinde de baslik
   satirini gereginden fazla dolduruyor ve 214px genisligiyle arama
   kutusunu sikistiriyordu. 24px'te logo 177px'e iniyor, arama
   kutusuna ~37px yer aciliyor, satir yuksekligi dusuyor.
   Alt yazi da orantili kuculdu; harf araligi neredeyse korundu,
   yoksa "ISITMA / SOGUTMA / IKLIMLENDIRME" logo genisligini asar. */
.hs-logo img { height: 24px; width: auto; }
.hs-logo .sub { font-size: 9.5px; color: #7F8B97; letter-spacing: .15em; margin-top: 3px; text-transform: uppercase; }

/* Arama */
.hs-search { flex: 1; min-width: 0; position: relative; }
.hs-search form {
	display: flex; background: #fff; border-radius: var(--hs-radius); overflow: hidden;
	border: 2px solid transparent;
}
.hs-search form:focus-within { border-color: var(--hs-red); }
.hs-search select {
	border: 0; background: #EEF1F4; color: var(--hs-text-2); padding: 0 10px;
	font-size: 12.5px; max-width: 150px; cursor: pointer; border-right: 1px solid var(--hs-line);
}
.hs-search input {
	flex: 1; border: 0; padding: 11px 12px; font-size: 14px; min-width: 0; color: var(--hs-text);
	/* Devralinan bootstrap input'a line-height:inherit (21px) veriyor;
	   kutu uzuyor ve header 170 yerine 175px oluyordu. "normal" hala
	   3px fazla veriyor (yazi tipi farki), bu yuzden demodaki degere
	   sabitlenir: 11+11 dolgu + 16 = 38px. */
	line-height: 16px;
}
.hs-search input:focus { outline: none; }
.hs-search button {
	border: 0; background: var(--hs-red); color: #fff; padding: 0 20px; display: flex; align-items: center;
}
.hs-search button:hover { background: var(--hs-red-dark); }
.hs-search .hint { font-size: 11.5px; color: #7F8B97; margin-top: 5px; display: flex; gap: 12px; flex-wrap: wrap; }
.hs-search .hint a { color: #A9B4BF; text-decoration: underline; text-underline-offset: 2px; }
.hs-search .hint a:hover { color: #fff; }

/* Arama önerileri */
.suggest {
	position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: #fff; color: var(--hs-text);
	border-radius: var(--hs-radius); box-shadow: var(--hs-shadow-lg); overflow: hidden; z-index: 70;
}
.suggest h4 { margin: 0; padding: 9px 14px 5px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--hs-text-3); }
.suggest a { display: flex; gap: 10px; align-items: center; padding: 8px 14px; }
.suggest a:hover { background: var(--hs-bg); }
.suggest a img { width: 34px; height: 34px; object-fit: contain; }
.suggest .s-name { font-size: 13px; }
.suggest .s-meta { font-size: 11.5px; color: var(--hs-text-3); }
.suggest .s-price { margin-left: auto; font-weight: 700; font-size: 13px; }

/* Hesap / sepet aksiyonları */
.hs-actions { display: flex; align-items: center; gap: 6px; }
.hs-act {
	display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: var(--hs-radius);
	color: #E7ECF1; position: relative;
}
.hs-act:hover { background: var(--hs-ink-2); }
.hs-act svg { width: 20px; height: 20px; flex: none; }
.hs-act .t1 { font-size: 10.5px; color: #8B97A3; line-height: 1.2; }
.hs-act .t2 { font-size: 13px; font-weight: 600; line-height: 1.2; }
.hs-act .badge {
	position: absolute; top: 2px; left: 24px; background: var(--hs-red); color: #fff;
	font-size: 10px; font-weight: 700; min-width: 17px; height: 17px; border-radius: 999px;
	display: grid; place-items: center; padding: 0 4px;
}
body.b2b .hs-act .badge { background: #4FA3CC; color: #06283A; }

/* --- gezinti satırı + mega menü --- */
.hs-nav { background: var(--hs-ink-2); border-top: 1px solid var(--hs-ink-line); }
.hs-nav .hs-wrap { display: flex; align-items: stretch; gap: 2px; }
.hs-nav a, .hs-nav button.navbtn {
	color: #C7D0D9; font-size: 13px; padding: 11px 13px; display: flex; align-items: center; gap: 7px;
	border: 0; background: transparent; white-space: nowrap;
}
.hs-nav a:hover, .hs-nav button.navbtn:hover { background: var(--hs-ink-3); color: #fff; }
.hs-nav .all { background: var(--hs-red); color: #fff; font-weight: 600; }
.hs-nav .all:hover { background: var(--hs-red-dark); color: #fff; }
.hs-nav .hot { color: #FF9AA0; }
.hs-nav .right { margin-left: auto; }

.mega {
	position: absolute; left: 0; right: 0; background: #fff; color: var(--hs-text);
	box-shadow: var(--hs-shadow-lg); z-index: 65; border-top: 3px solid var(--hs-red);
}
.mega .hs-wrap { display: grid; grid-template-columns: 262px 1fr 250px; gap: 0; }
.mega-list { border-right: 1px solid var(--hs-line); padding: 10px 0; }
.mega-list button {
	display: flex; width: 100%; align-items: center; gap: 10px; padding: 9px 16px;
	border: 0; background: transparent; text-align: right; font-size: 13.5px; color: var(--hs-text);
	text-align: left;
}
.mega-list button .ico { width: 18px; opacity: .55; flex: none; }
.mega-list button .arw { margin-left: auto; opacity: .35; }
.mega-list button:hover, .mega-list button[aria-selected="true"] {
	background: var(--hs-red-soft); color: var(--hs-red-dark); font-weight: 600;
}
.mega-list button[aria-selected="true"] .arw { opacity: 1; }
.mega-panel { padding: 18px 24px; }
.mega-cols { columns: 3; column-gap: 28px; }
.mega-cols .grp { break-inside: avoid; margin-bottom: 16px; }
.mega-cols h5 { margin: 0 0 6px; font-size: 12.5px; color: var(--hs-red-dark); text-transform: uppercase; letter-spacing: .04em; }
.mega-cols a { display: block; padding: 3px 0; font-size: 13px; color: var(--hs-text-2); }
.mega-cols a:hover { color: var(--hs-red); text-decoration: underline; }
.mega-cols a .n { color: var(--hs-text-3); font-size: 11.5px; }
.mega-feat { border-left: 1px solid var(--hs-line); padding: 18px; background: var(--hs-bg); }
.mega-feat h5 { margin: 0 0 10px; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--hs-text-3); }
.mega-feat .tool {
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 12px; margin-bottom: 10px;
}
.mega-feat .tool b { display: block; font-size: 13px; margin-bottom: 3px; }
.mega-feat .tool span { font-size: 12px; color: var(--hs-text-2); }
.mega-feat .tool.hl { border-color: var(--hs-red); border-width: 2px; }

/* Mobil menü tetikleyicisi */
.hs-burger { display: none; border: 0; background: transparent; color: #fff; padding: 8px; }

/* ============================================================
   ORTAK BİLEŞENLER
   ============================================================ */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border: 1px solid transparent; border-radius: var(--hs-radius);
	padding: 10px 16px; font-size: 13.5px; font-weight: 600; line-height: 1.2;
	transition: background .12s, border-color .12s;
}
.btn svg { width: 16px; height: 16px; }
.btn-primary { background: var(--hs-red); color: #fff; }
.btn-primary:hover { background: var(--hs-red-dark); }
.btn-dark { background: var(--hs-ink); color: #fff; }
.btn-dark:hover { background: var(--hs-ink-2); }
.btn-b2b { background: var(--hs-b2b); color: #fff; }
.btn-b2b:hover { background: #0B3F5C; }
.btn-ghost { background: #fff; color: var(--hs-text); border-color: var(--hs-line); }
.btn-ghost:hover { border-color: var(--hs-text-3); }
.btn-lg { padding: 13px 22px; font-size: 15px; }
.btn-block { display: flex; width: 100%; }

.chip {
	display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600;
	padding: 3px 8px; border-radius: 4px; background: var(--hs-bg); color: var(--hs-text-2);
	border: 1px solid var(--hs-line);
}
.chip-red   { background: var(--hs-red-soft);  color: var(--hs-red-dark); border-color: #F5C9CB; }
.chip-ok    { background: var(--hs-ok-soft);   color: var(--hs-ok);       border-color: #C6E6D5; }
.chip-warn  { background: var(--hs-warn-soft); color: var(--hs-warn);     border-color: #F3DEBB; }
.chip-info  { background: var(--hs-info-soft); color: var(--hs-info);     border-color: #C6E0EC; }
.chip-b2b   { background: var(--hs-b2b-soft);  color: var(--hs-b2b);      border-color: #C3DCEA; }
.chip-demo  { background: #EDEFF2; color: #6B7480; border: 1px dashed #B9C1CA; }

.card { background: var(--hs-surface); border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); }

.sec { margin: 28px 0; }
.sec-head { display: flex; align-items: flex-end; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
.sec-head h2 { margin: 0; font-size: 21px; letter-spacing: -.01em; }
.sec-head p { margin: 2px 0 0; font-size: 13px; color: var(--hs-text-2); }
.sec-head .more { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--hs-red); }
.sec-head .more:hover { text-decoration: underline; }

/* Demo notu — ölçüm bilgisi müşteri metninin içine karışmasın diye
   ayrı ve görünür biçimde işaretlenir. Gerçek temaya taşınmaz. */
.demo-note {
	display: flex; gap: 8px; align-items: flex-start;
	background: #EDEFF2; border: 1px dashed #B9C1CA; border-radius: var(--hs-radius);
	padding: 8px 11px; font-size: 12px; color: #5B646E; line-height: 1.5; margin-top: 10px;
}
.demo-note::before {
	content: "ÖLÇÜM"; flex: none; font-size: 9.5px; font-weight: 800; letter-spacing: .08em;
	background: #6B7480; color: #fff; border-radius: 3px; padding: 2px 5px; margin-top: 1px;
}
.demo-note code { background: #fff; padding: 0 3px; border-radius: 3px; font-size: 11px; }

.crumbs { font-size: 12.5px; color: var(--hs-text-2); padding: 14px 0 4px; display: flex; gap: 7px; flex-wrap: wrap; }
.crumbs a:hover { color: var(--hs-red); text-decoration: underline; }
.crumbs span { color: var(--hs-text-3); }

/* Yıldız puanı */
.stars { display: inline-flex; align-items: center; gap: 3px; }
.stars svg { width: 13px; height: 13px; }
.stars .on { fill: #E8A317; }
.stars .off { fill: #D6DBE0; }
.stars .cnt { font-size: 11.5px; color: var(--hs-text-2); margin-left: 3px; }

/* ============================================================
   ÜRÜN KARTI
   Kullanıcı notu: "tek resim + ad + kod" yetmez.
   Kart teknik özet, uyumluluk ipucu ve içerik sinyali taşır.
   ============================================================ */
.grid-products {
	display: grid; gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
}
/* Vitrin sıraları: geniş ekranda tam 6 sütun — auto-fill bırakılırsa
   1400px'te 5 kart + boşluk kalıyordu. */
.grid-products.g6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.pcard {
	background: var(--hs-surface); border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	display: flex; flex-direction: column; position: relative; overflow: hidden;
	transition: box-shadow .15s, border-color .15s;
}
.pcard:hover { box-shadow: var(--hs-shadow); border-color: #C9D0D7; }
.pcard .flags { position: absolute; top: 8px; left: 8px; display: flex; flex-direction: column; gap: 4px; z-index: 2; align-items: flex-start; }
.pcard .fav {
	position: absolute; top: 8px; right: 8px; z-index: 2; width: 30px; height: 30px; border-radius: 999px;
	background: rgba(255,255,255,.92); border: 1px solid var(--hs-line); display: grid; place-items: center; color: var(--hs-text-3);
}
.pcard .fav:hover { color: var(--hs-red); border-color: var(--hs-red); }
.pcard .ph { display: block; padding: 14px; background: #fff; }
.pcard .ph img { height: 152px; width: 100%; object-fit: contain; }
.pcard .body { padding: 0 12px 12px; display: flex; flex-direction: column; flex: 1; gap: 7px; }
.pcard .brand { font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--hs-text-3); text-transform: uppercase; }
.pcard h3 { margin: 0; font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.pcard h3 a:hover { color: var(--hs-red); }
.pcard .sku { font-size: 11.5px; color: var(--hs-text-3); font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; }

/* Kartın teknik özeti — asıl fark burada */
.pcard .specs { display: flex; flex-wrap: wrap; gap: 4px; }
.pcard .specs .s {
	font-size: 11px; background: var(--hs-bg); border: 1px solid var(--hs-line-soft);
	border-radius: 4px; padding: 2px 6px; color: var(--hs-text-2);
}
.pcard .specs .s b { color: var(--hs-text); font-weight: 600; }
/* gap 5px iken metin kartta tam sinirda kalip ikinci satira tasiyordu
   (span 171px, gereken 172px). 4px bunu kurtariyor. */
.pcard .fitnote { font-size: 11.5px; color: var(--hs-info); display: flex; gap: 4px; align-items: flex-start; }
.pcard .fitnote svg { width: 13px; height: 13px; flex: none; margin-top: 2px; }
.pcard .contentnote { font-size: 11.5px; color: var(--hs-text-2); display: flex; gap: 10px; flex-wrap: wrap; }
.pcard .contentnote span { display: inline-flex; gap: 4px; align-items: center; }
.pcard .contentnote svg { width: 12px; height: 12px; opacity: .6; }

.pcard .foot { margin-top: auto; padding-top: 8px; }
.price-block .old { font-size: 12px; color: var(--hs-text-3); text-decoration: line-through; }
.price-block .now { font-size: 19px; font-weight: 800; letter-spacing: -.02em; }
.price-block .vat { font-size: 11px; color: var(--hs-text-3); }
.price-block .inst { font-size: 11.5px; color: var(--hs-ok); font-weight: 600; }
.price-block .b2bline { font-size: 11.5px; color: var(--hs-b2b); font-weight: 600; }
.pcard .stock { font-size: 11.5px; font-weight: 600; margin: 5px 0 8px; display: flex; gap: 5px; align-items: center; }
.pcard .stock.in { color: var(--hs-ok); }
.pcard .stock.low { color: var(--hs-warn); }
.pcard .stock.out { color: var(--hs-text-3); }
.pcard .stock .dot { width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.pcard .cta { display: flex; gap: 6px; }
/* "Sepete ekle" bir form icinde; form flex ogesi olarak esner */
.pcard .cta .cta-form { flex: 1; display: flex; margin: 0; }
.pcard .cta .cta-form .btn { flex: 1; width: 100%; }

/* Bootstrap .btn:focus mavi halka + mavi kenarlik veriyor:
     .btn:focus { box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }
     .btn-primary:hover/:focus { border-color: #0062cc }
   Butonun uzerine gelince kartta mavi cerceve beliriyordu.
   Odak halkasi ERISILEBILIRLIK icin kaldirilmaz, tema rengine cekilir
   ve yalnizca klavye odaginda gosterilir. */
html body .btn:focus,
html body .btn.focus,
html body .btn:active:focus {
	box-shadow: none; outline: none;
}
html body .btn:focus-visible {
	outline: 2px solid var(--hs-red); outline-offset: 2px; box-shadow: none;
}
html body .btn-primary:hover,
html body .btn-primary:focus,
html body .btn-primary:not(:disabled):not(.disabled):active {
	background: var(--hs-red-dark); border-color: var(--hs-red-dark); color: #fff;
}
.pcard .cta .btn { flex: 1; padding: 9px 10px; font-size: 13px; }
.pcard .cmp { font-size: 11.5px; color: var(--hs-text-2); display: flex; gap: 6px; align-items: center; margin-top: 8px; }

/* B2C / B2B görünürlük anahtarları — tek kart, iki mod.
   Yalnız GİZLEME kuralı yazılır; görünen taraf kendi display değerini korur.
   (display:initial yazılsaydı div'ler satır içine düşer, .btn'in inline-flex'i
   ezilirdi — bu yüzden :not() ile sadece pasif taraf kapatılıyor.) */
body:not(.b2b) .only-b2b { display: none !important; }
body.b2b        .only-b2c { display: none !important; }

/* ============================================================
   ANA SAYFA
   ============================================================ */
.hero { display: grid; grid-template-columns: 1fr 300px; gap: 14px; margin-top: 16px; }
.hero-main {
	border-radius: var(--hs-radius-lg); overflow: hidden; position: relative;
	background: linear-gradient(115deg, #10151A 0%, #1E2831 52%, #35202A 100%);
	color: #fff; min-height: 328px; display: flex; align-items: center; padding: 40px;
}
.hero-main::after {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(560px 300px at 88% 24%, rgba(187,19,25,.42), transparent 70%);
}
.hero-main .in { position: relative; z-index: 2; max-width: 560px; }
.hero-main .kicker {
	font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: #FF9AA0; font-weight: 700;
}
.hero-main h1 { margin: 10px 0 12px; font-size: 34px; line-height: 1.15; letter-spacing: -.02em; }
.hero-main p { margin: 0 0 20px; color: #BAC4CE; font-size: 15px; max-width: 470px; }
.hero-main .btns { display: flex; gap: 10px; flex-wrap: wrap; }
.hero-side { display: grid; gap: 14px; grid-template-rows: 1fr 1fr; }
.hero-card {
	border-radius: var(--hs-radius-lg); padding: 18px; background: var(--hs-surface);
	border: 1px solid var(--hs-line); display: flex; flex-direction: column; justify-content: center;
}
.hero-card b { font-size: 15px; display: block; margin-bottom: 4px; }
.hero-card p { margin: 0 0 12px; font-size: 12.5px; color: var(--hs-text-2); }
.hero-card.dark { background: var(--hs-b2b); border-color: var(--hs-b2b); color: #fff; }
.hero-card.dark p { color: #BBD6E5; }

.trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--hs-line); border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); overflow: hidden; margin-top: 14px; }
.trust div { background: #fff; padding: 14px 16px; display: flex; gap: 11px; align-items: center; min-width: 0; }
.trust svg { width: 22px; height: 22px; color: var(--hs-red); flex: none; }
.trust div > div { min-width: 0; }
.trust b { display: block; font-size: 13px; }
.trust span { font-size: 11.5px; color: var(--hs-text-2); display: block; }

/* 10 kategori → 5+5. auto-fill bırakılırsa 1440px'te 8+2 kırılıyordu. */
/* Kutucuk sayısı artık katalogla değişiyor (karşılığı olmayan bölümler
   basılmıyor). Sabit 5 sütunda 4 kutucuk sağda delik bırakıyordu;
   auto-fit boş kolonu toplayıp satırı doldurur. */
.cat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(196px, 1fr)); gap: 12px; }
.cat-tile {
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	padding: 16px; text-align: center; transition: border-color .12s, transform .12s;
}
.cat-tile:hover { border-color: var(--hs-red); transform: translateY(-2px); }
.cat-tile .ico { width: 40px; height: 40px; margin: 0 auto 10px; color: var(--hs-red); }
.cat-tile b { display: block; font-size: 13.5px; margin-bottom: 3px; }
.cat-tile span { font-size: 11.5px; color: var(--hs-text-3); }

/* Seçici aracı — rakipte yok */
.selector {
	background: var(--hs-ink); color: #fff; border-radius: var(--hs-radius-lg); padding: 26px 28px;
	display: grid; grid-template-columns: 300px 1fr; gap: 28px; align-items: center;
}
.selector h2 { margin: 0 0 8px; font-size: 22px; letter-spacing: -.01em; }
.selector p { margin: 0; font-size: 13.5px; color: #A9B4BF; }
.selector .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.selector .step { background: var(--hs-ink-2); border: 1px solid var(--hs-ink-line); border-radius: var(--hs-radius); padding: 13px; }
.selector .step label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #7F8B97; margin-bottom: 6px; }
.selector .step select, .selector .step input {
	width: 100%; background: var(--hs-ink-3); border: 1px solid var(--hs-ink-line); color: #fff;
	border-radius: 4px; padding: 8px; font-size: 13px;
}
.selector .out { grid-column: 1 / -1; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding-top: 4px; }
.selector .out .res { background: var(--hs-red); border-radius: var(--hs-radius); padding: 9px 16px; font-weight: 700; }

/* Uyumluluk vitrini */
.compat-show { display: grid; grid-template-columns: 1fr 46px 1fr; gap: 16px; align-items: stretch; }
.compat-show .arrow { display: grid; place-items: center; color: var(--hs-text-3); font-size: 22px; }
.compat-pane { display: flex; flex-direction: column; }
.compat-pane { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 16px; }
.compat-pane h4 { margin: 0 0 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--hs-text-3); }
.compat-item { display: flex; gap: 11px; align-items: center; padding: 8px; border-radius: var(--hs-radius); }
.compat-item:hover { background: var(--hs-bg); }
.compat-item img { width: 46px; height: 46px; object-fit: contain; flex: none; }
.compat-item .n { font-size: 12.5px; font-weight: 600; line-height: 1.3; }
.compat-item .c { font-size: 11px; color: var(--hs-text-3); font-family: ui-monospace, Consolas, monospace; }

/* İçerik / rehber kartları — SEO ve ürün anlatımı önceliği */
.guides { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.guide { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.guide .top { background: linear-gradient(120deg, var(--hs-ink), var(--hs-ink-3)); color: #fff; padding: 18px; }
.guide .top .k { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #FF9AA0; font-weight: 700; }
.guide .top h3 { margin: 7px 0 0; font-size: 16px; line-height: 1.3; }
.guide .bd { padding: 14px 18px 18px; font-size: 13px; color: var(--hs-text-2); flex: 1; }
.guide .bd ul { margin: 8px 0 0; padding-left: 18px; }
.guide .bd li { margin: 3px 0; }
.guide .ft { padding: 0 18px 16px; font-size: 12.5px; font-weight: 600; color: var(--hs-red); }

.brands-strip { display: flex; gap: 10px; flex-wrap: wrap; }
.brands-strip .b {
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 12px 18px; font-weight: 700; color: var(--hs-text-2); font-size: 13.5px; letter-spacing: .02em;
	display: flex; align-items: center; gap: 8px;
}
.brands-strip .b:hover { border-color: var(--hs-red); color: var(--hs-red); }
.brands-strip .b .n { font-size: 11px; font-weight: 500; color: var(--hs-text-3); }

/* ============================================================
   KATEGORİ / LİSTE + FİLTRE PANELİ
   ============================================================ */
.listing { display: grid; grid-template-columns: 268px 1fr; gap: 20px; align-items: start; }

.filters { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); position: sticky; top: 12px; }
.filters > header { padding: 13px 15px; border-bottom: 1px solid var(--hs-line); display: flex; align-items: center; }
.filters > header b { font-size: 14px; }
.filters > header a { margin-left: auto; font-size: 12px; color: var(--hs-red); }
.fgroup { border-bottom: 1px solid var(--hs-line-soft); }
.fgroup > button {
	width: 100%; display: flex; align-items: center; gap: 8px; padding: 12px 15px;
	border: 0; background: transparent; font-size: 13px; font-weight: 600; text-align: left; color: var(--hs-text);
}
.fgroup > button .arw { margin-left: auto; transition: transform .15s; opacity: .5; }
.fgroup.open > button .arw { transform: rotate(180deg); }
.fgroup .fbody { padding: 0 15px 13px; display: none; }
.fgroup.open .fbody { display: block; }
.fopt { display: flex; align-items: center; gap: 9px; padding: 4px 0; font-size: 13px; color: var(--hs-text-2); cursor: pointer; }
.fopt input { width: 15px; height: 15px; accent-color: var(--hs-red); flex: none; }
.fopt .n { margin-left: auto; font-size: 11.5px; color: var(--hs-text-3); }
.fopt:hover { color: var(--hs-text); }
.fopt.disabled { opacity: .42; cursor: not-allowed; }
.frange { display: flex; gap: 8px; align-items: center; }
.frange input { width: 100%; border: 1px solid var(--hs-line); border-radius: 4px; padding: 7px 8px; font-size: 12.5px; }
.fmore { font-size: 12px; color: var(--hs-red); font-weight: 600; margin-top: 6px; display: inline-block; }

.list-head {
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	padding: 12px 15px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 14px;
}
.list-head .cnt { font-size: 13px; color: var(--hs-text-2); }
.list-head .cnt b { color: var(--hs-text); }
.list-head .right { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.list-head select { border: 1px solid var(--hs-line); border-radius: var(--hs-radius); padding: 8px 10px; font-size: 13px; background: #fff; }
.active-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.active-chips .ac {
	display: inline-flex; align-items: center; gap: 6px; background: var(--hs-red-soft); color: var(--hs-red-dark);
	border: 1px solid #F5C9CB; border-radius: 999px; padding: 4px 6px 4px 11px; font-size: 12px; font-weight: 600;
}
.active-chips .ac button { border: 0; background: transparent; color: inherit; padding: 0 2px; line-height: 1; font-size: 15px; }

/* Kategori SEO içeriği */
.seo-block { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 22px 26px; margin-top: 22px; }
.seo-block h2 { margin: 0 0 10px; font-size: 19px; }
.seo-block h3 { margin: 20px 0 7px; font-size: 15px; }
.seo-block p, .seo-block li { font-size: 13.5px; color: var(--hs-text-2); line-height: 1.65; }
.seo-block .fade { max-height: 190px; overflow: hidden; position: relative; }
.seo-block .fade::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 70px; background: linear-gradient(transparent, #fff); }
.seo-block table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 12px 0; }
.seo-block th, .seo-block td { border: 1px solid var(--hs-line); padding: 8px 11px; text-align: left; }
.seo-block th { background: var(--hs-bg); font-size: 12.5px; }

/* Karşılaştırma çubuğu */
.compare-bar {
	position: fixed; left: 0; right: 0; bottom: 0; background: var(--hs-ink); color: #fff; z-index: 80;
	box-shadow: 0 -6px 24px rgba(0,0,0,.28);
}
.compare-bar .hs-wrap { display: flex; gap: 12px; align-items: center; padding: 12px 16px; flex-wrap: wrap; }
.compare-bar .slot {
	width: 58px; height: 58px; background: #fff; border-radius: var(--hs-radius); display: grid; place-items: center;
	position: relative; flex: none;
}
.compare-bar .slot img { max-height: 46px; max-width: 46px; object-fit: contain; }
.compare-bar .slot.empty { background: transparent; border: 1px dashed var(--hs-ink-line); color: #5C6774; font-size: 11px; }
.compare-bar .slot button { position: absolute; top: -6px; right: -6px; width: 19px; height: 19px; border-radius: 999px; background: var(--hs-red); color: #fff; border: 0; font-size: 12px; line-height: 1; display: grid; place-items: center; }
/* Yuvalar `.slots` kabinin icinde; o kap flex DEGILDI ve
   kucuk gorseller alt alta diziliyordu -- cubuk tam sayfa
   yuksekliginde siyah bir blok gibi duruyordu. */
.compare-bar .slots { display: flex; gap: 9px; align-items: center; flex: none; }
.compare-bar .txt { font-size: 13px; color: #A9B4BF; }
.compare-bar .acts { margin-left: auto; display: flex; gap: 8px; }

/* ============================================================
   ÜRÜN DETAY — demonun ağırlık merkezi
   ============================================================ */
.pdp { display: grid; grid-template-columns: 96px minmax(0, 1fr) 350px; gap: 20px; align-items: start; }
.pdp-thumbs { display: flex; flex-direction: column; gap: 8px; position: sticky; top: 12px; }
.pdp-thumbs button {
	border: 2px solid var(--hs-line); border-radius: var(--hs-radius); background: #fff; padding: 5px; height: 82px;
}
.pdp-thumbs button[aria-selected="true"] { border-color: var(--hs-red); }
.pdp-thumbs button img { height: 100%; width: 100%; object-fit: contain; }
.pdp-thumbs .more {
	border: 2px dashed var(--hs-line); border-radius: var(--hs-radius); height: 82px; display: grid; place-items: center;
	font-size: 11px; color: var(--hs-text-3); background: var(--hs-bg);
}
.pdp-stage { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 26px; position: relative; }
.pdp-stage img { height: 400px; width: 100%; object-fit: contain; }
.pdp-stage .zoom { position: absolute; right: 14px; bottom: 14px; font-size: 11.5px; color: var(--hs-text-3); display: flex; gap: 6px; align-items: center; }
.pdp-stage .badges { position: absolute; top: 14px; left: 14px; display: flex; flex-direction: column; gap: 5px; align-items: flex-start; }

.pdp-buy { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 12px; }
.buy-box { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 16px; }
.buy-box .now { font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.buy-box .vat { font-size: 12px; color: var(--hs-text-3); }
.buy-box .old { font-size: 14px; color: var(--hs-text-3); text-decoration: line-through; }
.buy-box hr { border: 0; border-top: 1px solid var(--hs-line-soft); margin: 13px 0; }
.buy-box .row { display: flex; gap: 9px; align-items: flex-start; font-size: 12.5px; color: var(--hs-text-2); margin: 7px 0; }
.buy-box .row svg { width: 15px; height: 15px; flex: none; margin-top: 1px; color: var(--hs-text-3); }
.buy-box .row b { color: var(--hs-text); }
.qty { display: flex; border: 1px solid var(--hs-line); border-radius: var(--hs-radius); overflow: hidden; width: 118px; }
.qty button { border: 0; background: var(--hs-bg); width: 34px; font-size: 17px; color: var(--hs-text-2); }
.qty button:hover { background: var(--hs-line); }
.qty input { border: 0; width: 50px; text-align: center; font-size: 14px; font-weight: 600; }

/* B2B adet kademeli fiyat tablosu */
.tier { width: 100%; border-collapse: collapse; font-size: 12.5px; margin-top: 4px; }
.tier th, .tier td { border: 1px solid var(--hs-line); padding: 6px 9px; text-align: center; }
.tier th { background: var(--hs-b2b-soft); color: var(--hs-b2b); font-size: 11.5px; }
.tier tr.cur td { background: var(--hs-b2b-soft); font-weight: 700; }

/* Montaj hizmeti eklentisi */
.addon { border: 1px solid var(--hs-line); border-radius: var(--hs-radius); padding: 11px; display: flex; gap: 10px; align-items: flex-start; }
.addon input { margin-top: 2px; accent-color: var(--hs-red); width: 16px; height: 16px; }
.addon b { font-size: 13px; display: block; }
.addon span { font-size: 12px; color: var(--hs-text-2); }

.pdp-title h1 { margin: 6px 0 8px; font-size: 25px; line-height: 1.28; letter-spacing: -.01em; }
.pdp-title .meta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: 12.5px; color: var(--hs-text-2); padding-bottom: 12px; border-bottom: 1px solid var(--hs-line); }
.pdp-title .meta .sku { font-family: ui-monospace, Consolas, monospace; }
.pdp-title .brandline { display: flex; gap: 10px; align-items: center; }
.pdp-title .brandline .bl { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hs-red); }

/* Kilit özellikler — sayfanın üstünde, satın alma kararını burada verir */
.keyspecs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1px; background: var(--hs-line); border: 1px solid var(--hs-line); border-radius: var(--hs-radius); overflow: hidden; margin: 16px 0; }
.keyspecs div { background: #fff; padding: 11px 13px; }
.keyspecs .k { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--hs-text-3); }
.keyspecs .v { font-size: 14px; font-weight: 700; margin-top: 2px; }

.pdp-lead { font-size: 14.5px; line-height: 1.65; color: var(--hs-text-2); }
.pdp-lead strong { color: var(--hs-text); }

/* Sekmeler */
.tabs { border-bottom: 2px solid var(--hs-line); display: flex; gap: 2px; overflow-x: auto; margin-top: 26px; }
.tabs button {
	border: 0; background: transparent; padding: 12px 16px; font-size: 13.5px; font-weight: 600;
	color: var(--hs-text-2); border-bottom: 3px solid transparent; margin-bottom: -2px; white-space: nowrap;
}
.tabs button:hover { color: var(--hs-text); }
.tabs button[aria-selected="true"] { color: var(--hs-red); border-bottom-color: var(--hs-red); }
.tabs button .n { font-size: 11px; color: var(--hs-text-3); font-weight: 500; }
.tabpane { background: #fff; border: 1px solid var(--hs-line); border-top: 0; border-radius: 0 0 var(--hs-radius-lg) var(--hs-radius-lg); padding: 26px 30px; }
.tabpane h2 { margin: 0 0 12px; font-size: 20px; }
.tabpane h3 { margin: 24px 0 8px; font-size: 15.5px; }
.tabpane p, .tabpane li { font-size: 14px; line-height: 1.7; color: var(--hs-text-2); }
.tabpane ul { padding-left: 20px; }

.spec-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.spec-table caption { text-align: left; font-weight: 700; font-size: 14px; padding: 16px 0 8px; color: var(--hs-text); }
.spec-table th, .spec-table td { border: 1px solid var(--hs-line); padding: 9px 13px; text-align: left; vertical-align: top; }
.spec-table th { background: var(--hs-bg); width: 40%; font-weight: 600; color: var(--hs-text); }
.spec-table td { color: var(--hs-text-2); }
.spec-table .unit { color: var(--hs-text-3); font-size: 12px; }

/* Dokümanlar sekmesi (ürün detayı) — kategoriye göre gruplu liste.
   Masaüstünde iki sütun; 760px altında tek sütun, satır içi düzen korunur. */
.doc-list { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.doc {
	display: flex; gap: 12px; align-items: center; border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius); padding: 11px 14px; background: #fff;
	color: var(--hs-text); text-decoration: none; min-width: 0;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.doc:hover, .doc:focus-visible { border-color: var(--hs-red); box-shadow: var(--hs-shadow); text-decoration: none; color: var(--hs-text); }
.doc:focus-visible { outline: 2px solid var(--hs-red); outline-offset: 1px; }
.doc .ic { width: 38px; height: 44px; border-radius: 5px; background: var(--hs-red-soft); color: var(--hs-red); display: grid; place-items: center; flex: none; font-size: 10px; font-weight: 800; letter-spacing: .03em; position: relative; }
.doc .ic::after { content: ""; position: absolute; top: 0; right: 0; border-width: 0 9px 9px 0; border-style: solid; border-color: #fff #fff rgba(187,19,25,.18) rgba(187,19,25,.18); border-bottom-left-radius: 3px; }
.doc .ic-zip, .doc .ic-dwg, .doc .ic-dxf, .doc .ic-stp, .doc .ic-step { background: var(--hs-info-soft); color: var(--hs-info); }
.doc .ic-zip::after, .doc .ic-dwg::after, .doc .ic-dxf::after, .doc .ic-stp::after, .doc .ic-step::after { border-color: #fff #fff rgba(14,90,125,.2) rgba(14,90,125,.2); }
.doc .ic-doc, .doc .ic-docx { background: #EAF0FA; color: #2B579A; }
.doc .ic-web { background: var(--hs-bg); color: var(--hs-text-2); border-radius: 50%; width: 38px; height: 38px; }
.doc .ic-web::after { display: none; }
.doc .tx { min-width: 0; flex: 1; }
.doc b { font-size: 13.5px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; }
.doc .tx span { display: block; font-size: 11.5px; color: var(--hs-text-3); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc .lang { flex: none; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: var(--hs-text-2); border: 1px solid var(--hs-line); border-radius: 4px; padding: 2px 6px; background: var(--hs-bg); }
.doc .dl { margin-left: 2px; flex: none; display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: var(--hs-red); }
.doc .dl svg { width: 16px; height: 16px; }
.doc .dl i { font-style: normal; }
.hs-docs-head p { margin: 0 0 6px; max-width: 760px; }
.hs-docs-group { margin-top: 22px; }
.hs-docs-group h3 { margin: 0 0 10px !important; font-size: 13px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--hs-text-2); display: flex; align-items: center; gap: 8px; }
.hs-docs-group h3 .n { font-size: 11px; font-weight: 700; color: var(--hs-text-3); background: var(--hs-bg); border-radius: 10px; padding: 1px 8px; letter-spacing: 0; }
.tabpane .hs-docs-note { margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--hs-line-soft); font-size: 12.5px; color: var(--hs-text-3); }
@media (max-width: 760px) {
	.doc-list { grid-template-columns: 1fr; }
	.doc { padding: 10px 12px; gap: 10px; }
	.doc .dl i { display: none; }
	.doc .tx span { white-space: normal; }
	.doc .dl { width: 34px; height: 34px; justify-content: center; border-radius: 50%; background: var(--hs-red-soft); }
}

.compat-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.compat-table th, .compat-table td { border: 1px solid var(--hs-line); padding: 9px 11px; text-align: left; }
.compat-table th { background: var(--hs-bg); font-size: 12.5px; }
.compat-table td.ok { color: var(--hs-ok); font-weight: 600; }
.compat-table td.no { color: var(--hs-text-3); }

.qa { border-bottom: 1px solid var(--hs-line-soft); padding: 14px 0; }
.qa .q { display: flex; gap: 9px; font-weight: 600; font-size: 14px; }
.qa .q .t { flex: none; width: 20px; height: 20px; border-radius: 4px; background: var(--hs-ink); color: #fff; display: grid; place-items: center; font-size: 11px; }
.qa .a { display: flex; gap: 9px; margin-top: 8px; font-size: 13.5px; color: var(--hs-text-2); }
.qa .a .t { flex: none; width: 20px; height: 20px; border-radius: 4px; background: var(--hs-red); color: #fff; display: grid; place-items: center; font-size: 11px; }
.qa .who { font-size: 11.5px; color: var(--hs-text-3); margin-top: 4px; }

.review { border-bottom: 1px solid var(--hs-line-soft); padding: 15px 0; }
.review .hd { display: flex; gap: 10px; align-items: center; }
.review .av { width: 32px; height: 32px; border-radius: 999px; background: var(--hs-bg); display: grid; place-items: center; font-weight: 700; color: var(--hs-text-2); font-size: 12px; }
.review .nm { font-size: 13px; font-weight: 600; }
.review .dt { font-size: 11.5px; color: var(--hs-text-3); }
.review p { margin: 8px 0 0; font-size: 13.5px; }
.rating-summary { display: grid; grid-template-columns: 190px 1fr; gap: 26px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--hs-line); }
.rating-summary .big { font-size: 44px; font-weight: 800; line-height: 1; }
.rating-bars { display: grid; gap: 5px; }
.rating-bars .r { display: flex; gap: 9px; align-items: center; font-size: 12px; color: var(--hs-text-2); }
.rating-bars .bar { flex: 1; height: 7px; background: var(--hs-line); border-radius: 999px; overflow: hidden; }
.rating-bars .bar i { display: block; height: 100%; background: #E8A317; }

/* ============================================================
   SEPET / ÖDEME
   ============================================================ */
.cart-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 20px; align-items: start; }
.cart-item { display: grid; grid-template-columns: 92px 1fr auto; gap: 15px; padding: 16px; border-bottom: 1px solid var(--hs-line-soft); }
.cart-item .im { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius); padding: 7px; }
.cart-item .im img { height: 76px; object-fit: contain; }
.cart-item h3 { margin: 0 0 4px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.cart-item .sku { font-size: 11.5px; color: var(--hs-text-3); font-family: ui-monospace, Consolas, monospace; }
.cart-item .lines { font-size: 12px; color: var(--hs-text-2); margin-top: 6px; display: flex; gap: 12px; flex-wrap: wrap; }
.cart-item .acts { display: flex; gap: 12px; margin-top: 9px; font-size: 12.5px; }
.cart-item .acts button { border: 0; background: transparent; color: var(--hs-text-2); padding: 0; text-decoration: underline; }
.cart-item .acts button:hover { color: var(--hs-red); }
.cart-item .pr { text-align: right; min-width: 130px; }
.cart-item .pr .l { font-size: 17px; font-weight: 800; }
.cart-item .pr .u { font-size: 11.5px; color: var(--hs-text-3); }

.summary { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 18px; position: sticky; top: 12px; }
.summary h3 { margin: 0 0 14px; font-size: 16px; }
.summary .l { display: flex; justify-content: space-between; font-size: 13.5px; color: var(--hs-text-2); margin: 8px 0; }
.summary .l b { color: var(--hs-text); }
.summary .l.free b { color: var(--hs-ok); }
.summary .tot { display: flex; justify-content: space-between; align-items: baseline; margin: 14px 0; padding-top: 14px; border-top: 1px solid var(--hs-line); }
.summary .tot span { font-size: 15px; font-weight: 700; }
.summary .tot b { font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.summary .note { font-size: 11.5px; color: var(--hs-text-3); margin-top: 10px; }
.coupon { display: flex; gap: 7px; margin: 14px 0; }
.coupon input { flex: 1; border: 1px solid var(--hs-line); border-radius: var(--hs-radius); padding: 9px 11px; font-size: 13px; min-width: 0; }

.freeship { background: var(--hs-ok-soft); border: 1px solid #C6E6D5; border-radius: var(--hs-radius); padding: 10px 12px; font-size: 12.5px; color: var(--hs-ok); margin-bottom: 14px; }
.freeship .bar { height: 6px; background: #fff; border-radius: 999px; overflow: hidden; margin-top: 7px; }
.freeship .bar i { display: block; height: 100%; background: var(--hs-ok); }

.steps-bar { display: flex; gap: 0; margin: 16px 0 22px; }
.steps-bar .st { flex: 1; display: flex; gap: 10px; align-items: center; padding: 12px 14px; background: #fff; border: 1px solid var(--hs-line); font-size: 13.5px; color: var(--hs-text-3); }
.steps-bar .st:first-child { border-radius: var(--hs-radius-lg) 0 0 var(--hs-radius-lg); }
.steps-bar .st:last-child { border-radius: 0 var(--hs-radius-lg) var(--hs-radius-lg) 0; }
.steps-bar .st + .st { border-left: 0; }
.steps-bar .st .n { width: 24px; height: 24px; border-radius: 999px; background: var(--hs-bg); display: grid; place-items: center; font-size: 12px; font-weight: 700; flex: none; }
.steps-bar .st.done { color: var(--hs-ok); }
.steps-bar .st.done .n { background: var(--hs-ok-soft); color: var(--hs-ok); }
.steps-bar .st.cur { color: var(--hs-text); font-weight: 600; border-color: var(--hs-red); }
.steps-bar .st.cur .n { background: var(--hs-red); color: #fff; }

.panel { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 20px; margin-bottom: 14px; }
.panel > h3 { margin: 0 0 14px; font-size: 16px; display: flex; gap: 9px; align-items: center; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field label { display: block; font-size: 12px; font-weight: 600; color: var(--hs-text-2); margin-bottom: 5px; }
.field input, .field select, .field textarea {
	width: 100%; border: 1px solid var(--hs-line); border-radius: var(--hs-radius); padding: 10px 12px; font-size: 13.5px;
	font-family: inherit;
}
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--hs-red); outline-offset: -1px; border-color: var(--hs-red); }
.field .err { color: var(--hs-red); font-size: 11.5px; margin-top: 4px; display: flex; gap: 5px; align-items: center; }
.field.invalid input { border-color: var(--hs-red); background: #FFFBFB; }
.field .full { grid-column: 1 / -1; }
.span2 { grid-column: 1 / -1; }

.pay-methods { display: grid; gap: 9px; }
.pay-opt { border: 1px solid var(--hs-line); border-radius: var(--hs-radius); padding: 13px 15px; display: flex; gap: 11px; align-items: flex-start; cursor: pointer; }
.pay-opt input { margin-top: 2px; accent-color: var(--hs-red); width: 16px; height: 16px; }
.pay-opt.sel { border-color: var(--hs-red); background: #FFFBFB; border-width: 2px; padding: 12px 14px; }
.pay-opt b { font-size: 13.5px; display: block; }
.pay-opt span { font-size: 12px; color: var(--hs-text-2); }
.inst-table { width: 100%; border-collapse: collapse; font-size: 12.5px; margin-top: 12px; }
.inst-table th, .inst-table td { border: 1px solid var(--hs-line); padding: 7px 9px; text-align: center; }
.inst-table th { background: var(--hs-bg); font-size: 11.5px; }
.inst-table td.hl { background: var(--hs-ok-soft); font-weight: 700; color: var(--hs-ok); }

.bank-logos { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.bank-logos span { border: 1px solid var(--hs-line); border-radius: 4px; padding: 5px 9px; font-size: 11px; color: var(--hs-text-2); background: #fff; }

/* ============================================================
   ARAMA
   ============================================================ */
.search-empty { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 46px 30px; text-align: center; }
.search-empty .ic { width: 60px; height: 60px; margin: 0 auto 16px; color: var(--hs-text-3); }
.search-empty h2 { margin: 0 0 8px; font-size: 21px; }
.search-empty p { margin: 0 auto 20px; font-size: 14px; color: var(--hs-text-2); max-width: 480px; }
.search-empty .sugs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 24px; }
.search-empty .sugs a { border: 1px solid var(--hs-line); border-radius: 999px; padding: 7px 14px; font-size: 13px; color: var(--hs-text-2); background: #fff; }
.search-empty .sugs a:hover { border-color: var(--hs-red); color: var(--hs-red); }
.search-empty .help { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: left; max-width: 760px; margin: 0 auto; }
.search-empty .help div { background: var(--hs-bg); border-radius: var(--hs-radius); padding: 14px; }
.search-empty .help b { font-size: 13px; display: block; margin-bottom: 3px; }
.search-empty .help span { font-size: 12.5px; color: var(--hs-text-2); }

.didyoumean { background: var(--hs-warn-soft); border: 1px solid #F3DEBB; border-radius: var(--hs-radius); padding: 11px 14px; font-size: 13.5px; margin-bottom: 14px; }
.didyoumean a { color: var(--hs-red); font-weight: 700; text-decoration: underline; }

/* ============================================================
   FOOTER
   ============================================================ */
.hs-footer { background: var(--hs-ink); color: #A9B4BF; margin-top: 40px; }
.foot-top { border-bottom: 1px solid var(--hs-ink-line); padding: 28px 0; }
.foot-top .hs-wrap { display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; align-items: center; }
.foot-top h3 { margin: 0 0 5px; color: #fff; font-size: 19px; }
.foot-top p { margin: 0; font-size: 13.5px; }
.foot-form { display: flex; gap: 8px; }
.foot-form input { flex: 1; border: 1px solid var(--hs-ink-line); background: var(--hs-ink-2); color: #fff; border-radius: var(--hs-radius); padding: 11px 13px; font-size: 13.5px; min-width: 0; }
.foot-main { padding: 34px 0; }
.foot-main .hs-wrap { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 26px; }
.foot-col h4 { margin: 0 0 12px; color: #fff; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.foot-col a { display: block; padding: 4px 0; font-size: 13px; }
.foot-col a:hover { color: #fff; }
.foot-brand img { height: 32px; margin-bottom: 14px; }
.foot-brand p { font-size: 13px; line-height: 1.65; margin: 0 0 14px; }
.foot-brand .ct { font-size: 13px; margin: 5px 0; display: flex; gap: 8px; align-items: center; }
.foot-brand .ct svg { width: 15px; height: 15px; opacity: .6; }
/* Calisma saati telefonun yaninda, sonmus tonda */
.foot-brand .ct em { font-style: normal; color: #7F8B97; font-size: 12px; }
.foot-bottom { border-top: 1px solid var(--hs-ink-line); padding: 16px 0; font-size: 12px; }
.foot-bottom .hs-wrap { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.foot-bottom .pay { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.foot-bottom .pay span { border: 1px solid var(--hs-ink-line); border-radius: 4px; padding: 4px 8px; font-size: 10.5px; }

/* ============================================================
   MOBİL
   ============================================================ */
.m-only { display: none; }
.mobile-drawer {
	position: fixed; inset: 0 auto 0 0; width: min(88vw, 340px); background: #fff; z-index: 200;
	transform: translateX(-100%); transition: transform .22s ease; overflow-y: auto;
	box-shadow: var(--hs-shadow-lg);
}
.mobile-drawer.open { transform: translateX(0); }
.mobile-drawer header { background: var(--hs-ink); color: #fff; padding: 15px; display: flex; align-items: center; gap: 10px; }
.mobile-drawer header img { height: 26px; }
.mobile-drawer header button { margin-left: auto; border: 0; background: transparent; color: #fff; font-size: 22px; line-height: 1; }
.mobile-drawer .m-mode { padding: 12px 15px; background: var(--hs-bg); border-bottom: 1px solid var(--hs-line); }
.mobile-drawer a, .mobile-drawer .mgrp > button {
	display: flex; width: 100%; align-items: center; gap: 10px; padding: 13px 15px;
	border-bottom: 1px solid var(--hs-line-soft); font-size: 14px; border: 0; background: transparent; text-align: left; color: var(--hs-text);
}
.mobile-drawer .mgrp > button .arw { margin-left: auto; opacity: .4; }
.mobile-drawer .mgrp .sub { display: none; background: var(--hs-bg); }
.mobile-drawer .mgrp.open .sub { display: block; }
.mobile-drawer .mgrp .sub a { padding-left: 30px; font-size: 13px; color: var(--hs-text-2); }
.scrim { position: fixed; inset: 0; background: rgba(16,21,26,.5); z-index: 150; }

.sticky-buy {
	position: fixed; left: 0; right: 0; bottom: 0; background: #fff; border-top: 1px solid var(--hs-line);
	padding: 10px 14px; display: none; gap: 12px; align-items: center; z-index: 90; box-shadow: 0 -3px 14px rgba(0,0,0,.09);
}
.sticky-buy .p { font-size: 18px; font-weight: 800; }
.sticky-buy .btn { margin-left: auto; }

.filter-fab { display: none; }

@media (max-width: 1320px) {
	.grid-products.g6 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
	.pdp { grid-template-columns: 80px minmax(0,1fr) 310px; }
	.foot-main .hs-wrap { grid-template-columns: 1fr 1fr 1fr; }
	.grid-products.g6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1000px) {
	.hero { grid-template-columns: 1fr; }
	.hero-side { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.selector { grid-template-columns: 1fr; }
	.selector .steps { grid-template-columns: 1fr 1fr; }
	.listing { grid-template-columns: 1fr; }
	.filters { display: none; position: fixed; inset: auto 0 0 0; top: 60px; z-index: 210; border-radius: var(--hs-radius-lg) var(--hs-radius-lg) 0 0; overflow-y: auto; }
	.filters.open { display: block; }
	.filter-fab {
		display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--hs-line); background: #fff;
		border-radius: var(--hs-radius); padding: 8px 13px; font-size: 13px; font-weight: 600;
	}
	.pdp { grid-template-columns: 1fr; }
	.pdp-thumbs { flex-direction: row; position: static; overflow-x: auto; }
	.pdp-thumbs button, .pdp-thumbs .more { width: 74px; height: 74px; flex: none; }
	.pdp-buy { position: static; }
	.cart-layout { grid-template-columns: 1fr; }
	.summary { position: static; }
	.compat-show { grid-template-columns: 1fr; }
	.compat-show .arrow { transform: rotate(90deg); }
	.trust { grid-template-columns: 1fr 1fr; }
	.search-empty .help { grid-template-columns: 1fr; }
	.grid-products.g6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cat-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.m-only { display: initial; }
	.d-only { display: none !important; }
	.hs-burger { display: block; }
	.hs-nav { display: none; }
	.hs-main { flex-wrap: wrap; gap: 10px; padding: 11px 0; }
	/* Logo mobilde 34px yüksekliğinde ~250px genişliğe çıkıp satırı tek başına
	   kaplıyordu; küçültülünce hamburger + logo + aksiyonlar tek satıra sığıyor. */
	.hs-logo img { height: 21px; }
	.hs-logo .sub { display: none; }
	.hs-actions { margin-left: auto; }
	.hs-search { order: 3; flex-basis: 100%; }
	.hs-search select { display: none; }
	.hs-search .hint { display: none; }
	.hs-top .promise:nth-child(n+2) { display: none; }
	.hs-act .t1, .hs-act .t2 { display: none; }
	.hs-act .badge { left: 22px; }
	.hero-main { padding: 26px 22px; min-height: 250px; }
	.hero-main h1 { font-size: 25px; }
	.hero-side { grid-template-columns: 1fr; }
	.selector .steps { grid-template-columns: 1fr; }
	.grid-products { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
	.grid-products.g6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.cat-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcard .ph img { height: 118px; }
	.pcard .specs { display: none; }
	.form-grid { grid-template-columns: 1fr; }
	.steps-bar { flex-direction: column; }
	.steps-bar .st { border-radius: 0 !important; border-left: 1px solid var(--hs-line) !important; }
	.steps-bar .st + .st { border-top: 0; }
	.foot-main .hs-wrap { grid-template-columns: 1fr 1fr; }
	.foot-top .hs-wrap { grid-template-columns: 1fr; }
	.cart-item { grid-template-columns: 72px 1fr; }
	.cart-item .pr { grid-column: 2; text-align: left; }
	.pdp-stage img { height: 260px; }
	.pdp-title h1 { font-size: 20px; }
	.tabpane { padding: 18px; }
	.spec-table th { width: 50%; }
	.rating-summary { grid-template-columns: 1fr; }
	.sticky-buy { display: flex; }
	body.has-sticky-buy { padding-bottom: 68px; }
	.compare-bar .slot:nth-child(n+4) { display: none; }
	.trust { grid-template-columns: 1fr; }
	/* Demo şeridi mobilde 3 satıra yayılıp asıl tasarımı aşağı itiyordu */
	.demo-bar { padding: 5px 0; font-size: 10.5px; }
	.demo-bar > .hs-wrap > span { display: none; }
	.demo-bar nav { margin-left: 0; gap: 3px; }
	.demo-bar nav a { padding: 2px 7px; font-size: 10.5px; }
}

/* ============================================================
   ============================================================
   IMFLEXI KÖPRÜSÜ
   ------------------------------------------------------------
   Yukarısı tasarım sistemidir (demo ile birebir).
   Aşağısı, imflexi'nin ÜRETTİĞİ işaretlemeyi o tasarıma bağlar.
   Sınıf adları uydurma değildir; Navigation renderleyicisinin ve
   tema şablonlarının gerçekten bastığı sınıflardır.
   ============================================================
   ============================================================ */

/* ---------- header aksiyonları (common/main.html) ---------- */
.hs-act .ik { position: relative; display: grid; place-items: center; }
.hs-act .tx { display: flex; flex-direction: column; line-height: 1.2; }
.hs-act .t1 { font-size: 10.5px; color: #8B97A3; }
.hs-act .t2 { font-size: 13px; font-weight: 600; }
.hs-act .badge {
	position: absolute; top: -6px; right: -8px; background: var(--hs-red); color: #fff;
	font-size: 10px; font-weight: 700; min-width: 17px; height: 17px; border-radius: 999px;
	display: grid; place-items: center; padding: 0 4px; font-style: normal;
}

/* ---------- hero yardımcıları ---------- */
.hero-ghost { background: transparent; color: #fff; border-color: #4A5560; }
.hero-ghost:hover { background: rgba(255,255,255,.08); border-color: #6B7684; }
.btn-beyaz { background: #fff; color: var(--hs-b2b); }
.btn-beyaz:hover { background: #EAF2F7; }

/* ---------- güven şeridi ---------- */
.trust div > div { display: flex; flex-direction: column; gap: 2px; }

/* ---------- kategori kutucukları ---------- */
.cat-tile .ico {
	display: block; width: 34px; height: 34px; margin: 0 auto 10px;
	border-radius: 8px; background: var(--hs-red-soft); border: 1px solid #F5C9CB;
}

/* ---------- kapasite seçici ---------- */
.selector .out .kw { color: #A9B4BF; font-size: 13px; }
.selector .out .kw b { color: #fff; }
.selector .out .btn { margin-left: auto; }

/* ---------- B2B çağrısı ---------- */
.hs-b2b-cta { padding: 26px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.hs-b2b-cta h2 { margin: 0 0 6px; font-size: 20px; }
.hs-b2b-cta p  { margin: 0; color: var(--hs-text-2); font-size: 14px; max-width: 640px; }
.hs-b2b-cta .acts { display: flex; gap: 9px; flex-wrap: wrap; }

/* ============================================================
   ANA SAYFA BLOKLARI — Navigation renderleyicisinin çıktısı

   Yapı:
     .list-item.list-type-TIP.level-N.menu_uniq_ID
       .head-item.head-type-TIP
       .sub-content > .sub-content-inner > .row > cocuklar

   menu_uniq_ID sınıfı sayesinde TEK bir blok ayrıca biçimlendirilebilir.
   ============================================================ */
.index-rows { margin-top: 26px; }
.index-rows .container { max-width: none; padding: 0; width: auto; }

/* Blok başlığı — demodaki .sec-head ile aynı görünür.
   Navigatör tek bir <a> basıyor: içinde .text (başlık) ve .desc
   (açıklama). Demoda başlık üstte, açıklama altında, sağda kırmızı
   "Tümü →" bağlantısı var. Bağlantı zaten başlığın kendisi olduğu
   için sağdaki metin ::after ile eklenir — ayrı bir <a> gerekmez. */
.index-rows .head-item {
	display: grid; grid-template-columns: 1fr auto; align-items: end;
	gap: 2px 14px; margin: 28px 0 14px; color: var(--hs-text); text-decoration: none;
}
.index-rows .head-item .text {
	grid-column: 1; font-size: 21px; font-weight: 700; letter-spacing: -.01em; color: var(--hs-text);
}
.index-rows .head-item .desc {
	grid-column: 1; font-size: 13px; color: var(--hs-text-2); font-weight: 400;
}
.index-rows .list-type-products .head-item::after {
	content: "Tümü →"; grid-column: 2; grid-row: 1 / span 2; align-self: end;
	font-size: 13px; font-weight: 600; color: var(--hs-red); white-space: nowrap;
}
.index-rows .head-item:hover .text { color: var(--hs-red); }
.index-rows .head-item:hover::after { text-decoration: underline; }

/* Urun bloklari Owl Carousel icinde geliyor:
   .sub-type-products > .owl-carousel > .owl-stage-outer > .owl-stage > .owl-item
   Karusel korunur (blok basina kac urun gosterilecegi PANELDEN ayarlanir:
   carousel_configs -> responsive -> items). CSS yalnizca araligi ve
   kart yuksekligini duzenler. */
.index-rows .sub-type-products .owl-stage { display: flex; align-items: stretch; }
/* Owl öğeler arasındaki boşluğu KENDİ margin-right'ıyla veriyor.
   Buraya ayrıca padding eklenince aralık ikiye katlanıyor ve kart
   demodakinden ~12px dar kalıyordu — o genişlikte kart içindeki
   "N ürünle uyumluluğu doğrulanmış" satırı ikiye bölünüyor. */
.index-rows .sub-type-products .owl-item { display: flex; padding: 0; }
.index-rows .sub-type-products .owl-item > * { width: 100%; }
.index-rows .sub-type-products .owl-carousel { margin: 0; width: auto; }

/* Karusel kapaliysa (carousel:owl verilmemisse) satir izgaraya duser */
.index-rows .sub-type-products > .row,
.index-rows .sub-type-products-inner > .row {
	display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px; margin: 0;
}
.index-rows .sub-type-products > .row > *,
.index-rows .sub-type-products-inner > .row > * { max-width: none; padding: 0; flex: none; }

/* Owl gezinme oklari — demo estetigi */
.index-rows .owl-nav button.owl-prev,
.index-rows .owl-nav button.owl-next {
	position: absolute; top: 38%; width: 36px; height: 36px; border-radius: 999px;
	background: #fff !important; border: 1px solid var(--hs-line) !important;
	color: var(--hs-text) !important; box-shadow: var(--hs-shadow); font-size: 18px !important;
}
.index-rows .owl-nav button.owl-prev { left: -8px; }
.index-rows .owl-nav button.owl-next { right: -8px; }
.index-rows .owl-nav button:hover { border-color: var(--hs-red) !important; color: var(--hs-red) !important; }
.index-rows .owl-dots { display: none; }
.index-rows .sub-type-products { position: relative; }

/* ------------------------------------------------------------
   GÜVEN ŞERİDİ (panelde "Row - Advantages")

   Navigatör bu bloğu iç içe basıyor:
     <span class="text">Başlık<span class="desc">Açıklama</span></span>
   .desc satır içi olduğu için başlıkla bitişik yazılıyordu
   ("Aynı Gün KargoHafta içi 11:00'a kadar…"). Blok yapılır ve
   demodaki .trust kutucuğu gibi biçimlenir.
   ------------------------------------------------------------ */
.index-rows .advantages-bar-col {
	display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 1px;
	background: var(--hs-line); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); overflow: hidden;
}
.index-rows .advantages-bar-col > .list-item { background: #fff; }
.index-rows .advantages-bar-col .head-item {
	display: block; margin: 0; padding: 14px 16px; height: 100%;
}
.index-rows .advantages-bar-col .head-item .text {
	display: block; font-size: 13px; font-weight: 700; color: var(--hs-text);
}
.index-rows .advantages-bar-col .head-item .desc {
	display: block; margin-top: 3px; font-size: 11.5px; line-height: 1.5;
	color: var(--hs-text-2); font-weight: 400;
}
.index-rows .advantages-bar-col .head-item::after { content: none; }

@media (max-width: 780px) {
	.index-rows .advantages-bar-col { grid-auto-flow: row; grid-auto-columns: auto; }
}

.index-rows .sub-type-row-inner > .row {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px; margin: 0;
}
/* Ögeler bootstrap col-* sınıflarını taşıyor. Bootstrap'in kendi
   yüzde genişliği ızgara hücresinin içinde ikinci kez uygulanınca
   kutular hücrenin üçte birine büzülüyordu — ızgara zaten paylaştırıyor. */
.index-rows .sub-type-row-inner > .row > * {
	max-width: none; width: auto; flex: none; padding: 0;
}
/* ------------------------------------------------------------
   GÖRSEL BLOKLAR (panelde "type:image")

   Navigatör bunları <figure class="image-effect"> içinde basıyor,
   başlık <figcaption><h2> olarak geliyor — .text değil. Devralınan
   effect-* CSS'i kaldırıldığı için (bkz. configs.php) kutu biçimsiz
   kalıyordu: görsel doğal boyunda, başlık devasa ve sola dayalı.
   Burada demodaki kart diline çekilir.
   ------------------------------------------------------------ */
.index-rows .list-type-image .head-item {
	margin: 0; display: block;
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	overflow: hidden; transition: border-color .12s, transform .12s;
}
.index-rows .list-type-image .head-item::after { content: none; }
.index-rows .list-type-image .head-item:hover {
	border-color: var(--hs-red); transform: translateY(-2px);
}
.index-rows .list-type-image figure { margin: 0; position: relative; }
.index-rows .list-type-image img {
	display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain;
	background: #fff; padding: 14px;
}
.index-rows .list-type-image figcaption {
	border-top: 1px solid var(--hs-line); padding: 11px 14px; text-align: center;
}
.index-rows .list-type-image figcaption h2 {
	margin: 0; font-size: 14px; font-weight: 600; color: var(--hs-text); letter-spacing: 0;
}
/* Navigatör başlığı "Oda <span>Termostatları</span>" diye bölüyor;
   span'i satır kırmasın. */
.index-rows .list-type-image figcaption h2 span { font-weight: 600; }
.index-rows .list-type-image .text {
	display: block; font-size: 14px; font-weight: 600; margin-top: 8px; text-align: center;
}

/* ============================================================
   ÜRÜN KARTI — layouts/products/product-list-item.*.php
   ============================================================ */
.product-list-item {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); overflow: hidden; height: 100%;
	transition: box-shadow .15s, border-color .15s; position: relative;
}
.product-list-item:hover { box-shadow: var(--hs-shadow); border-color: #C9D0D7; }
.product-list-item-inner { display: flex; flex-direction: column; height: 100%; }

.product-list-item-figure { padding: 14px; background: #fff; margin: 0; }
.product-list-item-figure img { height: 152px; width: 100%; object-fit: contain; }
.product-list-item-figure .carousel-control-prev,
.product-list-item-figure .carousel-control-next,
.product-list-item-figure .carousel-indicators { display: none; }

.product-list-item-body { padding: 0 12px 12px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.product-list-item-body .title { margin: 0; font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.product-list-item-body .title a { color: var(--hs-text); }
.product-list-item-body .title a:hover { color: var(--hs-red); }

.product-list-item .price { margin-top: auto; padding-top: 8px; }
.product-list-item .price .product-final-price {
	font-size: 19px; font-weight: 800; letter-spacing: -.02em; color: var(--hs-text);
}
.product-list-item .price del, .product-list-item .price .product-price {
	font-size: 12px; color: var(--hs-text-3); text-decoration: line-through;
}

.product-list-item .buttons { display: flex; gap: 6px; margin-top: 8px; }
.product-list-item .buttons .btn { flex: 1; padding: 9px 10px; font-size: 13px; }

.product-list-badges {
	position: absolute; top: 8px; left: 8px; display: flex; flex-direction: column;
	gap: 4px; align-items: flex-start; z-index: 2;
}
.product-badge {
	font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 4px;
	background: var(--hs-bg); color: var(--hs-text-2); border: 1px solid var(--hs-line);
}
.product-badge.shipping-free { background: var(--hs-ok-soft); color: var(--hs-ok); border-color: #C6E6D5; }
.product-badge.shipping-next-day { background: var(--hs-info-soft); color: var(--hs-info); border-color: #C6E0EC; }
.product-badge.last-stock { background: var(--hs-warn-soft); color: var(--hs-warn); border-color: #F3DEBB; }

.product-list-item .ratings { font-size: 12px; color: var(--hs-text-3); }
.product-list-item .in-stock-badge { font-size: 11.5px; font-weight: 600; color: var(--hs-ok); }

/* ============================================================
   FOOTER MENÜSÜ — site.menu.footer nav çıktısı
   ============================================================ */
.foot-main .hs-wrap > .list-item { min-width: 0; }

/* Sütun BAŞLIĞI — yalnız en üst düzey öge.
   Navigatör her düzeye .head-item veriyor; seçici > ile
   sınırlanmazsa alt bağlantılar da büyük harf ve kalın oluyor
   ("KULLANICI HESABI"), demoda ise normal metin. */
.foot-main .hs-wrap > .list-item > .head-item {
	display: block; color: #fff; font-size: 13px; text-transform: uppercase;
	letter-spacing: .06em; margin-bottom: 12px; font-weight: 700;
}
/* Alt bağlantılar — demodaki .foot-col a ile aynı */
.foot-main .list-item .sub-content .head-item,
.foot-main .list-item .sub-content a {
	display: block; padding: 4px 0; margin: 0; font-size: 13px; font-weight: 400;
	text-transform: none; letter-spacing: 0; color: #A9B4BF;
}
.foot-main .list-item .sub-content .head-item:hover,
.foot-main .list-item .sub-content a:hover { color: #fff; }
.foot-main .list-item .sub-content .row { display: block; margin: 0; }

.foot-brands { border-top: 1px solid var(--hs-ink-line); padding: 18px 0; }
.foot-brands .hs-wrap { display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
.foot-brands .lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #7F8B97; flex: none; }
.foot-brands .liste { display: flex; gap: 8px; flex-wrap: wrap; }
.foot-brands .liste span {
	font-size: 12.5px; color: #A9B4BF; border: 1px solid var(--hs-ink-line);
	border-radius: 4px; padding: 4px 10px;
}

/* ---------- sayfa blokları ---------- */
.hs-sayfa-baslik { font-size: 25px; margin: 22px 0 14px; letter-spacing: -.01em; }
.hs-sayfa { padding: 22px 0; }

/* Izgara DEGIL flex.
   Eskiden `grid-template-columns: 250px minmax(0,1fr)` kosulsuzdu.
   `block.page-content-area` yan menuyu <tpl ifset> ile basiyor ve
   icerik sayfalarinin cogunda yan menu YOK; o zaman govde ilk sutuna
   -- yani 250px'e -- dusuyor ve metin sayfanin solunda dar bir serit
   halinde akiyordu. Flex'te yan menu yoksa govde tum genisligi alir. */
.hs-sayfa-alan {
	display: flex; gap: 28px; align-items: flex-start;
	/* Ust bosluk KAPSAYICIDA durur. Karta verilseydi yan sutun daha
	   yukarida baslar, iki blok ayni hizaya gelmezdi. */
	padding: 26px 0 44px;
}
.hs-sayfa-yan { flex: 0 0 250px; position: sticky; top: 14px; }
.hs-sayfa-govde { flex: 1 1 auto; min-width: 0; }

.hs-sayfa-nav {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 10px;
}
.hs-sayfa-nav ul { list-style: none; margin: 0; padding: 0; }
.hs-sayfa-nav a { display: block; padding: 8px 12px; border-radius: var(--hs-radius); font-size: 13.5px; color: var(--hs-text-2); }
.hs-sayfa-nav a:hover { background: var(--hs-bg); color: var(--hs-red); text-decoration: none; }
.hs-uyari { background: var(--hs-warn-soft); border: 1px solid #F3DEBB; border-radius: var(--hs-radius-lg); padding: 16px 18px; margin: 18px 0; }

.hs-body { min-height: 40vh; }

@media (max-width: 1180px) {
	.index-rows .sub-type-products-inner > .row { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (max-width: 1000px) {
	.index-rows .sub-type-products-inner > .row { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.hs-b2b-cta { grid-template-columns: 1fr; }
	/* Tek sütuna inince yan gezinti METNİN ÜSTÜNDE kalıyordu:
	   ziyaretçi sayfayı açıp önce bir bağlantı listesi görüyordu.
	   Sıra çevrildi — önce içerik, sonra bölümün diğer sayfaları. */
	.hs-sayfa-alan { flex-direction: column; gap: 18px; }
	.hs-sayfa-govde { order: 1; }
	.hs-sayfa-yan { order: 2; flex: 1 1 auto; width: 100%; position: static; }
}
@media (max-width: 760px) {
	.index-rows .sub-type-products-inner > .row { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
}

/* ---------- kategori kutucugu: henuz katalogda olmayanlar ---------- */
.cat-tile.yakinda { border-style: dashed; background: #FAFBFC; }
.cat-tile.yakinda b { color: var(--hs-text-2); }
.cat-tile.yakinda span:last-child { color: var(--hs-text-3); font-style: italic; }
.cat-tile.yakinda .ico { background: #EDEFF2; border-color: #DDE2E7; }

/* ---------- uyumluluk vitrini ---------- */
.compat-item.secili { background: var(--hs-red-soft); border: 1px solid #F5C9CB; }
.compat-aciklama { font-size: 12.5px; color: var(--hs-text-2); margin: 10px 0 12px; line-height: 1.6; }
.compat-kriter { border-top: 1px solid var(--hs-line-soft); padding-top: 12px; margin-top: auto; }
.compat-kriter .baslik {
	font-size: 11px; text-transform: uppercase; letter-spacing: .05em;
	color: var(--hs-text-3); margin-bottom: 8px;
}
.compat-kriter .satir { display: flex; gap: 8px; align-items: center; font-size: 12.5px; padding: 3px 0; }
.compat-kriter .satir .ok { color: var(--hs-ok); font-weight: 700; }
.compat-kriter .satir span:nth-child(2) { color: var(--hs-text-2); }
.compat-kriter .satir b { margin-left: auto; }
.compat-kriter p { font-size: 12px; color: var(--hs-text-2); margin: 10px 0 0; line-height: 1.55; }

/* ---------- guven seridi ikonlari (saf CSS, ikon fontu yok) ---------- */
.trust div::before {
	content: ""; flex: none; width: 26px; height: 26px; border-radius: 6px;
	background: var(--hs-red-soft); border: 1px solid #F5C9CB;
}

/* ============================================================
   DEMO ILE BIREBIR — devralinan temanin ezdigi yerler
   themes/default/assets/css/main.css ve mods/*/products.css
   BENIM DOSYAMDAN SONRA yukleniyor. Asagidaki kurallar o yuzden
   daha yuksek ozgullukle yazildi.
   ============================================================ */

/* ---------- TİPOGRAFİ ----------
   Devralinan tema Google Fonts'tan Open Sans yukluyor. Demo ise
   sistem yazi tipi yiginini kullaniyor. Demo ile ayni olsun diye
   govde ve baslik ailesi burada sabitlenir. */
html body,
html body .hs-wrap,
html body .hs-header,
html body .hs-footer,
html body .index-rows {
	font-family: "Segoe UI", Inter, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
}
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html body .btn, html body input, html body select, html body textarea, html body button {
	font-family: inherit;
}

/* ---------- HOVER ALT ÇİZGİSİ ----------
   Devralinan temada a:hover { text-decoration: underline } var.
   Demoda alt cizgi YOK; yalniz renk degisir. */
html body a,
html body a:hover,
html body a:focus,
html body .hs-header a:hover,
html body .hs-footer a:hover,
html body .index-rows a:hover,
html body .cat-tile:hover,
html body .brands-strip .b:hover,
html body .compat-item:hover { text-decoration: none; }

/* Demoda alt cizgi SADECE bu iki yerde var */
html body .sec-head .more:hover,
html body .foot-brand .ct a:hover { text-decoration: underline; }

/* ---------- İKONLAR ----------
   .ico artik bos <span> degil, satir ici SVG. Onceki kutu stili silinir. */
.cat-tile .ico {
	width: 40px; height: 40px; margin: 0 auto 10px;
	color: var(--hs-red); background: none; border: 0; border-radius: 0;
	display: block;
}
.trust div > svg {
	width: 22px; height: 22px; color: var(--hs-red); flex: none;
}
.trust div::before { content: none; }   /* onceki sahte ikon kutusu */

.mega-list button .ico { width: 18px; height: 18px; opacity: .55; flex: none; }

/* ---------- BOŞ VİTRİN (veri bekleyen bolum) ---------- */
/* .hs-bos-vitrin KALDIRILDI — ana sayfadaki "bu bölüm ürün girişini
   bekliyor" yer tutucusuyla birlikte (bkz. mods/index/home.html §7). */

/* ---------- MARKA ŞERİDİ (ana sayfa) ---------- */
.brands-strip .b.yakinda { border-style: dashed; color: var(--hs-text-3); background: #FAFBFC; }
.brands-strip .b.yakinda .n { font-style: italic; }

/* ---------- HEADER AKSİYONLARI ----------
   Devralinan tema .hs-act icindeki baglantilari mavi/altcizgili
   yapabiliyor; demo ile ayni olsun diye sabitlenir. */
html body .hs-header .hs-act { color: #E7ECF1; }
html body .hs-header .hs-act:hover { background: var(--hs-ink-2); color: #fff; }
html body .hs-header .hs-act .t1 { color: #8B97A3; }

/* ============================================================
   TİPOGRAFİ AĞIRLIĞI — "her yeri farkli" sorununun kaynagi

   themes/default/assets/css/main.css tum basliklara
   font-weight: 500 veriyor. Demo tarayicinin varsayilanina
   (bold = 700) guveniyor. Aile duzeltilmisti ama AGIRLIK
   geri alinmamisti; bu yuzden sayfadaki her baslik daha ince
   goruunuyordu.
   ============================================================ */
/* Devralinan tema h1..h6 icin line-height'i sikistiriyor; demo govde
   satir yuksekligini (1.5) miras aliyor. Ayni davranisa donuluyor. */
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6 { font-weight: 700; line-height: 1.5; }

html body .hero-main h1 { font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
html body .sec-head h2  { font-weight: 700; letter-spacing: -.01em; line-height: 1.5; }
html body .selector h2  { font-weight: 700; letter-spacing: -.01em; line-height: 1.5; }
html body .foot-top h3  { font-weight: 700; line-height: 1.5; }
html body .guide .top h3{ font-weight: 700; line-height: 1.3; }
html body .hs-b2b-cta h2{ font-weight: 700; line-height: 1.5; }

/* Demoda kart basligi 600, kalin degil */
html body .pcard h3,
html body .product-list-item-body .title { font-weight: 600; }

/* ---------- ARAMA ÇUBUĞU ----------
   Demoda kutu 64px yuksekliginde: ust satir arama, alt satir
   "Sik aranan" ipuclari. Ayrica kategori secici sabit genislikte. */
.hs-search select { max-width: 150px; width: 150px; }
.hs-search input  { flex: 1; }

/* ---------- KATEGORİ KUTUCUĞU ----------
   Demoda tum kutucuklar AYNI gorunur; "yakinda" kavrami demoda yok.
   Katalogda olmayanlari yine ayirt edilebilir tutuyoruz ama zemin ve
   baslik rengi demoyla ayni kalsin diye yalniz alt satir soluk. */
.cat-tile.yakinda { background: #fff; border-style: solid; }
.cat-tile.yakinda b { color: var(--hs-text); }
.cat-tile.yakinda .ico { color: var(--hs-red); opacity: .45; }
.cat-tile.yakinda span:last-child { color: var(--hs-text-3); font-style: normal; }

/* ---------- MARKA ŞERİDİ ---------- */
.brands-strip .b.yakinda { background: #fff; border-style: solid; color: var(--hs-text-2); }
.brands-strip .b.yakinda .n { font-style: normal; }

/* ---------- BUTON: demo ile ayni yukseklik ----------
   Bootstrap .btn line-height:1.5 ve 1rem font veriyor; kart icindeki
   dar butonda metin iki satira sariyor ve buton 51px oluyor.
   Demoda 36px, tek satir. */
html body .btn { line-height: 1.2; white-space: nowrap; }
html body .pcard .cta .btn { padding: 9px 10px; font-size: 13px; }

/* ---------- DEVRALINAN ŞABLONLARIN BOOTSTRAP KALIPLARI ----------
   themes/default kaldirilinca Bootstrap'in negatif kenar bosluklu
   .card-deck'ini telafi eden kural da gitti; giris sayfasinda
   15px yatay tasma yapiyordu. Negatif marj yerine gap kullanilir. */
html body .card-deck { margin-left: 0; margin-right: 0; gap: 14px; }
html body .card-deck > .card { margin-left: 0; margin-right: 0; flex: 1 1 0; }

/* Guvenlik agi: hicbir sayfa yatay kaydirma uretmesin */
html body { overflow-x: hidden; }

/* ---------- KART BAŞLIĞI: 2 satirda sabit ----------
   Gercek urun adlari demodakinden uzun ("VBI60.32-25T - Siemens Ic Disli
   3 Yollu Kuresel Vana DN32 PN40" gibi) ve 4 satira sariyordu; kartlar
   farkli yukseklikte oluyordu. Demodaki gibi 2 satirda kirpilir,
   tam ad title ile ve urun sayfasinda gorunur. */
html body .pcard h3 {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	overflow: hidden; min-height: 36px;
}

/* ============================================================
   KATEGORİ / ÜRÜN LİSTESİ SAYFASI

   İşaretleme themes/default/mods/products/products.html'den
   devralınır (bootstrap kart + akordeon + btn-toolbar). Şablon
   geçersiz kılınmaz — 775 satırlık dosyayı çatallamak yerine
   sınıflar demodaki karşılıklarına köprülenir:

     .products-row-inner   -> .listing   (268px yan panel + içerik)
     .products-filters     -> .filters
     .product-filter.card  -> .fgroup
     .list-group-item      -> .fopt
     .products-toolbar     -> .list-head
     .list-basics          -> .active-chips
     .products-list        -> .grid-products
   ============================================================ */

/* --- sayfa başlığı + kırıntı --- */
.products-area-header {
	display: flex; flex-direction: column; padding: 0;
	background: transparent; border: 0; margin: 0 0 12px;
}
/* İşaretlemede h1 önce, kırıntı sonra geliyor; demoda kırıntı üstte. */
.products-area-header .breadcrumb-nav { order: -1; }
html body .products-area-header h1,
html body .products-area-header h1.font-weight-light {
	margin: 6px 0 0; font-size: 26px; letter-spacing: -.02em;
	color: var(--hs-text); line-height: 1.2;
	/* bootstrap .font-weight-light kendi !important'ini tasiyor */
	font-weight: 700 !important;
}
.products-area-header .breadcrumb,
.products-area-header .breadcrumb-nav ol {
	display: flex; gap: 7px; flex-wrap: wrap; list-style: none;
	margin: 0; padding: 14px 0 0; background: transparent;
	font-size: 12.5px; color: var(--hs-text-2);
}
.products-area-header .breadcrumb-item + .breadcrumb-item::before {
	content: "/"; color: var(--hs-text-3); padding-right: 7px;
}
.products-area-header .breadcrumb-item.active { color: var(--hs-text-3); }

/* --- üst araç çubuğu --- */
html body .products-toolbar {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 9px 13px; margin-bottom: 14px;
	/* Devralinan kural `position: sticky` + `z-index: 1050` veriyordu.
	   Yapiskan haliyle sayfa kaydirilinca urun izgarasinin UZERINDE
	   yuzuyor, kartlari kapatiyordu. Demoda da yapiskan degil —
	   listenin basinda duran normal bir serit. */
	position: static;
	z-index: 40;
}
.products-toolbar .btn-toolbar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.products-toolbar .btn-group { display: inline-flex; gap: 6px; }
html body .products-toolbar .btn {
	border: 1px solid var(--hs-line); background: #fff; color: var(--hs-text-2);
	border-radius: var(--hs-radius); padding: 7px 11px; font-size: 12.5px; font-weight: 600;
	box-shadow: none;
}
html body .products-toolbar .btn:hover { border-color: var(--hs-red); color: var(--hs-red); }
html body .products-toolbar .btn.active,
html body .products-toolbar .filters-btn.active {
	background: var(--hs-red-soft); border-color: #F5C9CB; color: var(--hs-red-dark);
}
.products-toolbar .text-muted { font-size: 13px; color: var(--hs-text-2) !important; }
.products-toolbar .ml-auto { margin-left: auto !important; }

/* --- düzen: yan panel + liste --- */
html body .products-row .products-row-inner {
	display: grid; grid-template-columns: 268px minmax(0, 1fr);
	gap: 20px; align-items: start;
}
/* Devralinan kural paneli inline-block yapiyor; izgara hucresi olsun */
html body .products-row .products-filters { display: block; }
/* Filtre paneli kapaliyken liste tam genislik alsin */
html body .products-area:not(.filters-active) .products-row-inner { grid-template-columns: minmax(0, 1fr); }
html body .products-area:not(.filters-active) .products-filters { display: none; }

/* --- filtre paneli --- */
html body .products-filters {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); overflow: hidden;
	position: sticky; top: 12px; padding: 0; width: auto;
}
html body .products-filters .product-filter.card {
	border: 0; border-bottom: 1px solid var(--hs-line-soft);
	border-radius: 0; background: transparent; margin: 0; box-shadow: none;
}
html body .products-filters .product-filter-header {
	padding: 12px 15px; background: transparent; border: 0;
	font-size: 13px; font-weight: 600; color: var(--hs-text); cursor: pointer;
}
html body .products-filters .product-filter-header:hover { color: var(--hs-red); }
html body .products-filters .product-filter-content { padding: 0 15px 11px; }
html body .products-filters .list-group,
html body .products-filters .list-group-flush { border: 0; background: transparent; }
html body .products-filters .list-group-item {
	border: 0; background: transparent; padding: 4px 0;
	font-size: 13px; color: var(--hs-text-2);
}
html body .products-filters .list-group-item:hover { color: var(--hs-red); }
html body .products-filters .list-group-item.active {
	background: transparent; color: var(--hs-red-dark); font-weight: 600;
}
html body .products-filters .badge {
	background: transparent; color: var(--hs-text-3);
	font-size: 11.5px; font-weight: 400; padding: 0;
}

/* ------------------------------------------------------------
   LİSTE ÜSTÜNDEKİ İKİ ŞERİT — birbirine benzememeleri şart

   1) SEÇİLİ FİLTRELER  (#filterGroupSelecteds)
      Gerçekten uygulanmış filtreler. Kırmızı çip + (×);
      tıklayınca seçim kalkar — href zaten kaldırma bağlantısıdır.

   2) HIZLI GEÇİŞ KISAYOLLARI  (.list-basics)
      Seçim DEĞİL. "Bu listede şu kırılımlar var" demek: Tüm
      Ürünler'de kategoriler, kategori sayfasında markalar.
      Hiçbir zaman seçili duruma gelmez → nötr çerçeve, (×) yok.

   Önceden ikisi de kırmızı çip + (×) görünüyordu. Kısayollar
   seçilmiş gibi duruyor ama sol panelde hiçbiri işaretli
   olmadığı için sayfa kendi kendisiyle çelişiyordu.
   ------------------------------------------------------------ */

/* 1) seçili filtreler */
html body .products-list > #filterGroupSelecteds {
	/* .card sinifi bootstrap'ten flex-direction:column aliyor —
	   yon acikca yatay verilmezse serit alt alta diziliyor. */
	display: flex; flex-flow: row wrap; gap: 6px; align-items: center;
	background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 12px;
	box-shadow: none;
}
/* display:contents — kart sarmalayıcıları şeridi bozmasın,
   çipler doğrudan flex öğesi olsun */
/* .d-flex ve .show kendi !important'lerini tasiyor; contents onlari
   yenmezse baslik/temizle/cipler ayri satirlara dusuyor. */
html body #filterGroupSelecteds .product-filter-header,
html body #filterGroupSelecteds .product-filter-content,
html body #filterGroupSelecteds .list-group { display: contents !important; }
html body #filterGroupSelecteds .product-filter-header-title {
	/* Sablonda bu etikette bootstrap'in `flex-fill` sinifi var
	   (flex: 1 1 auto !important). Serit yatay flex olunca etiket
	   kalan alanin TAMAMINI yiyor, ilk cip saga itiliyor ve
	   digerleri alt satira dusuyordu -- ekranda "SEÇIMLER ....
	   Marka: Siemens" bir satir, "Dönme momenti: 10 Nm  temizle"
	   alt satir. Etiket kendi genisliginde kalmali. */
	flex: 0 0 auto !important;
	font-size: 11.5px; font-weight: 600; color: var(--hs-text-3);
	text-transform: uppercase; letter-spacing: .04em; padding: 0;
	margin-right: 4px;
}
html body #filterGroupSelecteds .list-group-item {
	display: inline-flex; align-items: center; gap: 6px; width: auto;
	background: var(--hs-red-soft); color: var(--hs-red-dark);
	border: 1px solid #F5C9CB; border-radius: 999px;
	padding: 4px 10px 4px 11px; font-size: 12px; font-weight: 600;
}
html body #filterGroupSelecteds .list-group-item::after {
	content: "\00d7"; font-size: 15px; line-height: 1; opacity: .75;
}
html body #filterGroupSelecteds .list-group-item:hover {
	background: #F5C9CB; color: var(--hs-red-dark);
}
/* Panelde kare kutu basan kural bu şeritte geçerli değil */
html body #filterGroupSelecteds .list-group-item > span:first-of-type::before { content: none; }
html body #filterGroupSelecteds .list-group-item .badge { display: none; }
/* "Seçimleri temizle" — şeridin sonunda sade bağlantı */
html body #filterGroupSelecteds .product-filter-header-actions { order: 99; }
html body #filterGroupSelecteds .btn-clear {
	font-size: 12px; font-weight: 600; color: var(--hs-red); white-space: nowrap;
}
html body #filterGroupSelecteds .btn-clear .badge {
	display: inline; background: transparent; color: inherit; padding: 0; font-size: 12px;
}
html body #filterGroupSelecteds .btn-clear .badge::after { content: attr(data-endtext); }
html body #filterGroupSelecteds .btn-clear:hover { text-decoration: underline; }

/* 2) hızlı geçiş kısayolları — nötr */
html body .products-list .list-basics {
	display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 14px;
}
.list-basics::before {
	content: "Hızlı geçiş:"; font-size: 11.5px; color: var(--hs-text-3);
	text-transform: uppercase; letter-spacing: .04em; font-weight: 600;
}
/* Devralinan products.css sunu veriyor ve BU DOSYADAN SONRA yukleniyor:
     .products-list .list-basics .item   { padding: .5em .5em .5em 1em }
     .products-list .list-basics .item A { padding: 1em; border-radius: 8px }
   Cip buyuk ve koseli kaliyordu. Secici .products-list ile eslenerek
   ozgulluk asiliyor (bkz. DURUM.md tuzak 17). */
html body .products-list .list-basics .item { display: block; padding: 0; }
html body .products-list .list-basics .item a {
	display: inline-flex; align-items: center;
	background: var(--hs-surface); color: var(--hs-text-2);
	border: 1px solid var(--hs-line); border-radius: 999px;
	padding: 4px 11px; font-size: 12px; font-weight: 500;
}
html body .products-list .list-basics .item a em { font-style: normal; }
html body .products-list .list-basics .item a:hover {
	border-color: var(--hs-red); color: var(--hs-red);
}
/* Devralinan .list-basics .item.active A mavi 2px cerceve veriyor
   (--primary). Aktif kisayol vurgulanmali ama tema renginde ve
   kaldirma isareti (x) olmadan — kaldirma isi secilenler seridinde. */
html body .products-list .list-basics .item.active a {
	border: 1px solid var(--hs-red); background: var(--hs-red-soft); color: var(--hs-red-dark);
}

/* --- ürün ızgarası --- */
/* Devralinan products.css su kurallari koyuyor:
     .products-row .products-list  { display: inline-block; width: 100% }
     .products-area.filters-active .products-list { width: calc(100% - 300px) }
     .products-row .products-filters { width: 300px }
   Kartlar bu yuzden duzensiz genislikte akiyordu (234-761px).
   Secici .products-row ile eslenerek ozgullugu asilir; genislikler
   izgaraya birakilir. */
html body .products-row .products-list,
html body .products-area.filters-active .products-list {
	width: auto;
}
html body .products-row .products-filters { width: auto; padding-top: 0; }
html body .products-row .products-list {
	display: grid; gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
	/* stretch: ayni satirdaki kartlar esit boy olsun (demoda oyle) */
	align-items: stretch;
}
/* Çipler ve sayfalama ızgaranın tam genişliğini kaplar */
html body .products-row .products-list > .list-basics,
/* Secili filtre seridi de tam genislik ister. Listede yoktu; bu
   yuzden tek bir izgara sutununa (238px) sikisip cipleri alt alta
   diziyordu. */
html body .products-row .products-list > #filterGroupSelecteds,
html body .products-row .products-list > .products-toolbar,
html body .products-row .products-list > .clearfix,
html body .products-row .products-list > nav,
html body .products-row .products-list > .pagination-area { grid-column: 1 / -1; }
html body .products-row .products-list > .clearfix { display: none; }

/* Araç çubuğu artık ürün sütununun içinde (demodaki .list-head).
   products-area.content'teki boş kopya yer kaplamasın. */
html body .products-content-area > .products-toolbar:empty,
html body .products-content-area > nav.products-toolbar:not(:has(.btn-toolbar)) { display: none; }
html body .products-row .products-list > .products-toolbar { margin-bottom: 0; }

/* --- filtre paneli başlığı --- */
html body .products-row .products-filters .filters-head {
	display: flex; align-items: center; gap: 10px;
	padding: 13px 15px; border-bottom: 1px solid var(--hs-line);
}
html body .products-row .products-filters .filters-head b { font-size: 14px; color: var(--hs-text); }
html body .products-row .products-filters .filters-head a {
	margin-left: auto; font-size: 12px; color: var(--hs-red); font-weight: 600;
}
html body .products-row .products-filters .filters-head a:hover { text-decoration: underline; }
/* Başlık artık işaretlemede var; ::before ile basılan geçici kopya kalksın */
html body .products-row .products-filters::before { content: none; }

/* --- filtre seçenekleri ---
   Devralınan products.css zaten FontAwesome ile işaret basıyor:
     boş  \f10c (circle-o)   seçili \f058 (check-circle)
   Demoda bunlar KARE onay kutusu. Mantık aynen korunur, yalnız
   ikon değiştirilir — kendi ::before kutumuzu eklemek işareti
   çiftliyordu.

   DİKKAT: .list-group-item iki ayrı şey olabilir. Marka/öznitelik
   gruplarında doğrudan <a>, kategori grubunda ise içinde <a> ve
   alt <ul> taşıyan bir <div> (ağaç). Bu yüzden kurallar bağlantıya
   uygulanır, kapsayıcıya değil — kapsayıcıya flex verilince
   kategori ağacı dağılıyor. */
html body .product-filter-content .list-group-item > a > span:first-of-type::before,
html body .product-filter-content a.list-group-item > span:first-of-type::before {
	content: "\f096";                      /* square-o */
	color: var(--hs-line-strong, #C7CED5);
	font-size: 1.15em;
}
html body .product-filter-content .list-group-item > a:hover > span:first-of-type::before,
html body .product-filter-content a.list-group-item:hover > span:first-of-type::before {
	content: "\f096";
	color: var(--hs-red);
}
html body .product-filter-content .list-group-item > a.active > span:first-of-type::before,
html body .product-filter-content a.list-group-item.active > span:first-of-type::before,
html body .product-filter-content .list-group-item > a.active:hover > span:first-of-type::before {
	content: "\f14a";                      /* check-square */
	color: var(--hs-red);
}
html body .product-filter-content .list-group-item > a,
html body .product-filter-content a.list-group-item { padding: 4px 0; }

/* Alt kategoriler girintili — ağaç olduğu belli olsun */
html body .product-filter-content .list-group-item .list-group { padding-left: 18px; }
html body .products-list .pcard { width: auto; float: none; margin: 0; }

@media (max-width: 980px) {
	.products-row-inner { grid-template-columns: minmax(0, 1fr); }
	html body .products-filters { position: static; }
}


/* Panelin altındaki "Paylaş" kartı filtre değil — demoda karşılığı yok
   ve panelin sonunu ayrı bir kutu gibi gösteriyordu. */
html body .products-filters > .card.text-center.mt-3 { display: none; }
html body .products-filters > .clearfix { display: none; }

/* Panelin içindeki "Tümü / Stoktakiler / Ön Sipariş" şeridi araç
   çubuğunda zaten var; panelde ikinci kez gösterilmez. */
html body .products-filters > .text-center.align-content-center { display: none; }

/* --- sıralama düğmesi ---
   Sıralama seçilmediğinde şablon boş <i> ve boş <span> basıyor,
   düğme bomboş görünüyordu. Demodaki "Sırala: Önerilen" karşılığı. */
.products-toolbar #productsSortMenu { display: inline-flex; align-items: center; gap: 5px; }
.products-toolbar #productsSortMenu::before {
	content: "Sırala:"; color: var(--hs-text-3); font-weight: 400;
}
.products-toolbar #productsSortMenu > i:empty { display: none; }
.products-toolbar #productsSortMenu > span:empty::before { content: "Önerilen"; }
.products-toolbar #productsSortMenu > span:empty { display: inline-block !important; }

/* --- kategori açıklaması (başlık altı) --- */
.products-area-header .products-area-desc {
	margin: 6px 0 0; max-width: 860px;
	font-size: 13.5px; line-height: 1.6; color: var(--hs-text-2);
}

/* --- kategori alt içeriği (SEO metni) ---
   Kaynağı imf_product_categories_desc.category_content; panelden
   zengin metin olarak girilir. Kutunun kendisi .seo-block ile
   biçimlenir (demodan birebir kopya, bkz. yukarısı) — burada yalnız
   panelden gelen serbest metnin ihtiyaç duyduğu ekler var. */
.category-content { max-width: none; }
.category-content > *:first-child { margin-top: 0; }
.category-content > *:last-child { margin-bottom: 0; }
.category-content ul, .category-content ol { margin: 0 0 12px; padding-left: 20px; }
.category-content strong, .category-content b { color: var(--hs-text); font-weight: 600; }
.category-content a { color: var(--hs-red); }
.category-content a:hover { text-decoration: underline; }
/* Panelden gelen metinde tablo dar ekranda taşabilir */
.category-content table { display: table; }
@media (max-width: 640px) {
	.category-content table { display: block; overflow-x: auto; white-space: nowrap; }
}


/* ============================================================
   ÜRÜN DETAY SAYFASI

   İşaretleme themes/haustech2/layouts/products/product.easy.php
   dosyasından gelir ve demodaki (tasarim-demo/urun.html) düzenin
   birebir karşılığıdır:

       96px küçük görsel | ana sütun | 350px satın alma kutusu

   .pdp / .pdp-stage / .buy-box / .keyspecs / .tabs gibi görsel
   sınıflar yukarıda, "ÜRÜN DETAY — demonun ağırlık merkezi"
   başlığı altında tanımlıdır. Aşağısı YALNIZ imflexi'nin kendi
   sınıflarını bu düzene oturtur.
   ============================================================ */

/* --- ızgara yerleşimi ---------------------------------------
   .product-medias kabuğu product.js'in aradığı kaptır, kaldırılamaz.
   display:contents ile saydamlaştırılır; içindeki küçük görsel
   şeridi ve sahne doğrudan .pdp ızgarasına oturur.

   Büyüteç açılınca (.zoom-in) saydamlık kalkar, çünkü devraldığımız
   tam ekran kaplaması position:fixed kullanıyor ve display:contents
   olan bir öğede position çalışmaz.
   ------------------------------------------------------------ */
html body .pdp > .product-medias:not(.zoom-in) { display: contents; }
html body .pdp > .product-medias.zoom-in { display: flex; flex-direction: column; }

html body .pdp .pdp-thumbs { grid-column: 1; grid-row: 1; }
html body .pdp .pdp-stage  { grid-column: 2; grid-row: 1; }
html body .pdp .pdp-head   { grid-column: 2; grid-row: 2; min-width: 0; }
html body .pdp .pdp-tabs   { grid-column: 2; grid-row: 3; min-width: 0; }
html body .pdp .pdp-buy    { grid-column: 3; grid-row: 1 / span 3; }

/* Tek görselli üründe küçük görsel sütunu hiç açılmaz.
   Bugün katalogdaki her üründe tek görsel var; boş bir 96px'lik
   oluk bırakmak sayfayı dengesiz gösteriyordu. İkinci görsel
   yüklenen üründe şerit kendiliğinden geri gelir. */
html body .pdp.pdp-tek { grid-template-columns: minmax(0, 1fr) 350px; }
html body .pdp.pdp-tek .pdp-stage,
html body .pdp.pdp-tek .pdp-head,
html body .pdp.pdp-tek .pdp-tabs { grid-column: 1; }
html body .pdp.pdp-tek .pdp-buy  { grid-column: 2; }

/* --- küçük görsel şeridi ------------------------------------
   Devralınan "media-thumbnails-left" kuralları şeridi ekran
   yüksekliğine (100vh) göre kuruyor ve kendi kaydırma oklarını
   çiziyordu. Burada şerit sayfa akışına bırakılır: yapışık kalır,
   görsel sayısı kadar uzar, ok gerekmez.
   ------------------------------------------------------------ */
html body .pdp .thumbnails.pdp-thumbs {
	display: block; width: 100%; max-width: none; max-height: none;
	margin: 0; position: sticky; top: 12px;
}
html body .pdp .pdp-thumbs .thumbnail-control { display: none !important; }
html body .pdp .pdp-thumbs .thumbnail-holder {
	display: block; width: 100%; height: auto; max-height: none;
	margin: 0; overflow: visible; position: static;
}
html body .pdp .pdp-thumbs .thumbnail-list {
	display: flex; flex-direction: column; gap: 8px;
	margin: 0 !important; padding: 0; list-style: none;
}
html body .pdp .pdp-thumbs .thumbnail-item {
	width: 100%; height: 82px; margin: 0 !important; padding: 5px;
	border: 2px solid var(--hs-line); border-radius: var(--hs-radius);
	background: #fff; overflow: hidden;
}
html body .pdp .pdp-thumbs .thumbnail-item.active,
html body .pdp .pdp-thumbs .thumbnail-item.selected,
html body .pdp .pdp-thumbs .thumbnail-item:hover { border-color: var(--hs-red); }
html body .pdp .pdp-thumbs .thumbnail-item a { display: block; width: 100%; height: 100%; }
html body .pdp .pdp-thumbs .thumbnail-item img {
	width: 100%; height: 100%; max-width: none; max-height: none;
	object-fit: contain; mix-blend-mode: multiply; opacity: 1;
}

/* --- sahne (ana görsel) ------------------------------------- */
html body .pdp .media-container.pdp-stage {
	display: flex; flex-direction: column; align-items: center;
	justify-content: center; min-height: 452px; text-align: center;
}
html body .pdp .pdp-stage .media-preview { margin: 0; padding: 0; width: 100%; }
html body .pdp .pdp-stage .media-preview a { display: block; }
/* Devralinan kural DORT sinifli:
       .product-easy-layout .product-medias .media-preview .media-cover
   Demodaki `.pdp-stage img` (bir sinif) onu yenemiyor, gorsel
   height:auto + max-height:610px ile 610px cikiyordu. Asagidaki
   secici ayni dort sinifi tasir, ustune iki tur ekler. */
html body .pdp .product-medias .media-preview .media-cover {
	display: block;
	height: 400px; width: 100%; object-fit: contain;
	max-width: 100%; max-height: none; mix-blend-mode: multiply;
}
html body .pdp .pdp-stage .badges { z-index: 3; }
html body .pdp .pdp-stage .zoom svg { width: 13px; height: 13px; }

/* --- başlık sütunu ------------------------------------------ */
html body .pdp .pdp-title h1.product-name {
	font-size: 25px; font-weight: 700; line-height: 1.28;
	letter-spacing: -.01em; color: var(--hs-text); margin: 6px 0 8px;
}
html body .pdp .pdp-title .brandline a.bl { color: var(--hs-red); }
html body .pdp .pdp-title .meta a { color: var(--hs-text-2); }
html body .pdp .pdp-title .meta a:hover { color: var(--hs-red); }
html body .pdp .pdp-lead { margin: 16px 0 0; }

/* Kilit ozellik seridi: uc taneden az deger oldugunda
   `auto-fill` bos izler acip serit kirik gorunuyordu. `auto-fit` +
   max-content ile hucreler icerik genisliginde kalir, arta kalan
   alan beyaz olur. (Bugun cogu urunde tek oznitelik var --
   imf_product_to_filter henuz doldurulmadi.) */
/* Demo `auto-fill` kullaniyordu; orada tam 5 oznitelik ve 882px
   sutun vardi, izler tam doluyordu. Bizde sutun genisligi ve
   oznitelik sayisi degisken; auto-fill artan izi BOS gri hucre
   olarak biraktigi icin auto-fit kullanilir. */
html body .pdp .keyspecs {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

html body .pdp .keyspecs.keyspecs-az {
	/* `inline-grid` + `repeat(auto-fit, ...)` BIRLIKTE CALISMAZ:
	   kap icerige gore daraldigi icin auto-fit iz sayisini 1'e
	   dusuruyor ve hucreler alt alta diziliyordu. Az sayida hucre
	   tek satirda kalsin diye izler sutun yonunde uretilir. */
	display: inline-grid;
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: minmax(150px, max-content);
	width: auto; max-width: 100%;
}

/* --- sekmeler ----------------------------------------------- */
html body .pdp .tabpane > *:first-child { margin-top: 0; }
html body .pdp .tabpane .grid-products { margin-bottom: 18px; }

/* Urun izgarasi: g6 sabit ALTI sutundur.
   `auto-fit` denendi ve YANLISTI: iki uyumlu urun oldugunda kartlar
   satiri doldurmak icin 800px'e kadar genislettiriyordu — kart
   olmaktan cikiyorlardi. `auto-fill` bos izleri ACIK BIRAKIR;
   izgaranin zemini olmadigi icin bos iz gorunmez, kartlar da
   listedeki kartlarla ayni genislikte (238px) kalir. */
html body .product-detail .grid-products.g6 {
	grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
}

/* Künye listesi (Kategori / Marka / SKU …) */
html body .product-detail .product-specifications ul {
	list-style: none; margin: 0; padding: 0;
	border-top: 1px solid var(--hs-line-soft);
}
html body .product-detail .product-specifications li {
	display: flex; gap: 12px; align-items: baseline;
	padding: 8px 0; border-bottom: 1px solid var(--hs-line-soft);
	font-size: 13px;
}
html body .product-detail .product-specifications .label {
	flex: none; width: 35%; color: var(--hs-text-3); font-weight: 400; padding: 0;
}
html body .product-detail .product-specifications .label:after { content: none; }
html body .product-detail .product-specifications .value {
	flex: 1; min-width: 0; color: var(--hs-text); font-weight: 600;
}
html body .product-detail .product-specifications .value a { color: var(--hs-text); }
html body .product-detail .product-specifications .value a:hover { color: var(--hs-red); }

/* --- paylaşım satırı ---------------------------------------- */
html body .pdp .pdp-share {
	display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
	margin-top: 16px; padding: 10px 14px; background: var(--hs-surface);
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
}
html body .pdp .pdp-share-label {
	margin-left: auto; font-size: 12.5px; color: var(--hs-text-3);
}
html body .pdp .pdp-share .btn-product-like { font-size: 13px; padding: 7px 14px; }
html body .pdp .pdp-share .btn-product-social { border: 0; background: none; padding: 0; }
html body .pdp .pdp-share .fa-stack { font-size: 11px; color: var(--hs-text-3); }
html body .pdp .pdp-share .btn-product-social:hover .fa-stack { color: var(--hs-red); }

/* --- satın alma kutusu -------------------------------------- */
html body .pdp .buy-box .product-price-info { margin: 0; }
html body .pdp .buy-box .now .product-final-price { font: inherit; color: inherit; }
html body .pdp .buy-box .old { display: block; margin-bottom: 2px; }

/* Havale indirimi / taksit satırı — fiyatın hemen altında */
html body .pdp .buy-row-ok {
	display: flex; gap: 8px; align-items: center; margin-top: 9px;
	padding: 7px 10px; border-radius: var(--hs-radius);
	background: var(--hs-ok-soft); color: var(--hs-ok);
	font-size: 12.5px; font-weight: 600;
}
html body .pdp a.buy-row-ok:hover { background: #DCEFE4; }
html body .pdp .buy-row-ok svg { width: 15px; height: 15px; flex: none; }

/* Adet + ara toplam */
html body .pdp .buy-qty {
	display: flex; gap: 10px; align-items: center; margin-bottom: 12px;
}
html body .pdp .buy-qty-toplam { font-size: 12px; color: var(--hs-text-2); }
html body .pdp .buy-qty-toplam b {
	display: block; font-size: 15px; color: var(--hs-text);
}
html body .pdp .qty input::-webkit-outer-spin-button,
html body .pdp .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body .pdp .qty input { -moz-appearance: textfield; }

/* Varyant seçimi */
html body .pdp .purchasing-options { margin-top: 12px; }
html body .pdp .purchasing-options .form-group { margin-bottom: 8px; }
html body .pdp .purchasing-options .custom-select,
html body .pdp .purchasing-options .form-control {
	border-color: var(--hs-line); font-size: 13px;
}
html body .pdp .product-option-box { margin-bottom: 10px; }
html body .pdp .product-option-box > label {
	display: block; font-size: 12px; color: var(--hs-text-3); margin-bottom: 5px;
}
html body .pdp .product-option-box-items { flex-wrap: wrap; gap: 6px; }
html body .pdp .product-option-box-item {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 6px 12px; font-size: 13px; cursor: pointer; background: #fff;
}
html body .pdp .product-option-box-item.active,
html body .pdp .product-option-box-item.selected {
	border-color: var(--hs-red); color: var(--hs-red); font-weight: 600;
}
html body .pdp .product-option-box-item.disabled {
	opacity: .45; text-decoration: line-through; cursor: not-allowed;
}

/* Sepete ekle / teklif al butonları — alt alta, tam genişlik */
html body .pdp .purchase-buttons { display: block; }
html body .pdp .purchase-buttons .btn-product {
	display: block; width: 100%; white-space: normal; margin-bottom: 8px;
	border-radius: var(--hs-radius); font-weight: 600; font-size: 15px;
	padding: 13px 16px; border: 1px solid transparent; box-shadow: none;
}
html body .pdp .purchase-buttons .btn-product:last-child { margin-bottom: 0; }
html body .pdp .purchase-buttons .btn-product-addcart {
	background: var(--hs-red); border-color: var(--hs-red); color: #fff;
}
html body .pdp .purchase-buttons .btn-product-addcart:hover,
html body .pdp .purchase-buttons .btn-product-addcart:focus {
	background: var(--hs-red-dark); border-color: var(--hs-red-dark); color: #fff;
}
html body .pdp .purchase-buttons .btn-product:not(.btn-product-addcart) {
	background: #fff; border-color: var(--hs-line); color: var(--hs-text);
}
html body .pdp .purchase-buttons .btn-product:not(.btn-product-addcart):hover {
	border-color: var(--hs-red); color: var(--hs-red);
}

/* Uyumlu ürün eklentisi ve güven kutusu */
html body .pdp a.addon { color: inherit; text-decoration: none; }
html body .pdp a.addon:hover { border-color: var(--hs-red); }
html body .pdp .addon svg { width: 18px; height: 18px; flex: none; color: var(--hs-red); margin-top: 1px; }
html body .pdp .buy-trust { font-size: 12.5px; color: var(--hs-text-2); }
html body .pdp .buy-trust > div { display: flex; gap: 9px; align-items: flex-start; }
html body .pdp .buy-trust > div + div { margin-top: 9px; }
html body .pdp .buy-trust svg { width: 17px; height: 17px; flex: none; color: var(--hs-text-3); margin-top: 1px; }
html body .pdp .buy-trust b { color: var(--hs-text); }

/* Panelden gelen ürün rozetleri */
html body .pdp .product-badges .product-badge {
	display: flex; gap: 8px; font-size: 12.5px; color: var(--hs-text-2);
}
html body .pdp .product-badges .product-badge + .product-badge { margin: 8px 0 0; }

/* Stok rozetleri — product.js varyant değişiminde buraya yazar */
html body .product-detail .stock-badge {
	display: inline-flex; align-items: center; gap: 6px;
	border: 1px solid var(--hs-line); border-radius: 999px;
	padding: 4px 10px; font-size: 11.5px; font-weight: 600;
	margin: 0 6px 6px 0; background: #fff;
}
html body .product-detail .in-stock-badge { border-color: #BFE3C8; color: var(--hs-ok); background: #F1F9F3; }
html body .product-detail .critical-stock-badge { border-color: #F3D9A9; color: #A9701A; background: #FDF7EC; }
html body .product-detail .out-stock-badge { border-color: var(--hs-line); color: var(--hs-text-3); }

/* --- uyumlu / benzer ürün şeridi ---------------------------- */
html body .product-detail > .sec { margin-top: 34px; }

/* --- daralma ------------------------------------------------ */
@media (max-width: 1000px) {
	/* .pdp-tek kurallari iki sinifli; tek sutuna dusurmek icin
	   burada da ayrica ezilmeleri gerekir. */
	html body .pdp,
	html body .pdp.pdp-tek { grid-template-columns: minmax(0, 1fr); }
	html body .pdp .pdp-thumbs,
	html body .pdp .pdp-stage,
	html body .pdp .pdp-head,
	html body .pdp .pdp-tabs,
	html body .pdp .pdp-buy,
	html body .pdp.pdp-tek .pdp-stage,
	html body .pdp.pdp-tek .pdp-head,
	html body .pdp.pdp-tek .pdp-tabs,
	html body .pdp.pdp-tek .pdp-buy { grid-column: 1; }

	/* Telefon sırası: görsel → şerit → künye → satın alma → sekmeler.
	   Fiyatı görmek için teknik metni geçmek gerekmesin. */
	html body .pdp .pdp-stage  { grid-row: 1; }
	html body .pdp .pdp-thumbs { grid-row: 2; }
	html body .pdp .pdp-head   { grid-row: 3; }
	html body .pdp .pdp-buy    { grid-row: 4; }
	html body .pdp .pdp-tabs   { grid-row: 5; }

	html body .pdp .thumbnails.pdp-thumbs { position: static; }
	html body .pdp .pdp-thumbs .thumbnail-list { flex-direction: row; overflow-x: auto; }
	html body .pdp .pdp-thumbs .thumbnail-item { width: 74px; height: 74px; flex: none; }
	html body .pdp .media-container.pdp-stage { min-height: 0; }
}

@media (max-width: 760px) {
	/* Dar ekranda serit iki sutuna duser; tek sayida oznitelikte
	   son satirda bos gri bir hucre kaliyordu. Son oge yalniz
	   kendi satirindaysa iki sutunu birden kaplar. */
	html body .pdp .keyspecs > div:last-child:nth-child(odd) { grid-column: 1 / -1; }

	/* Az hucreli seridin tek satir dizilimi telefonda tasar;
	   normal sarmali duzene donulur. */
	html body .pdp .keyspecs.keyspecs-az {
		display: grid; width: 100%;
		grid-auto-flow: row;
		grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	}
}


/* ============================================================
   SEPET VE ÖDEME ADIMLARI

   Vue bileşenleri themes/default/mods/cart/*.html içinde;
   şablon değiştirilmez, sınıflar demodaki karşılıklarına
   köprülenir (tasarim-demo/sepet.html, odeme.html).
   ============================================================ */

/* --- sarmalayıcı: sepet sayfanın tamamına yayılıyordu --- */
html body .cart-section,
html body .cart-seal,
html body .cart-steps,
html body #imflexicart > .container {
	max-width: var(--hs-max); margin-left: auto; margin-right: auto;
	padding-left: var(--hs-gutter); padding-right: var(--hs-gutter);
	box-sizing: border-box;
}

/* --- iki sütun: ürünler + sipariş özeti --- */
html body .cart-section {
	display: grid; grid-template-columns: minmax(0, 1fr) 320px;
	gap: 20px; align-items: start;
}
html body .cart-content-side,
html body .cart-info-side { width: auto; min-width: 0; }

/* --- kartlar --- */
html body .card-cart,
html body .cart-items-card,
html body .cart-info-card {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none;
}
html body .cart-info-card { position: sticky; top: 12px; }
html body .card-cart .card-body { padding: 16px 18px; }
html body .card-cart .card-footer {
	background: transparent; border-top: 1px solid var(--hs-line-soft); padding: 14px 18px;
}

/* --- başlıklar: turuncu (rgb 255,145,0) tema dışıydı --- */
html body .cart-section .card-title,
html body .cart-seal .card-title,
html body #imflexicart h5.card-title,
html body #imflexicart h6.card-title {
	color: var(--hs-text); font-size: 15px; font-weight: 700; letter-spacing: -.01em;
}

/* --- sayfa başlığı --- */
html body .cart-head {
	max-width: var(--hs-max); margin: 0 auto; padding: 0 var(--hs-gutter);
	box-sizing: border-box;
}
html body .cart-head h1 {
	margin: 4px 0 0; font-size: 26px; font-weight: 700; letter-spacing: -.015em;
	color: var(--hs-text);
}
html body .cart-head .cart-sub {
	margin: 5px 0 16px; font-size: 13.5px; color: var(--hs-text-2);
}

/* --- kargo bedava ilerleme çubuğu --- */
html body .freeship {
	grid-column: 1 / -1;
	background: var(--hs-ok-soft); border: 1px solid #C6E6D5;
	border-radius: var(--hs-radius); padding: 11px 14px;
	font-size: 13px; color: var(--hs-ok); margin-bottom: 14px;
}
html body .freeship .bar {
	display: block; height: 6px; background: #fff; border-radius: 999px;
	overflow: hidden; margin-top: 8px;
}
html body .freeship .bar i { display: block; height: 100%; background: var(--hs-ok); }

/* --- sepet satırı ---
   Izgara: onay kutusu | 92px görsel | bilgi | fiyat. */
html body .cart-items { padding: 0 18px; }
html body .cart-item {
	display: grid; grid-template-columns: 26px 92px minmax(0,1fr) auto;
	gap: 14px; align-items: start;
	border-bottom: 1px solid var(--hs-line-soft); padding: 18px 0;
}
html body .cart-item:last-child { border-bottom: 0; }
html body .cart-item.passive { opacity: .62; }

html body .cart-item .ci-sec { padding-top: 3px; }
html body .cart-item .ci-sec input {
	width: 17px; height: 17px; accent-color: var(--hs-red); cursor: pointer;
}

html body .cart-item .ci-im {
	background: #fff; border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius); padding: 6px; display: block;
}
html body .cart-item .ci-im img {
	width: 100%; height: 76px; object-fit: contain; display: block;
}

html body .cart-item .ci-bd { min-width: 0; }
html body .cart-item .ci-bd h3 { margin: 0 0 4px; font-size: 14.5px; font-weight: 600; line-height: 1.4; }
html body .cart-item .ci-bd h3 a { color: var(--hs-text); }
html body .cart-item .ci-bd h3 a:hover { color: var(--hs-red); text-decoration: none; }
html body .cart-item .ci-sku {
	font-size: 11.5px; color: var(--hs-text-3);
	font-family: ui-monospace, Consolas, monospace; line-height: 1.5;
}
html body .cart-item .ci-notes { margin-top: 7px; display: grid; gap: 3px; }
html body .cart-item .ci-notes > div { font-size: 12px; }
html body .cart-item .ci-ok { color: var(--hs-ok); }
html body .cart-item .ci-warn { color: var(--hs-warn); }
html body .cart-item .ci-muted { color: var(--hs-text-3); }

html body .cart-item .ci-acts {
	display: flex; gap: 14px; align-items: center; margin-top: 11px; flex-wrap: wrap;
}
html body .cart-item .ci-acts > button {
	border: 0; background: transparent; padding: 0; font-size: 12.5px;
	color: var(--hs-text-2); text-decoration: underline; cursor: pointer;
}
html body .cart-item .ci-acts > button:hover { color: var(--hs-red); }
html body .cart-item .ci-acts .qty {
	display: flex; align-items: center; border: 1px solid var(--hs-line);
	border-radius: 999px; height: 32px; overflow: hidden; background: #fff;
}
html body .cart-item .ci-acts .qty button {
	width: 32px; height: 100%; border: 0; background: transparent;
	font-size: 16px; color: var(--hs-text-2); cursor: pointer;
}
html body .cart-item .ci-acts .qty button:hover { color: var(--hs-red); background: var(--hs-red-soft); }
html body .cart-item .ci-acts .qty input {
	width: 40px; height: 100%; border: 0; text-align: center;
	font-size: 13px; font-weight: 600; color: var(--hs-text); padding: 0;
	background: transparent;
}
html body .cart-item .ci-acts .qty input:focus { outline: 0; }

html body .cart-item .ci-pr { text-align: right; min-width: 120px; padding-top: 2px; }
html body .cart-item .ci-pr .l { font-size: 17px; font-weight: 800; color: var(--hs-text); letter-spacing: -.015em; }
html body .cart-item .ci-pr .u { font-size: 11.5px; color: var(--hs-text-3); margin-top: 3px; }

/* --- sepet altı şerit --- */
html body .cart-foot {
	display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
	border-top: 1px solid var(--hs-line-soft); padding: 14px 18px;
}
html body .cart-foot .not { margin-left: auto; font-size: 12.5px; color: var(--hs-text-3); }

/* --- sipariş özeti --- */
html body .cart-info-card.summary {
	position: sticky; top: 12px; padding: 18px;
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg);
}
html body .summary h3 { margin: 0; font-size: 16px; font-weight: 700; color: var(--hs-text); }
html body .summary .sum-sub { font-size: 12.5px; color: var(--hs-text-3); margin: 3px 0 14px; }
html body .summary .l {
	display: flex; justify-content: space-between; gap: 12px;
	font-size: 13.5px; color: var(--hs-text-2); margin: 8px 0;
}
html body .summary .l b { color: var(--hs-text); font-weight: 600; text-align: right; }
html body .summary .l.free b { color: var(--hs-ok); }
html body .summary .l.disc b { color: var(--hs-red); }
html body .summary .l.muted { font-size: 12.5px; color: var(--hs-text-3); }
html body .summary .l.muted b { color: var(--hs-text-3); font-weight: 500; }
html body .summary .tot {
	display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
	margin: 14px 0; padding-top: 14px; border-top: 1px solid var(--hs-line);
}
html body .summary .tot span { font-size: 14.5px; font-weight: 700; color: var(--hs-text); }
html body .summary .tot b { font-size: 23px; font-weight: 800; letter-spacing: -.02em; color: var(--hs-text); }
html body .summary .sum-actions .btn { width: 100%; padding: 13px 18px; font-size: 15px; }
html body .summary .sum-note { font-size: 11.5px; color: var(--hs-text-3); margin: 10px 0 0; line-height: 1.6; }
html body .summary .sum-note a { color: var(--hs-red); }
html body .summary .sum-trust {
	border-top: 1px solid var(--hs-line); margin-top: 14px; padding-top: 12px;
	font-size: 11.5px; color: var(--hs-text-2);
}
html body .summary .sum-trust .logos { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 9px; }
html body .summary .sum-trust .logos img,
html body .summary .sum-trust .logos span {
	border: 1px solid var(--hs-line); border-radius: 4px; padding: 4px 8px;
	font-size: 10.5px; color: var(--hs-text-2); background: #fff;
}
html body .summary .card-coupon-bar {
	border-top: 1px solid var(--hs-line-soft); margin-top: 12px;
	padding: 12px 0 0; text-align: left;
}

/* --- güven şeridi (sepetin altı) --- */
html body .cart-seal {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 18px; margin-top: 18px;
	display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px;
}
html body .cart-seal .it b { display: block; font-size: 13.5px; color: var(--hs-text); margin-bottom: 3px; }
html body .cart-seal .it span { font-size: 12.5px; color: var(--hs-text-2); line-height: 1.55; }
html body .cart-seal .it a { color: var(--hs-info); }
html body .cart-seal .it a:hover { color: var(--hs-red); }

/* --- boş sepet --- */
html body .cart-empty { padding: 54px 24px; text-align: center; color: var(--hs-text-3); }
html body .cart-empty svg { color: var(--hs-text-3); }
html body .cart-empty h2 { margin: 14px 0 6px; font-size: 20px; font-weight: 700; color: var(--hs-text); }
html body .cart-empty p { margin: 0 auto; max-width: 460px; font-size: 13.5px; color: var(--hs-text-2); }
html body .cart-empty .acts { display: flex; gap: 9px; justify-content: center; flex-wrap: wrap; margin: 20px 0 0; }
html body .cart-empty .yardim { margin-top: 18px; font-size: 12.5px; }

@media (max-width: 900px) {
	html body .cart-section { grid-template-columns: minmax(0, 1fr); }
	html body .cart-info-card,
	html body .cart-info-card.summary { position: static; }
	html body .cart-seal { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
	html body .cart-head h1 { font-size: 22px; }
	html body .cart-items { padding: 0 14px; }
	html body .cart-item {
		grid-template-columns: 22px 72px minmax(0,1fr);
		column-gap: 11px; row-gap: 8px;
	}
	html body .cart-item .ci-pr { grid-column: 3; text-align: left; padding-top: 0; }
	html body .cart-item .ci-im img { height: 60px; }
	html body .cart-seal { grid-template-columns: minmax(0,1fr); }
}


/* --- sepet/ödeme renk değişkenleri ---
   themes/default/mods/cart/cart.css :root altında kendi turuncu
   paletini tanımlıyor (--title-color / --cart-primary = #FF9100 /
   #FF5D00). O dosya bu dosyadan SONRA yükleniyor, bu yüzden
   değişkenler html:root ile — daha özgül bir seçiciyle — eziliyor.
   Böylece sepet, ödeme adımları ve hesap ekranları tek yerden
   tema rengine geçiyor. */
html:root {
	--title-color:          var(--hs-text);
	--discount-color:       var(--hs-red);
	--feature-color:        var(--hs-red);
	--feature-text-color:   var(--hs-text-2);
	--cart-item-color:      var(--hs-text);
	--highlight-bg-color:   var(--hs-red);
	--highlight-color:      #fff;
	--highlight-shadow-color: rgba(187, 19, 25, .22);
	--cart-primary:         var(--hs-red);
	--primary-color:        var(--hs-red);
	--free-color:           var(--hs-ok);
}

/* "Alışverişi Tamamla" — cart.css'te doğrudan #FF5D00 ile tanımlı,
   değişken üzerinden gelmiyor; ayrıca ezilmesi gerekiyor. */
html body .btn-cart-submit,
html body .btn-cart-submit:hover,
html body .btn-cart-submit:focus {
	background-color: var(--hs-red); border-color: var(--hs-red); color: #fff;
	box-shadow: none;
}
html body .btn-cart-submit:hover { background-color: var(--hs-red-dark); border-color: var(--hs-red-dark); }


/* ============================================================
   DEVRALINAN BOOTSTRAP BİLEŞENLERİ — ortak tasarım katmanı

   Sepet, ödeme adımları ve hesap ekranları (client, orders,
   tickets, configs) hep aynı bileşenleri kullanıyor. Burada bir
   kez tema diline çevrilir; her sayfa için ayrı kural yazılmaz.

   Kapsam bilinçli olarak "gövde içi": header/footer kendi
   tasarımını taşır, buradaki kurallar onları etkilemez.
   ============================================================ */

/* --- birincil buton: bootstrap mavisi --- */
html body .btn.btn-primary,
html body .btn.btn-info,
html body .btn.btn-success,
html body .btn-primary,
html body .btn-info,
html body .btn-success {
	background-color: var(--hs-red); border-color: var(--hs-red); color: #fff;
	border-radius: var(--hs-radius); font-weight: 600; box-shadow: none;
}
html body .btn.btn-primary:hover, html body .btn.btn-primary:focus,
html body .btn-primary:hover, html body .btn-primary:focus,
html body .btn-primary:not(:disabled):not(.disabled):active,
html body .btn.btn-primary:not(:disabled):not(.disabled):active,
html body .btn-info:hover, html body .btn-success:hover {
	background-color: var(--hs-red-dark); border-color: var(--hs-red-dark); color: #fff;
}
html body .btn-outline-primary {
	color: var(--hs-red); border-color: var(--hs-red); background: #fff;
	border-radius: var(--hs-radius); font-weight: 600;
}
html body .btn-outline-primary:hover {
	background: var(--hs-red); border-color: var(--hs-red); color: #fff;
}
html body .btn-secondary, html body .btn-light, html body .btn-default {
	background: #fff; border-color: var(--hs-line); color: var(--hs-text);
	border-radius: var(--hs-radius); font-weight: 600; box-shadow: none;
}
html body .btn-secondary:hover, html body .btn-light:hover {
	border-color: var(--hs-red); color: var(--hs-red); background: #fff;
}
html body .btn-link { color: var(--hs-red); }

/* --- form alanları --- */
html body .form-control,
html body .custom-select {
	border-color: var(--hs-line); border-radius: var(--hs-radius);
	font-size: 13.5px; color: var(--hs-text); box-shadow: none;
}
html body .form-control:focus,
html body .custom-select:focus {
	border-color: var(--hs-red); box-shadow: 0 0 0 3px var(--hs-red-soft);
}
html body .form-control::placeholder { color: var(--hs-text-3); }
html body label, html body .col-form-label {
	font-size: 12.5px; font-weight: 600; color: var(--hs-text-2);
}
html body .input-group-text {
	background: var(--hs-bg); border-color: var(--hs-line);
	color: var(--hs-text-3); font-size: 13px;
}

/* --- kartlar --- */
html body main .card,
html body .modal-content {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	box-shadow: none; background: var(--hs-surface);
}
html body main .card-header,
html body .modal-header {
	background: transparent; border-bottom: 1px solid var(--hs-line);
	font-weight: 700; color: var(--hs-text);
}
html body main .card-footer,
html body .modal-footer {
	background: transparent; border-top: 1px solid var(--hs-line);
}

/* --- kip (modal) --- */
html body .modal-title { font-size: 16px; font-weight: 700; color: var(--hs-text); }
html body .modal-backdrop.show { opacity: .45; }

/* --- sekmeler --- */
html body .nav-tabs { border-bottom: 1px solid var(--hs-line); }
html body .nav-tabs .nav-link {
	border: 0; border-bottom: 2px solid transparent; border-radius: 0;
	color: var(--hs-text-2); font-size: 13.5px; font-weight: 600; padding: 11px 14px;
}
html body .nav-tabs .nav-link:hover { color: var(--hs-text); border-color: transparent; }
html body .nav-tabs .nav-link.active {
	color: var(--hs-red); border-bottom-color: var(--hs-red); background: transparent;
}
html body .nav-pills .nav-link.active { background: var(--hs-red); }

/* --- tablolar --- */
html body main table { font-size: 13.5px; }
html body main .table th {
	background: var(--hs-bg); font-size: 11.5px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em; color: var(--hs-text);
	border-bottom: 1px solid var(--hs-line); border-top: 0;
}
html body main .table td {
	border-top: 1px solid var(--hs-line-soft); color: var(--hs-text-2);
	vertical-align: middle;
}

/* --- uyarı kutuları --- */
html body .alert { border-radius: var(--hs-radius); font-size: 13.5px; border-width: 1px; }
html body .alert-success { background: #F1F9F3; border-color: #BFE3C8; color: #1E6B32; }
html body .alert-danger  { background: var(--hs-red-soft); border-color: #F5C9CB; color: var(--hs-red-dark); }
html body .alert-warning { background: #FDF7EC; border-color: #F3D9A9; color: #8A5A12; }
html body .alert-info    { background: #EEF4FA; border-color: #C9DCEC; color: #1F4C74; }

/* --- rozet --- */
html body main .badge-primary { background: var(--hs-red); }
html body main .badge { font-weight: 600; }

/* --- sayfalama --- */
html body .pagination .page-link {
	color: var(--hs-text); border-color: var(--hs-line); font-size: 13px;
}
html body .pagination .page-item.active .page-link {
	background: var(--hs-red); border-color: var(--hs-red); color: #fff;
}
html body .pagination .page-link:hover { color: var(--hs-red); border-color: var(--hs-red); }

/* --- liste grubu --- */
html body main .list-group-item { border-color: var(--hs-line-soft); font-size: 13.5px; }
html body main .list-group-item.active { background: var(--hs-red); border-color: var(--hs-red); }

/* --- hesap ekranları: sayfa başlığı --- */
html body main .page-title,
html body main .content-title {
	font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--hs-text);
}


/* Eski sepet satiri koprusu (.cart-item-inner / .col-*) SILINDI:
   o isaretleme artik uretilmiyor, sablon temaya alinip demodaki
   duzene gore yeniden yazildi. Kurallardan biri yeni izgarayi
   eziyordu (ayni ozgulluk, daha sonra gelen kural). Yeni sepet
   stilleri yukarida, 'SEPET VE ODEME ADIMLARI' bolumunde. */

/* ============================================================
   SİPARİŞ ÖZETİ + HESAP EKRANLARI
   ============================================================ */

/* --- sipariş özeti: sağa yaslıydı, demoda sola --- */
html body .cart-info-card,
html body .cart-info-cart-side { text-align: left; }
html body .cart-info-card .card-title {
	font-size: 15px; font-weight: 700; margin-bottom: 2px;
}
html body .cart-info-card .card-subtitle {
	font-size: 12.5px; color: var(--hs-text-3); font-weight: 400;
}
html body .cart-info-card .card-price {
	border-top: 1px solid var(--hs-line-soft); padding-top: 12px; margin-top: 12px;
}
html body .cart-info-card .card-price .label {
	font-size: 12.5px; color: var(--hs-text-2);
}
html body .cart-info-card .price-xl {
	font-size: 24px; font-weight: 700; color: var(--hs-text); letter-spacing: -.02em;
}
html body .cart-info-card .card-actions { margin-top: 14px; }
html body .cart-info-card .btn-cart-submit { width: 100%; justify-content: center; }
html body .card-coupon-bar .btn-cart-link {
	color: var(--hs-red); font-size: 12.5px; font-weight: 600; padding: 0;
}

/* --- hesap ekranları: sarmalayıcı ---
   nav.navbar ve section.user-dashboard gövde genişliğinde akıyordu
   (1440@0), header ise 36'da başlıyordu. */
html body main > nav.navbar,
html body main > section.user-dashboard,
html body .user-dashboard,
html body main > .container-fluid {
	max-width: var(--hs-max); margin-left: auto; margin-right: auto;
	padding-left: var(--hs-gutter); padding-right: var(--hs-gutter);
	box-sizing: border-box;
}

/* --- hesap sekme şeridi --- */
html body .navbar-nav.nav-tabs {
	border-bottom: 1px solid var(--hs-line); gap: 2px;
}
html body .navbar-nav.nav-tabs .nav-link {
	border: 0; border-bottom: 2px solid transparent; border-radius: 0;
	color: var(--hs-text-2); font-size: 13.5px; font-weight: 600; padding: 11px 14px;
}
html body .navbar-nav.nav-tabs .nav-link:hover { color: var(--hs-text); }
html body .navbar-nav.nav-tabs .nav-link.active {
	color: var(--hs-red); border-bottom-color: var(--hs-red); background: transparent;
}
html body main > nav.navbar { padding-top: 4px; padding-bottom: 0; }

/* --- gösterge kartları ---
   .card-columns CSS masonry kullanıyor (column-count); kartlar
   dengesiz yükseklikte akıyor. Izgara daha öngörülebilir. */
html body .card-columns {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 16px; column-count: initial !important;
}
html body .card-columns > .card { margin-bottom: 0; break-inside: auto; }
html body .dashboard-element.card { padding: 4px 2px; }
html body .dashboard-element .card-title {
	font-size: 15px; font-weight: 700; color: var(--hs-text); margin-bottom: 8px;
}
html body .dashboard-element .card-body { padding: 16px 18px; }

/* Kart içindeki kısayol bağlantıları — küçük ve soluk kalıyordu */
/* Kisayol baglantilari cip gorunumunde. .card-title HARIC —
   baslik da <a> icinde geldigi icin ilk denemede o da cip oluyordu. */
html body .dashboard-element .card-body a:not(.btn):not(.card-title):not(.card-title *) {
	display: inline-block; font-size: 12.5px; font-weight: 600;
	color: var(--hs-text-2); padding: 4px 9px; margin: 0 4px 4px 0;
	border: 1px solid var(--hs-line); border-radius: 999px;
}
html body .dashboard-element .card-body a:not(.btn):not(.card-title):not(.card-title *):hover {
	border-color: var(--hs-red); color: var(--hs-red);
}
html body .dashboard-element .card-title,
html body .dashboard-element .card-title a {
	border: 0; padding: 0; margin: 0 0 8px; border-radius: 0;
	display: block; font-size: 15px; font-weight: 700; color: var(--hs-text);
}

/* boş durum metni */
html body .dashboard-element .text-center { color: var(--hs-text-3); font-size: 13px; }

@media (max-width: 700px) {
	html body .card-columns { grid-template-columns: minmax(0, 1fr); }
}


/* ============================================================
   SEPET SATIRI — hizalama ve adet seçici (ikinci tur)

   Ölçüm: sütunlar y=274/285/296/308/311'de başlıyordu, satır
   içinde hiçbir şey hizalı değildi; ürün kartının iç dolgusu 0
   olduğu için seçim kutusu kartın kenarına yapışıyordu; adet
   seçici 125x53 ve "Adet" etiketi kutunun altındaydı.
   ============================================================ */

/* --- kart iç dolgusu: satırlar dolgusuz bir div içinde geliyor --- */
html body .cart-items-card > div:not(.card-body):not(.card-footer) {
	padding: 0 18px;
}

/* --- satır: tek ızgara, dikey ORTALI --- */
html body .cart-item-inner {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr) auto auto;
	align-items: center;              /* kaymanın asıl çaresi */
	gap: 0 14px;
	padding: 18px 0;
	width: auto;
}
html body .cart-item + .cart-item .cart-item-inner { border-top: 1px solid var(--hs-line-soft); }

/* col-start sarmalayıcısını çöz: seçim ve görsel ayrı ızgara hücresi olsun */
html body .cart-item .col-start {
	display: contents;
}
html body .cart-item .col-select {
	width: auto; display: flex; align-items: center; justify-content: center;
}
html body .cart-item .col-image {
	width: 78px; height: 78px; padding: 6px;
	display: grid; place-items: center;
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	overflow: hidden;
}
html body .cart-item .col-image img { max-width: 100%; max-height: 100%; mix-blend-mode: multiply; }

/* --- orta: ürün bilgisi --- */
html body .cart-item .col-info { width: auto; min-width: 0; }
html body .cart-item .item-name {
	font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--hs-text); margin: 0 0 3px;
}
html body .cart-item .item-desc {
	font-size: 11.5px; color: var(--hs-text-3); line-height: 1.5; margin: 0 0 5px;
}
html body .cart-item .item-features { font-size: 12px; color: var(--hs-ok); margin: 0 0 7px; }
html body .cart-item .item-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* --- adet seçici: tek çerçeve, kompakt --- */
html body .cart-item .col-quantity { width: auto; }
html body .cart-item .input-group-quantity {
	display: inline-flex; align-items: stretch; width: auto;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	overflow: hidden; background: #fff; height: 38px;
}
html body .cart-item .input-group-quantity .input-group-prepend,
html body .cart-item .input-group-quantity .input-group-append { display: flex; }
html body .cart-item .input-group-quantity .btn {
	border: 0; border-radius: 0; background: #fff; color: var(--hs-text-2);
	width: 34px; padding: 0; font-size: 16px; line-height: 1; font-weight: 600;
	display: grid; place-items: center;
}
html body .cart-item .input-group-quantity .btn:hover {
	background: var(--hs-bg); color: var(--hs-red);
}
html body .cart-item .input-group-quantity .input-group-middle {
	display: flex; align-items: center; justify-content: center;
	border-left: 1px solid var(--hs-line); border-right: 1px solid var(--hs-line);
	min-width: 46px; padding: 0 2px;
}
html body .cart-item .input-group-quantity .input-group-input { width: 100%; }
html body .cart-item .input-group-quantity input.form-control {
	border: 0; text-align: center; padding: 0; height: auto;
	font-size: 14px; font-weight: 600; color: var(--hs-text); background: transparent;
	box-shadow: none; width: 100%;
}
/* "Adet" etiketi input'un altındaydı ve kutuyu 53px'e çıkarıyordu */
html body .cart-item .input-group-quantity .input-group-unit { display: none; }

/* --- fiyat --- */
html body .cart-item .col-price {
	width: auto; min-width: 118px; text-align: right;
	font-size: 16px; font-weight: 700; color: var(--hs-text); white-space: nowrap;
}

/* --- seçim kutusu: kırmızı dolu daire fazla baskındı --- */
html body .cart-item .col-select .custom-control-label::before,
html body .cart-item .col-select input[type=checkbox] { border-color: var(--hs-line); }

@media (max-width: 820px) {
	html body .cart-item-inner {
		grid-template-columns: auto auto minmax(0, 1fr);
		row-gap: 12px;
	}
	html body .cart-item .col-quantity { grid-column: 2 / 3; }
	html body .cart-item .col-price { grid-column: 3 / -1; }
}


/* --- sepet satırı: seçim düğmesi ---
   İşaretlemede <button class="btn btn-sm btn-primary"> olarak geliyor;
   genel .btn-primary kuralı onu kırmızı dolu butona çeviriyor ve satırın
   en baskın ögesi oluyordu. Onay kutusu gibi görünmeli. */
html body .cart-item .col-select .btn,
html body .cart-item .col-select .btn.btn-primary {
	width: 20px; height: 20px; min-width: 0; padding: 0;
	border-radius: 5px; border: 1px solid var(--hs-line);
	background: #fff; color: transparent; box-shadow: none;
	display: grid; place-items: center; font-size: 11px;
}
html body .cart-item .col-select .btn.active,
html body .cart-item .col-select .btn[aria-pressed="true"],
html body .cart-item .cart-item-inner.active ~ * .col-select .btn {
	background: var(--hs-red); border-color: var(--hs-red); color: #fff;
}
/* Devralınan işaretlemede seçili satır .cart-item-inner.active taşıyor */
html body .cart-item .cart-item-inner.active .col-select .btn {
	background: var(--hs-red); border-color: var(--hs-red); color: #fff;
}
html body .cart-item .col-select .btn:hover { border-color: var(--hs-red); }

/* --- sipariş özeti: başlık/alt başlık arası çok sıkışıktı --- */
html body .cart-info-card .card-title { margin-bottom: 6px !important; }
html body .cart-info-card .card-subtitle { margin-bottom: 14px !important; }

/* --- çerez bildirimi: stil common/cookie.html içinde (2026-09-24, anahtarlı bant) --- */


/* ============================================================
   ÜRÜN YORUMLARI — form ve liste
   ------------------------------------------------------------
   Devralınan şablon (themes/default/layouts/client/review.form.default.php)
   kullanıcı avatarını `<img class="img-fluid">` ile basıyor.
   `.img-fluid` yalnız `max-width: 100%` verir; kapsayıcı
   `.review-user` 500px olduğu için avatar da 500px oluyor ve
   yorum kutusunu tamamen ele geçiriyordu.

   Burada kutu, avatar ve alanlar demonun diliyle sınırlandırılıyor.
   Şablona dokunulmuyor.
   ============================================================ */

html body .product-detail .reviews .card.review-form {
	border: 0; box-shadow: none; background: transparent; margin: 0;
}
html body .product-detail .reviews .card-body {
	display: grid;
	grid-template-columns: 1fr 210px;
	gap: 18px;
	padding: 0;
	align-items: start;
}
@media (max-width: 860px) {
	html body .product-detail .reviews .card-body { grid-template-columns: minmax(0, 1fr); }
}

/* --- yazan kişi kutusu --- */
html body .product-detail .review-user {
	display: block; width: auto; margin: 0;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 14px; text-align: center; background: var(--hs-bg);
}
html body .product-detail .review-user .user-avatar {
	width: 64px; height: 64px; margin: 0 auto 9px;
	border-radius: 999px; overflow: hidden; background: #fff;
	border: 1px solid var(--hs-line);
}
html body .product-detail .review-user .user-avatar img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
html body .product-detail .review-user .user-name {
	font-size: 13.5px; font-weight: 600; color: var(--hs-text);
}
html body .product-detail .review-user .user-other-login a {
	font-size: 12px; color: var(--hs-text-3);
}
html body .product-detail .review-user .user-other-login a:hover { color: var(--hs-red); }

/* --- yorum alanı --- */
html body .product-detail .reviews textarea {
	width: 100%; min-height: 104px; resize: vertical;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 11px 13px; font-size: 14px; line-height: 1.55;
}
html body .product-detail .reviews textarea:focus {
	outline: 0; border-color: var(--hs-red);
	box-shadow: 0 0 0 3px rgba(187, 19, 25, .12);
}
html body .product-detail .reviews .custom-control-label,
html body .product-detail .reviews label { font-size: 13px; color: var(--hs-text-2); }

/* --- liste --- */
html body .product-detail .reviews .review-item {
	border-top: 1px solid var(--hs-line-soft); padding: 14px 0;
}
html body .product-detail .reviews .review-item .user-avatar {
	width: 38px; height: 38px; border-radius: 999px; overflow: hidden;
}
html body .product-detail .reviews .review-item .user-avatar img {
	width: 100%; height: 100%; object-fit: cover;
}

/* ============================================================
   HESAP ALANI — Hesabım'dan açılan bütün sayfalar

   Kapsam: Siparişlerim, Adreslerim, Parola, Hesap ayarları,
   Ödeme bildirimi, Kuponlarım, Destek talepleri, Soru sor, SSS.

   Hepsi `main` içinde `#user_dashboard_nav` taşıyan bir sekme
   çubuğuyla başlar; haustech2.js gövdeye `hs-hesap` sınıfını bu
   işarete bakarak verir.

   DURUM: bu sayfaların hiçbiri temaya bağlı değildi —
     · içerik EKRANIN TAMAMINA yayılıyordu (x=0, en=1500);
       ürün sayfaları 1400px sarmalayıcı içindeyken hesap
       sayfaları kenardan kenara akıyordu
     · başlıklar bootstrap `h3`, kutular ham `.card`
     · sekme çubuğu gri `bg-light` bir bootstrap navbar'ı
     · formlar `.form-group.row` ile iki sütun ama etiket/alan
       oranı ürün sayfasındakiyle tutmuyordu

   Aşağısı bu sayfaları mağazanın geri kalanıyla aynı dile
   getirir. Devralınan şablonlara DOKUNULMAZ; yalnız sunum.
   ============================================================ */

/* --- sarmalayıcı: hesap sayfaları da 1400px ızgarada --- */
html body.hs-hesap main.hs-body > nav.navbar,
html body.hs-hesap main.hs-body > section,
html body.hs-hesap main.hs-body > div:not(.hs-cerez):not(.compare-bar) {
	max-width: var(--hs-max); margin-left: auto; margin-right: auto;
	padding-left: var(--hs-gutter); padding-right: var(--hs-gutter);
	box-sizing: border-box;
}

/* --- hesap sekme çubuğu --- */
html body.hs-hesap main.hs-body > nav.navbar {
	background: transparent !important;
	border-bottom: 1px solid var(--hs-line);
	padding-top: 14px; padding-bottom: 0;
	margin-bottom: 22px;
	justify-content: flex-start !important;
}
html body.hs-hesap #user_dashboard_nav .navbar-nav {
	border: 0; gap: 2px; justify-content: flex-start !important; width: auto !important;
	flex-wrap: wrap;
}
html body.hs-hesap #user_dashboard_nav .nav-item { margin: 0; }
html body.hs-hesap #user_dashboard_nav .nav-link {
	border: 0 !important; border-radius: 0;
	border-bottom: 3px solid transparent !important;
	padding: 10px 14px; font-size: 13.5px; font-weight: 600;
	color: var(--hs-text-2); background: transparent !important;
}
html body.hs-hesap #user_dashboard_nav .nav-link:hover { color: var(--hs-text); }
html body.hs-hesap #user_dashboard_nav .nav-link.active {
	color: var(--hs-red); border-bottom-color: var(--hs-red) !important;
}
html body.hs-hesap .navbar-toggler {
	border-color: var(--hs-line); font-size: 13.5px; color: var(--hs-text-2);
}

/* --- sayfa başlıkları --- */
html body.hs-hesap main.hs-body h3 {
	font-size: 22px; font-weight: 700; letter-spacing: -.01em;
	color: var(--hs-text); margin: 0 0 14px;
}
html body.hs-hesap main.hs-body h5 {
	font-size: 15px; font-weight: 700; color: var(--hs-text); margin: 0 0 10px;
}

/* --- kutular --- */
html body.hs-hesap main.hs-body .card {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none;
}
html body.hs-hesap main.hs-body .card + .card { margin-top: 14px; }
html body.hs-hesap main.hs-body .card-body { padding: 20px 22px; }
html body.hs-hesap main.hs-body .card-header {
	background: transparent; border-bottom: 1px solid var(--hs-line-soft);
	padding: 14px 22px; font-weight: 700;
}

/* --- liste kutuları (sipariş listesi, boş durumlar) --- */
html body.hs-hesap main.hs-body .list-group {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); overflow: hidden;
}
html body.hs-hesap main.hs-body .list-group-item {
	border: 0; border-bottom: 1px solid var(--hs-line-soft);
	padding: 16px 20px; font-size: 14px; background: var(--hs-surface);
}
html body.hs-hesap main.hs-body .list-group-item:last-child { border-bottom: 0; }
html body.hs-hesap main.hs-body .list-group-item-light {
	background: var(--hs-surface); color: var(--hs-text-3); padding: 34px 20px;
}

/* --- bilgi / uyarı kutuları --- */
html body.hs-hesap main.hs-body .alert {
	border-radius: var(--hs-radius); border: 1px solid transparent;
	font-size: 13px; padding: 12px 14px !important; margin-bottom: 16px;
}
html body.hs-hesap main.hs-body .alert-info {
	background: var(--hs-info-soft); border-color: #C6E0EC; color: var(--hs-info);
}
html body.hs-hesap main.hs-body .alert-warning {
	background: var(--hs-warn-soft); border-color: #F3DEBB; color: var(--hs-warn);
}
html body.hs-hesap main.hs-body .alert-success {
	background: var(--hs-ok-soft); border-color: #C6E6D5; color: var(--hs-ok);
}
html body.hs-hesap main.hs-body .alert-danger {
	background: var(--hs-red-soft); border-color: #F5C9CB; color: var(--hs-red-dark);
}

/* --- formlar: etiket solda, alan sağda --- */
html body.hs-hesap main.hs-body .form-group.row {
	margin: 0; padding: 16px 0; align-items: center;
	border-bottom: 1px solid var(--hs-line-soft);
}
html body.hs-hesap main.hs-body .card-body > form > .card > .card-body > .form-group.row:last-of-type,
html body.hs-hesap main.hs-body .form-group.row:last-child { border-bottom: 0; }
html body.hs-hesap main.hs-body .col-form-label {
	font-size: 13.5px; font-weight: 600; color: var(--hs-text); padding-top: 0; padding-bottom: 0;
}
html body.hs-hesap main.hs-body .col-form-label .fa { color: var(--hs-text-3); margin-right: 4px; }
html body.hs-hesap main.hs-body .form-control,
html body.hs-hesap main.hs-body .custom-select {
	border-color: var(--hs-line); border-radius: var(--hs-radius);
	font-size: 13.5px; min-height: 40px; color: var(--hs-text);
}
html body.hs-hesap main.hs-body .form-control:focus,
html body.hs-hesap main.hs-body .custom-select:focus {
	border-color: var(--hs-red); box-shadow: 0 0 0 3px rgba(187, 19, 25, .10);
}
html body.hs-hesap main.hs-body .form-text,
html body.hs-hesap main.hs-body small.text-muted {
	font-size: 12px; color: var(--hs-text-3);
}
html body.hs-hesap main.hs-body hr {
	border: 0; border-top: 1px solid var(--hs-line-soft); margin: 0;
}

/* --- düğmeler --- */
html body.hs-hesap main.hs-body .btn {
	border-radius: var(--hs-radius); font-weight: 600; font-size: 13.5px;
	padding: 10px 18px; box-shadow: none;
}
html body.hs-hesap main.hs-body .btn-primary {
	background: var(--hs-red); border-color: var(--hs-red); color: #fff;
}
html body.hs-hesap main.hs-body .btn-primary:hover {
	background: var(--hs-red-dark); border-color: var(--hs-red-dark);
}
html body.hs-hesap main.hs-body .btn-outline-secondary,
html body.hs-hesap main.hs-body .btn-secondary {
	background: #fff; border-color: var(--hs-line); color: var(--hs-text);
}
html body.hs-hesap main.hs-body .btn-outline-secondary:hover,
html body.hs-hesap main.hs-body .btn-secondary:hover {
	border-color: var(--hs-red); color: var(--hs-red); background: var(--hs-red-soft);
}
html body.hs-hesap main.hs-body .btn-sm { padding: 6px 12px; font-size: 12.5px; }

/* --- adres kartları --- */
html body.hs-hesap .address-list {
	display: grid; gap: 14px; align-items: start;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
html body.hs-hesap .address-item {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 18px 20px; margin: 0;
	font-size: 13.5px; color: var(--hs-text-2);
}
html body.hs-hesap .address-item-add {
	border-style: dashed; background: transparent; min-height: 120px;
	display: flex; align-items: center;
}
html body.hs-hesap .address-item-add:hover { border-color: var(--hs-red); }

/* --- SSS akordeonu --- */
html body.hs-hesap .help-faq .card {
	margin-bottom: 8px; border-radius: var(--hs-radius) !important;
}
html body.hs-hesap .help-faq .card + .card { margin-top: 0; }

/* --- kupon sayfası başlığı --- */
html body.hs-hesap .page-cover-title {
	max-width: var(--hs-max); margin: 0 auto 14px;
	padding: 0 var(--hs-gutter); box-sizing: border-box;
	font-size: 22px; font-weight: 700; color: var(--hs-text);
}

@media (max-width: 760px) {
	html body.hs-hesap main.hs-body h3 { font-size: 19px; }
	html body.hs-hesap main.hs-body .card-body { padding: 16px; }
	html body.hs-hesap main.hs-body .form-group.row { padding: 12px 0; }
	html body.hs-hesap .address-list { grid-template-columns: minmax(0, 1fr); }
}

/* --- onay kutusu ve radyo (bootstrap custom-control) ---
   Devralınan bootstrap.css configs.php'de bilerek yüklenmiyor
   (tasarımını dayatıyordu). Sonuç: `.custom-control-input`
   gizlenmediği için ham mavi kutucuk, etiketin YANINDA değil
   ÜSTÜNDE duruyordu. Burada kendi kutumuz çizilir. */
/* `:not(.department)` ŞART: departman seçimi de aynı bootstrap
   sınıflarını taşıyor ama kendi ızgarasını kuruyor (aşağıda).
   Bu kural oraya da uygulanınca `display: inline-flex` ızgarayı
   eziyor ve başlıkla açıklama yan yana yapışıyordu
   ("GenelGenel sorularınız için") -- yalnız oturum açıkken,
   çünkü kural hesap kabuğuna bağlı. */
html body.hs-hesap main.hs-body .custom-control:not(.department) {
	position: relative; padding-left: 26px; min-height: 22px;
	display: inline-flex; align-items: center;
}
html body.hs-hesap main.hs-body .custom-control:not(.department) .custom-control-input {
	position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	width: 17px; height: 17px; margin: 0; accent-color: var(--hs-red); cursor: pointer;
	/* `opacity` ve `z-index` SIFIRLANMALI. bootstrap yerli girişi
	   GİZLİYOR (`opacity:0; z-index:-1`) ve yerine
	   `.custom-control-label::before/::after` ile kendi kutusunu
	   çiziyor. Aşağıdaki kural o kutuyu kaldırıyor (`content:none`)
	   ama girişin saydamlığını geri almıyordu: ekranda HİÇBİR ŞEY
	   kalmıyordu. Ölçüldü 2026-09-14 — "Hesap ayarlarım"da cinsiyet
	   ve bülten, "Ödeme bildirimi"nde ödeme tipi seçenekleri
	   görünmüyordu; müşteri neyi seçtiğini göremiyordu. */
	opacity: 1; z-index: auto;
}
html body.hs-hesap main.hs-body .custom-control:not(.department) .custom-control-label {
	margin: 0; font-size: 13.5px; color: var(--hs-text); cursor: pointer;
}
html body.hs-hesap main.hs-body .custom-control-label .fa {
	color: var(--hs-text-3); margin-right: 3px;
}
html body.hs-hesap main.hs-body .custom-control-label::before,
html body.hs-hesap main.hs-body .custom-control-label::after { content: none; }

/* ==================================================================
   İÇERİK SAYFALARI  (mods/pages — Gizlilik, İade, Kurumsal …)

   Bu sayfaların gövdesi panelden girilmiş MİRAS HTML'dir: Word'den
   yapıştırılmış `MsoNormal` paragraflar, boşluk için kullanılmış
   `<div>&nbsp;</div>` satırları, satır içi renkler, `gjs-comp-*`
   artıkları. Metne dokunulmaz — okunur hale getiren katman burası.

   İki ölçü önemli:
     - okuma genişliği 72ch ile sınırlı (1400px'lik satır okunmaz)
     - tablo / gömülü çerçeve kendi kapsayıcısında kaydırılır
   ================================================================== */

/* --- sayfa başlığı şeridi --- */
.page-cover-title { background: var(--hs-surface); border-bottom: 1px solid var(--hs-line); }
.page-cover-title > .hs-wrap { padding-top: 4px; padding-bottom: 20px; }
.page-cover-title .crumbs { padding: 14px 0 8px; }
.page-cover-title h1 {
	margin: 0; font-size: 28px; font-weight: 700; letter-spacing: -.015em;
	color: var(--hs-text);
}

.page-cover {
	min-height: 190px; background-size: cover; background-position: center;
	display: flex; align-items: flex-end; position: relative;
}
.page-cover::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(16,21,26,.15), rgba(16,21,26,.72));
}
.page-cover > .hs-wrap { position: relative; z-index: 1; padding-bottom: 22px; }
.page-cover h1 { margin: 0; color: #fff; font-size: 30px; font-weight: 700; letter-spacing: -.015em; }

/* --- gövde tipografisi ---
   Gövde beyaz bir kart; sayfanın zemini gri olduğu için metin alanı
   kendi başına bir yüzey olarak duruyor ve sağdaki boşluk "eksik
   içerik" değil, düzen gibi okunuyor. Okuma genişliği 74ch. */
.hs-metin {
	font-size: 15px; line-height: 1.72; color: var(--hs-text);
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 30px 34px;
	/* Okuma genisligi KARTIN kendi olcusuyle sinirlanir; icerideki
	   ogelere ayrica max-width verilmez, yoksa metin kartin icinde
	   dar bir serit halinde kalip sagda bos alan birakiyordu. */
	max-width: 860px; box-sizing: border-box;
}
.hs-metin > h1, .hs-metin > h2, .hs-metin > h3,
.hs-metin h1, .hs-metin h2, .hs-metin h3, .hs-metin h4 {
	color: var(--hs-text); letter-spacing: -.01em; line-height: 1.3;
	margin: 30px 0 10px; font-weight: 700;
}
.hs-metin > :first-child,
.hs-metin > div > :first-child { margin-top: 0; }
.hs-metin h1 { font-size: 25px; }
.hs-metin h2 { font-size: 21px; padding-bottom: 8px; border-bottom: 1px solid var(--hs-line); }
.hs-metin h3 { font-size: 17px; }
.hs-metin h4, .hs-metin h5, .hs-metin h6 { font-size: 15px; }
.hs-metin p { margin: 0 0 14px; }
/* Giriş paragrafı: sayfanın ne anlattığını tek cümlede söyler. */
.hs-metin .ozet {
	font-size: 16.5px; line-height: 1.65; color: var(--hs-text-2);
	padding-bottom: 18px; margin-bottom: 22px;
	border-bottom: 1px solid var(--hs-line-soft);
}
.hs-metin .ozet b { color: var(--hs-text); }
/* Anahtar/değer tablolarında ilk sütun dar kalsın */
.hs-metin table th { width: 34%; }
.hs-metin table th:only-of-type { width: auto; }
.hs-metin a { color: var(--hs-info); text-decoration: underline; }
.hs-metin a:hover { color: var(--hs-red); }
.hs-metin ul, .hs-metin ol { margin: 0 0 16px; padding-left: 22px; }
.hs-metin li { margin-bottom: 6px; }
.hs-metin b, .hs-metin strong { font-weight: 700; }
.hs-metin img { max-width: 100%; height: auto; border-radius: var(--hs-radius); }
.hs-metin hr { border: 0; border-top: 1px solid var(--hs-line); margin: 26px 0; }
.hs-metin blockquote {
	margin: 18px 0; padding: 12px 18px; border-left: 3px solid var(--hs-red);
	background: var(--hs-bg); border-radius: 0 var(--hs-radius) var(--hs-radius) 0;
	color: var(--hs-text-2);
}
.hs-metin code {
	font-family: ui-monospace, Consolas, monospace; font-size: .92em;
	background: var(--hs-bg); border: 1px solid var(--hs-line);
	border-radius: 4px; padding: 1px 5px;
}

/* Tablolar mirasta çerçevesiz geliyor; okunur bir şeride çevrilir.
   Dar ekranda kendi kapsayıcısında yatay kayar, sayfa kaymaz. */
.hs-metin table {
	width: 100%; max-width: 100%; border-collapse: collapse;
	margin: 0 0 18px; font-size: 14px; display: block; overflow-x: auto;
}
.hs-metin table th, .hs-metin table td {
	border: 1px solid var(--hs-line); padding: 9px 12px; text-align: left;
	vertical-align: top;
}
.hs-metin table th { background: var(--hs-bg); font-weight: 700; }

/* Word / GrapesJS artıkları: boşluk için konmuş boş satırlar sayfayı
   uzatıyordu. Metin silinmiyor, yalnız boyu kısaltılıyor. */
.hs-metin div:empty { display: none; }
.hs-metin .MsoNormal { margin: 0 0 8px; }
.hs-metin .gjs-comp-selected { outline: 0; }
.hs-metin iframe { max-width: 100%; border: 0; border-radius: var(--hs-radius); }

@media (max-width: 760px) {
	.page-cover-title h1 { font-size: 23px; }
	.hs-metin { font-size: 14.5px; padding: 20px 18px; margin-top: 16px; }
	.hs-metin h1 { font-size: 21px; }
	.hs-metin h2 { font-size: 18px; }
}

/* --- içerik sayfası yan gezintisi --- */
.hs-sayfa-nav h2 {
	margin: 2px 0 8px; padding: 0 12px; font-size: 11.5px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .07em; color: var(--hs-text-3);
}
.hs-sayfa-nav a.acik {
	background: var(--hs-red-soft); color: var(--hs-red); font-weight: 600;
	box-shadow: inset 2px 0 0 var(--hs-red);
}
.hs-yan-yardim {
	margin-top: 14px; background: var(--hs-surface);
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	padding: 16px;
}
.hs-yan-yardim b { display: block; font-size: 14px; margin-bottom: 4px; }
.hs-yan-yardim p { margin: 0 0 12px; font-size: 12.5px; line-height: 1.55; color: var(--hs-text-2); }
.hs-yan-yardim .tel {
	display: block; margin-top: 10px; text-align: center;
	font-size: 15px; font-weight: 700; color: var(--hs-red);
}

/* ==================================================================
   ÖDEME ADIMLARI  (teslimat → ödeme → onay)

   İşaretleme Vue bileşenlerinin kendi çıktısıdır
   (themes/haustech2/mods/cart/cart.delivery.html, cart.payment.html);
   burada yalnız tema diline çevrilir. Referans:
   tasarim-demo/odeme.html.
   ================================================================== */

/* --- adım çubuğu ---
   Devralınan cart.css kendi paletini ve bir en-boy hilesini taşıyor:
   `.steps .step-badge:before { content:""; padding-top:100% }`.
   O hile rozetin içindeki rakamı aşağı itiyor, onay işaretini
   dairenin dışına taşırıyordu. Hile kapatılır, palet tema
   değişkenlerine bağlanır — yapı korunur. */
html body .steps {
	--imf-step-text:    var(--hs-text-3);
	--imf-step-success: var(--hs-ok);
	--imf-step-active:  var(--hs-red);
	--imf-step-passive: var(--hs-line);
}
html body .steps .step-badge:before { content: none; }
html body .steps .step-badge {
	width: 26px; height: 26px; line-height: 22px; border-radius: 999px;
	font-size: 12.5px; padding: 0; box-sizing: border-box;
}
html body .steps .step { display: inline-flex; align-items: center; gap: 9px; }
html body .steps .step-label { font-size: 13.5px; font-weight: 600; }
html body .steps .step.active .step-label,
html body .steps .step.success .step-label { color: var(--hs-text); }
html body .steps .step-divider:before { border-top-width: 2px; }

/* --- adım çubuğu --- */
html body .cart-preview.card-cart,
html body .steps.cart-preview {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none; margin-bottom: 14px;
}
html body .step-bar {
	display: flex; align-items: center; gap: 0; padding: 14px 18px;
}
html body .step-bar .step {
	display: flex; align-items: center; gap: 9px; flex: none;
	font-size: 13.5px; font-weight: 600; color: var(--hs-text-3); cursor: pointer;
}
html body .step-bar .step .step-badge {
	width: 24px; height: 24px; border-radius: 999px; flex: none;
	display: grid; place-items: center; font-size: 12px; font-weight: 700;
	background: var(--hs-bg); color: var(--hs-text-3);
}
html body .step-bar .step.active,
html body .step-bar .step.current { color: var(--hs-text); }
html body .step-bar .step.active .step-badge,
html body .step-bar .step.current .step-badge {
	background: var(--hs-red); color: #fff;
}
html body .step-bar .step.success,
html body .step-bar .step.done { color: var(--hs-ok); }
html body .step-bar .step.success .step-badge,
html body .step-bar .step.done .step-badge {
	background: var(--hs-ok-soft); color: var(--hs-ok);
}
html body .step-bar .step-divider {
	flex: 1; height: 2px; background: var(--hs-line); margin: 0 14px; border: 0;
}

/* --- sepet önizleme şeridi (adım üstündeki küçük görseller) --- */
html body .cart-preview-infos,
html body .cart-preview-action { padding: 12px 18px; }
html body .cart-preview-back {
	font-size: 13px; font-weight: 600; color: var(--hs-text-2);
}
html body .cart-preview-back:hover { color: var(--hs-red); }
html body .cart-preview-circle-product img {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius); background: #fff;
}

/* --- paneller (teslimat adresi, fatura, ödeme) --- */
html body .card-cart .payment-header,
html body .delivery-header,
html body .cart-section .card-header {
	background: transparent; border-bottom: 1px solid var(--hs-line-soft);
	padding: 16px 18px;
}
html body .cart-section .card-header h5,
html body .cart-section .card-header h6,
html body .payment-header .title,
html body .delivery-header .title {
	font-size: 16px; font-weight: 700; color: var(--hs-text); margin: 0;
	letter-spacing: -.01em;
}

/* --- form: etiketler sağa yaslıydı, demoda üstte --- */
html body .cart-section .form-group.row { margin-left: 0; margin-right: 0; }
html body .cart-section .col-form-label {
	font-size: 12.5px; font-weight: 600; color: var(--hs-text-2);
}
html body .cart-section .form-control,
html body .cart-section .custom-select {
	border-color: var(--hs-line); border-radius: var(--hs-radius);
	font-size: 13.5px; min-height: 40px;
}
html body .cart-section .form-control:focus {
	border-color: var(--hs-red); box-shadow: 0 0 0 3px var(--hs-red-soft);
}
html body .cart-section .invalid-feedback { font-size: 11.5px; }

/* --- seçim listeleri: teslimat yöntemi, banka, taksit ---
   Demodaki `.pay-opt` dili: çerçeveli satır, seçiliyken kırmızı
   çerçeve ve çok açık kırmızı zemin. */
html body .selectlist { border: 0; background: transparent; }
html body .selectlist-header {
	font-size: 12.5px; font-weight: 700; color: var(--hs-text-3);
	text-transform: uppercase; letter-spacing: .06em; padding: 0 0 8px;
}
html body .selectlist-item,
html body .payment-tab {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	background: var(--hs-surface); padding: 12px 14px; margin-bottom: 8px;
	cursor: pointer; transition: border-color .15s ease, background-color .15s ease;
}
html body .selectlist-item:hover,
html body .payment-tab:hover { border-color: var(--hs-red); }
html body .selectlist-item.active,
html body .selectlist-item.selected,
html body .payment-tab.active {
	border-color: var(--hs-red); border-width: 2px; padding: 11px 13px;
	background: #FFFBFB;
}
html body .selectlist-item .title,
html body .payment-tab .title {
	font-size: 13.5px; font-weight: 700; color: var(--hs-text);
}
html body .selectlist-item .desc,
html body .payment-tab .desc {
	font-size: 12.5px; color: var(--hs-text-2); line-height: 1.55;
}
html body .selectlist-item .fa-circle { color: var(--hs-line); }
html body .selectlist-item.active .fa-circle,
html body .selectlist-item.selected .fa-circle { color: var(--hs-red); }

/* --- ödeme sekmeleri ve taksit tablosu --- */
html body .payment-component { padding: 16px 18px; }
html body .payment-tab-content { margin-top: 14px; }
html body .payment-tab-installments table,
html body .payment-component table {
	width: 100%; border-collapse: collapse; font-size: 12.5px;
}
html body .payment-component table th,
html body .payment-component table td {
	border: 1px solid var(--hs-line); padding: 7px 9px; text-align: center;
}
html body .payment-component table th {
	background: var(--hs-bg); font-size: 11.5px; font-weight: 700;
	color: var(--hs-text-2);
}
html body .payment-discount,
html body .discount-amount,
html body .discounted-total { color: var(--hs-ok); font-weight: 700; }
html body .payment-commission,
html body .commission-amount { color: var(--hs-warn); font-weight: 700; }
html body .logos img { max-height: 22px; }

/* --- adres kartları (kayıtlı adresler) --- */
html body .delivery-address-item,
html body .address-preview {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 14px; font-size: 13.5px; line-height: 1.6; background: var(--hs-surface);
}
html body .delivery-address-item.active {
	border-color: var(--hs-red); border-width: 2px; padding: 13px; background: #FFFBFB;
}

/* --- sipariş notu şeridi --- */
html body .cart-section .note-bar,
html body .cart-section .note-area {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 12px 18px; margin-bottom: 14px;
	font-size: 13.5px;
}

/* --- banka kartı modalı --- */
html body .cc-modal-area {
	background: var(--hs-surface); border-radius: var(--hs-radius-lg);
	border: 1px solid var(--hs-line);
}

@media (max-width: 760px) {
	html body .step-bar { padding: 12px; gap: 0; }
	html body .step-bar .step .step-label { display: none; }
	html body .step-bar .step.active .step-label,
	html body .step-bar .step.current .step-label { display: inline; }
	html body .step-bar .step-divider { margin: 0 8px; }
	html body .cart-section .col-form-label { text-align: left !important; }
	html body .payment-component,
	html body .cart-preview-infos,
	html body .cart-preview-action { padding: 12px 14px; }
}


/* ==================================================================
   HESAP EKRANLARI — ortak kabuk

   İşaretleme modüllerin kendi çıktısıdır ve değiştirilmez; iki
   sütunlu düzen `main.hs-body` üzerinde ızgarayla kurulur:

       [ başlık — iki sütunu da kaplar ]
       [ hesap menüsü ] [ modülün içeriği ]

   DOM sırası: <header.hs-hesap-bas>, <nav.hs-hesap-yan>, sonra
   modülün bölümleri. Izgara yerleşimi bu sıraya göre yazıldı.
   Kabuk `themes/haustech2/layouts/client/client.navigation.default.php`
   içinde üretilir.

   `hs-hesap`       : herhangi bir hesap ekranı
   `hs-hesap-panel` : hesap ana sayfası DIŞINDAKİ ekranlar
                      (haustech2.js koyar)
   ================================================================== */

html body.hs-hesap main.hs-body {
	max-width: var(--hs-max); margin: 0 auto;
	padding: 0 var(--hs-gutter) 44px; box-sizing: border-box;
}

/* --- sayfa başlığı --- */
html body.hs-hesap .hs-hesap-bas { padding: 0 0 4px; }
html body.hs-hesap .hs-hesap-bas h1 {
	margin: 4px 0 18px; font-size: 26px; font-weight: 700;
	letter-spacing: -.015em; color: var(--hs-text);
}

/* --- iki sütun: yalnız alt sayfalarda --- */
html body.hs-hesap-panel main.hs-body {
	display: grid; grid-template-columns: 244px minmax(0, 1fr);
	column-gap: 28px; align-items: start;
}
html body.hs-hesap-panel main.hs-body > .hs-hesap-bas { grid-column: 1 / -1; }
html body.hs-hesap-panel main.hs-body > .hs-hesap-yan { grid-column: 1; }
/* İçerik KARTIN İÇİNDE dursun.

   Modüllerin bir kısmı kendi `.card`ını basıyor (Soru sor, Hesap
   ayarları), bir kısmı hiç basmıyor (Adreslerim, SSS, Ödeme
   bildirimi) ve o sayfalarda içerik sayfa zemininin üstünde
   açıkta kalıyordu — form alanları havada duruyordu.

   `:has(.card)` taşıyanlara dokunulmaz; ikinci bir çerçeve
   çizmek kartı kart içine koymak olurdu. Aynı gerekçeyle
   `.hs-yardim` (Yardım Masası) da dışarıda: kendi kartlarını
   basıyor ve sarılınca iç kartların beyazı dıştakine karışıp
   kayboluyordu. */
html body.hs-hesap-panel main.hs-body > section:not(.hs-yardim):not(:has(.card)),
html body.hs-hesap-panel main.hs-body > div:not(.hs-cerez):not(.compare-bar):not(.page-cover-title):not(.hs-yardim):not(:has(.card)) {
	background: var(--hs-surface);
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg);
	padding: 22px 24px;
}
@media (max-width: 620px) {
	html body.hs-hesap-panel main.hs-body > section:not(.hs-yardim):not(:has(.card)),
	html body.hs-hesap-panel main.hs-body > div:not(.hs-cerez):not(.compare-bar):not(.page-cover-title):not(.hs-yardim):not(:has(.card)) {
		padding: 16px 14px;
	}
}

/* Ucuncu :not() ozgullugu yukseltmek icin: sarmalayici kurali
   `> div:not(.hs-cerez):not(.compare-bar)` ile (0,3,4) puana
   sahip ve bu kural (0,3,3) kaliyordu; sonucta yatay dolgu
   silinmiyordu ve destek sayfalari diger hesap sayfalarindan
   16px icerde basliyordu. */
html body.hs-hesap-panel main.hs-body > *:not(.hs-hesap-bas):not(.hs-hesap-yan):not(.hs-cerez) {
	grid-column: 2; margin-top: 0 !important;
	/* Sarmalayici kurali (yukarida) blok ogeleri 1400px'te ortalamak
	   icin `margin-inline: auto` veriyor. Hesap kabugu IZGARA oldugu
	   icin ayni kural burada ogeyi kendi sutununda ortaliyor ve
	   genisligi ICERIGE gore kuculuyordu: 1096px'lik sutunda 448px'lik
	   bir form, iki yanda ~300px bosluk. Izgarada `margin:auto`
	   esnemeyi iptal eder; sifirlanip tam genislige zorlaniyor.
	   Sutunun kendisi zaten 1400px sinirinin icinde, ust sinir
	   kaybolmuyor. */
	margin-left: 0; margin-right: 0;
	max-width: none; width: 100%;
	justify-self: stretch;
	/* Yan sutun zaten 28px bosluk birakiyor; ic dolgu ikinci kez
	   girinti yapiyordu. */
	padding-left: 0; padding-right: 0;
}

/* Hesap ana sayfasında menü gizlenir — orası kısayol kartlarından
   oluşan merkez sayfa; aynı bağlantılar kartlarda zaten var. */
html body.hs-hesap:not(.hs-hesap-panel) .hs-hesap-yan { display: none; }
/* Dashboard kendi sarmalayıcısını taşıyor, ikinci kez daraltılmasın */
html body.hs-hesap:not(.hs-hesap-panel) .hesap { max-width: none; padding-left: 0; padding-right: 0; }

/* --- sol menü --- */
html body.hs-hesap .hs-hesap-yan {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 8px; position: sticky; top: 14px;
}
html body.hs-hesap .hs-hesap-yan .grp + .grp { border-top: 1px solid var(--hs-line-soft); margin-top: 6px; padding-top: 8px; }
html body.hs-hesap .hs-hesap-yan h2 {
	margin: 6px 0 4px; padding: 0 12px; font-size: 11px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .07em; color: var(--hs-text-3);
}
html body.hs-hesap .hs-hesap-yan ul { list-style: none; margin: 0; padding: 0; }
html body.hs-hesap .hs-hesap-yan a {
	display: block; padding: 8px 12px; border-radius: var(--hs-radius);
	font-size: 13.5px; color: var(--hs-text-2); text-decoration: none;
}
html body.hs-hesap .hs-hesap-yan a:hover { background: var(--hs-bg); color: var(--hs-red); text-decoration: none; }
html body.hs-hesap .hs-hesap-yan a.acik {
	background: var(--hs-red-soft); color: var(--hs-red); font-weight: 600;
	box-shadow: inset 2px 0 0 var(--hs-red);
}
html body.hs-hesap .hs-hesap-yan a.cikis { color: var(--hs-text-3); }
html body.hs-hesap .hs-hesap-yan a.cikis:hover { color: var(--hs-red); }
html body.hs-hesap .hs-hesap-yan .hs-yan-yardim {
	margin: 8px 4px 4px; border: 0; background: var(--hs-bg); padding: 14px;
}

/* --- devralınan sekme şeridi artık üretilmiyor; kalan izler --- */
html body.hs-hesap main .navbar.bg-light { display: none; }

@media (max-width: 900px) {
	html body.hs-hesap-panel main.hs-body {
		grid-template-columns: minmax(0, 1fr); row-gap: 16px;
	}
	/* Telefonda menü içeriğin ALTINA iner: ziyaretçi sayfayı açtığında
	   önce aradığı şeyi görsün, bağlantı listesini değil. */
	html body.hs-hesap-panel main.hs-body > .hs-hesap-bas { order: 1; }
	html body.hs-hesap-panel main.hs-body > .hs-hesap-yan { order: 3; position: static; }
	/* :not() sayisi UST kuralla ayni olmali. Masaustu kurali
	   (0,3,4) puanindayken bu kural (0,3,3) kaliyordu ve
	   `grid-column: 2` telefonda da gecerli oluyordu: tek
	   sutunlu izgarada ornortulu bir ikinci sutun aciliyor,
	   icerik 45px saga kayiyordu. */
	html body.hs-hesap-panel main.hs-body > *:not(.hs-hesap-bas):not(.hs-hesap-yan):not(.hs-cerez) { order: 2; grid-column: 1; }
	html body.hs-hesap .hs-hesap-bas h1 { font-size: 21px; margin-bottom: 12px; }
}


/* ==================================================================
   MOBİL KATMAN  —  en sonda durur, bilerek

   Bu dosyada mobil kuralları daha önce sayfa sayfa dağılmıştı ve
   aralarına devralınan bootstrap / cart.css kuralları giriyordu.
   Telefonda ölçülen somut kusurlar (390px, iPhone):

     · `.hs-main` yatay dolgusu SIFIRDI  (`padding: 14px 0` kısayolu
       `.hs-wrap`'ın `0 var(--hs-gutter)` dolgusunu eziyor). Logo,
       arama kutusu ve sepet ikonu ekranın kenarına yapışıyordu.
       Masaüstünde bu bilinçli bir tercih (DURUM 3.14) — yalnız
       mobilde geri alınır.
     · Ürün listesi 390px ekranda 473px genişliğe taşıyordu.
     · İçerik sayfasının yan sütunu tam genişlik şerit gibi akıyordu.
     · Tablolar sayfayı yatay kaydırıyordu.

   Kural: sayfanın gövdesi ASLA yatay kaymaz. Kayması gereken şey
   (tablo, kod bloğu, kart şeridi) kendi kapsayıcısında kayar.
   ================================================================== */

@media (max-width: 900px) {
	/* Sayfa gövdesi taşmasın — devralınan bootstrap ızgaraları
	   negatif margin kullanıyor ve dar ekranda dışarı çıkıyor. */
	html, body { overflow-x: hidden; max-width: 100%; }
	body .row { margin-left: 0; margin-right: 0; }
	body [class^="col-"], body [class*=" col-"] { padding-left: 8px; padding-right: 8px; }
	img, svg, video, iframe { max-width: 100%; }
}

@media (max-width: 760px) {
	:root { --hs-gutter: 14px; }

	/* --- HEADER: yatay boşluk geri geliyor --- */
	.hs-main {
		padding: 10px var(--hs-gutter);
		column-gap: 12px; row-gap: 10px;
	}
	.hs-burger { margin-left: -8px; }
	.hs-logo img { height: 22px; }
	.hs-search form { border-radius: var(--hs-radius); }
	.hs-search input { font-size: 16px; }   /* 16px altı iOS'ta sayfayı yakınlaştırır */
	.hs-actions { gap: 2px; }
	.hs-act { padding: 6px; }
	.hs-act .badge { left: 20px; top: -2px; }

	/* Üst şerit tek vaat gösteriyor; ortalanmasın, hizada dursun */
	.hs-top { font-size: 11.5px; }
	.hs-top .hs-wrap { min-height: 30px; gap: 10px; }
	.hs-top .spacer, .hs-top .mode-label, .hs-top .mode-switch { display: none; }

	/* --- İÇERİK SAYFASI --- */
	.hs-sayfa-alan { padding: 16px 0 32px; }
	.hs-metin { padding: 20px 16px; margin-top: 0; max-width: 100%; }
	.hs-metin h1 { font-size: 20px; }
	.hs-metin h2 { font-size: 17.5px; }
	.hs-metin .ozet { font-size: 15.5px; }
	.page-cover-title > .hs-wrap { padding-bottom: 14px; }
	.page-cover-title h1 { font-size: 21px; }
	.page-cover { min-height: 130px; }
	.page-cover h1 { font-size: 22px; }

	/* Tablolar telefonda sayfayı yatay kaydırıyordu. Kaydırma
	   tablonun KENDİ kapsayıcısına alınır; gövde sabit kalır.
	   .seo-block da aynı kuralı alır: kategori sayfalarının altındaki
	   eşleşme tabloları (gövde ↔ aktüatör) 591px'e taşıyordu. */
	.hs-metin table,
	.seo-block table,
	.hs-sayfa-govde table {
		display: block; overflow-x: auto; font-size: 13.5px;
		-webkit-overflow-scrolling: touch;
	}
	.hs-metin table th { width: auto; }
	.hs-metin table th, .hs-metin table td,
	.seo-block table th, .seo-block table td { padding: 8px 10px; white-space: normal; }
	.seo-block { padding: 18px 16px; }

	/* --- HESABIM --- */
	.hesap { padding-left: var(--hs-gutter); padding-right: var(--hs-gutter); }
	.hesap-bas { padding: 18px 0 14px; }
	.hesap-kart { padding: 14px; gap: 12px; }
	.hesap-kart .ikon { width: 40px; height: 40px; }
	.hesap-kart .ikon svg { width: 20px; height: 20px; }
	.hesap-akis, .hesap-sutunlar, .hesap-serit { margin-top: 24px; }

	/* --- SEPET --- */
	html body .cart-head { padding: 0 var(--hs-gutter); }
	html body .cart-section { padding-left: var(--hs-gutter); padding-right: var(--hs-gutter); gap: 14px; }
	html body .cart-seal { padding-left: var(--hs-gutter); padding-right: var(--hs-gutter); }
	html body .cart-info-card.summary { padding: 16px; }
	html body .summary .tot b { font-size: 21px; }

	/* --- FOOTER --- */
	.foot-top .hs-wrap { gap: 12px; }
	.foot-form { flex-wrap: wrap; }
	.foot-form input { min-width: 0; flex: 1 1 180px; }

	/* --- Devralınan bootstrap ekranları (sipariş, destek, adres) --- */
	html body main .table-responsive { -webkit-overflow-scrolling: touch; }
	html body main .card-body { padding: 14px; }
	html body main .btn { white-space: normal; }
	html body main .form-group.row > [class^="col-"] { padding-left: 0; padding-right: 0; }

	/* Dokunma hedefi en az 40px — devralınan ikon butonları 24px'ti */
	html body main .btn,
	html body .cart-item .ci-acts .qty button { min-height: 38px; }
	html body .cart-item .ci-acts .qty { height: 38px; }
}

@media (max-width: 420px) {
	.hs-logo img { height: 20px; }
	.hs-top .promise { font-size: 11px; }
	html body .cart-item .ci-acts { gap: 10px; }
	html body .cart-empty { padding: 36px 16px; }
	html body .cart-empty .acts .btn { flex: 1 1 100%; }
}

/* --- hesap ekranlarında boş durum (haustech2.js üretir) --- */
html body.hs-hesap .hs-bos {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 44px 30px; text-align: center;
}
html body.hs-hesap .hs-bos h2 {
	margin: 0 0 8px; font-size: 19px; font-weight: 700; color: var(--hs-text);
}
html body.hs-hesap .hs-bos p {
	margin: 0 auto; max-width: 460px; font-size: 13.5px; line-height: 1.65;
	color: var(--hs-text-2);
}
html body.hs-hesap .hs-bos .acts {
	display: flex; gap: 9px; justify-content: center; flex-wrap: wrap; margin-top: 20px;
}

/* --- hesap ekranlarında modül başlıkları ---
   Devralınan modüller başlıklarını `font-weight-light` ve kimi yerde
   ortalanmış basıyor ("Yardım Talepleriniz"); sayfa H1'i solda,
   modül başlığı ortada duruyordu. Tek dile çevrilir. */
html body.hs-hesap-panel main > *:not(.hs-hesap-bas):not(.hs-hesap-yan) { text-align: left; }
html body.hs-hesap main h2,
html body.hs-hesap main h3,
html body.hs-hesap main h4,
html body.hs-hesap main .card-title {
	font-size: 17px; font-weight: 700; letter-spacing: -.01em;
	color: var(--hs-text); text-align: left;
}
html body.hs-hesap main .font-weight-light { font-weight: 700; }
html body.hs-hesap .hs-bos { text-align: center; }
html body.hs-hesap .hs-bos h2 { text-align: center; font-size: 19px; }
/* Modülün kendi üst boşlukları H1 ile çakışıyordu */
html body.hs-hesap-panel main > .mt-2,
html body.hs-hesap-panel main > .mt-3,
html body.hs-hesap-panel main > .mt-4,
html body.hs-hesap-panel main > .my-5 { margin-top: 0 !important; }

/* --- arama sonuç başlığı ---
   Arama sayfası kategori listesiyle aynı şablonu kullanır; başlıkta
   "Arama sonuçları:" etiketi soluk, aranan sözcük vurgulu durur. */
html body .products-area-header h1 .hs-arama-etiket {
	color: var(--hs-text-2); font-weight: 500;
}
html body .products-area-header .hs-arama-ozet {
	font-size: 13.5px; color: var(--hs-text-2); margin: 4px 0 0;
}
/* Boş sonuç kutusu ürün sütununun içinde durur, sayfanın tamamında değil */
html body .products-list .search-empty,
html body .grid-products .search-empty { grid-column: 1 / -1; }
html body .search-empty code {
	font-family: ui-monospace, Consolas, monospace; font-size: .92em;
	background: var(--hs-bg); border: 1px solid var(--hs-line);
	border-radius: 4px; padding: 1px 5px;
}
html body .search-empty .help a { color: var(--hs-red); text-decoration: underline; }

/* --- fiyat aralığı kaydırıcısı (bootstrap-slider) ---
   Eklentinin kendi CSS'i yükleniyor ama tema paletini bilmiyor:
   tutamaçlar saf kırmızı (#FF0000) küreler, ray görünmüyordu. İki
   tutamaç 0 noktasında üst üste gelince filtre panelinde havada
   duran tek bir kırmızı nokta gibi görünüyordu. */
html body .range-slider { padding: 14px 10px 4px; }
html body .slider.slider-horizontal { width: 100%; height: 20px; }
html body .slider-track {
	background: var(--hs-line); box-shadow: none; height: 4px; border-radius: 999px;
}
html body .slider-selection {
	background: var(--hs-red); box-shadow: none; border-radius: 999px;
}
html body .slider-handle {
	background: #fff; background-image: none;
	border: 2px solid var(--hs-red); box-shadow: 0 1px 3px rgba(16,21,26,.2);
	width: 16px; height: 16px; margin-top: 1px; opacity: 1;
}
html body .slider-handle:hover { border-color: var(--hs-red-dark); }
html body .slider.slider-horizontal .slider-tick-label-container { margin-top: 4px; }
html body .slider .tooltip-inner {
	background: var(--hs-ink); font-size: 11.5px; border-radius: var(--hs-radius);
}
html body .range-slider .input-group .form-control { text-align: center; }

/* ==================================================================
   ÜRÜN KARŞILAŞTIRMA  (/products/karsilastir)
   ================================================================== */
.kars-alan { padding-bottom: 44px; }
.kars-bas { padding: 6px 0 18px; }
.kars-bas h1 {
	margin: 4px 0 0; font-size: 26px; font-weight: 700; letter-spacing: -.015em;
	color: var(--hs-text);
}
.kars-bas p { margin: 5px 0 0; font-size: 13.5px; color: var(--hs-text-2); }

.kars-arac {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	margin-bottom: 12px;
}
.kars-sadece-fark {
	display: flex; align-items: center; gap: 8px; margin: 0;
	font-size: 13.5px; color: var(--hs-text-2); cursor: pointer;
}
.kars-sadece-fark input { width: 16px; height: 16px; accent-color: var(--hs-red); }

/* Tablo yatay kayar; sayfanın gövdesi kaymaz. */
.kars-kaydir {
	overflow-x: auto; -webkit-overflow-scrolling: touch;
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg);
}
/* Sutun genisligi ICERIGE gore degisiyordu: uzun urun adi olan sutun
   sisiyor, kisa adli sutun daraliyordu -- iki urunde fark iyice
   goze batiyordu. Sabit yerlesimde kalan genislik urun SAYISINA
   esit bolunur (--kars-n sablondan gelir).

   min-width dar ekranda tabloyu kapsayicidan genis tutar, boylece
   .kars-kaydir yatay kayar; sayfanin govdesi kaymaz. */
.kars-tablo {
	width: 100%; border-collapse: collapse; font-size: 13.5px;
	table-layout: fixed;
	min-width: calc(var(--kars-etiket, 210px) + var(--kars-n, 3) * 200px);
}
.kars-tablo th, .kars-tablo td {
	border-bottom: 1px solid var(--hs-line-soft); padding: 11px 14px;
	text-align: left; vertical-align: top;
}
/* Sabit yerlesimde sutun genisligini YALNIZ ilk satir belirler;
   etiket sutunu thead'deki .kose'den gelir. Govdedeki th'lere
   genislik vermek anlamsiz, veriliyorsa da yok sayilir. */
.kars-tablo thead th.kose { width: var(--kars-etiket, 210px); }
.kars-tablo tbody th {
	font-weight: 600; color: var(--hs-text-2);
	background: var(--hs-bg);
}
.kars-tablo td { color: var(--hs-text); }
/* Sabit yerlesimde hucre min-width'i duzeni belirlemez ama ICERIK
   tasabilir; uzun stok kodu / oznitelik degeri satir kirsin. */
.kars-tablo th, .kars-tablo td { overflow-wrap: anywhere; }
.kars-tablo tr.farkli td { font-weight: 600; }
.kars-tablo .yok { color: var(--hs-text-3); }
.kars-tablo thead th { border-bottom: 1px solid var(--hs-line); vertical-align: top; }
.kars-tablo thead .kose { background: var(--hs-bg); }

/* Satır gizleme: "yalnız farklı satırlar" */
/* "Yalniz farkli satirlar" suzgeci uyumluluk satirini SAKLAMAMALI:
   o satir bir ozellik degil, karsilastirmanin cevabi. */
.kars-tablo.sadece-fark tbody tr:not(.farkli):not(.kars-uyum) { display: none; }

/* --- başlıktaki ürün kartı --- */
/* Sutunlardaki kartlar AYNI HIZADA bitsin.

   Kartlarin boyunu degistiren tek sey urun ADI: kimi bir satir,
   kimi uc satir. Ad uc satirda sabitlenince butun kartlar dogal
   olarak ayni boya gelir (asagida .kars-urun .ad).

   ONCEKI DENEME: `thead th { height:1px }` + kartta `height:100%`.
   Bilinen bir yontem ama burada guvenilir cikmadi -- gercek
   tarayicida baslik satiri 1px'e cokup kartlar alttaki satirlarin
   uzerine bindi. Headless'ta tekrarlanmadigi icin olculerde
   gorunmuyordu. Tasarim boyle bir kurala dayandirilmaz. */
.kars-urun { position: relative; padding: 6px 4px 4px; min-width: 0; }
/* Fiyat satiri her kartta ayni yeri kaplasin: gercek fiyat 17px,
   "Fiyat icin arayin" 13px yaziyor. */
.kars-urun .fiyat { min-height: 23px; display: flex; align-items: flex-end; }
/* Eskiden burada, eksik "Sepete ekle" satirinin yerini dolduran
   sabit 40px'lik bir kural vardi. Kaldirildi: artik her kartta
   birincil eylem BASILIYOR (products.karsilastir.php -> $hsEylem),
   dolayisiyla satir sayisi her sutunda ayni. Olculen bir sayiya
   dayanan kural, dugme yuksekligi degisen her ekranda kayiyordu. */
/* Birincil eylem ya form icindeki bir dugme (Sepete ekle) ya da
   dogrudan bir baglantidir (Fiyat sorun / Seçenekleri gör).
   Ikisi de altindaki "Urune git"ten AYNI araligi birakmali,
   yoksa sutunlarin dibi 6px kayiyor. */
.kars-urun form,
.kars-urun > .btn-primary { margin: 0 0 6px; }
.kars-urun .cikar {
	position: absolute; top: 0; right: 0; border: 0; background: transparent;
	font-size: 19px; line-height: 1; color: var(--hs-text-3); cursor: pointer; padding: 2px 4px;
}
.kars-urun .cikar:hover { color: var(--hs-red); }
.kars-urun .gorsel {
	display: block; height: 110px; margin-bottom: 10px;
	background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	display: grid; place-items: center; padding: 6px;
}
.kars-urun .gorsel img { max-width: 100%; max-height: 96px; object-fit: contain; }
.kars-urun .marka {
	font-size: 11px; font-weight: 700; letter-spacing: .06em;
	text-transform: uppercase; color: var(--hs-text-3); margin-bottom: 3px;
}
.kars-urun .ad {
	font-size: 13.5px; font-weight: 600; line-height: 1.4;
	color: var(--hs-text); margin-bottom: 4px;
	/* Ad UC SATIRDA sabitlenir: kisa adli kart da bu kadar yer
	   kaplar, uzun ad kirpilir. Kartlarin boyunu esitleyen kural
	   bu; tam ad urun sayfasinda ve `title` ozniteliginde. */
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
	overflow: hidden; min-height: calc(3 * 1.4 * 13.5px);
}
.kars-urun .ad:hover { color: var(--hs-red); }
.kars-urun .kod {
	font-size: 11.5px; color: var(--hs-text-3);
	font-family: ui-monospace, Consolas, monospace; margin-bottom: 8px;
}
.kars-urun .fiyat { font-size: 17px; font-weight: 800; letter-spacing: -.015em; }
.kars-urun .stok { font-size: 12px; margin: 3px 0 10px; }
.kars-urun .stok.var { color: var(--hs-ok); }
.kars-urun .stok.yok { color: var(--hs-text-3); }
.kars-urun .btn { width: 100%; font-size: 13px; padding: 8px 12px; }

@media (max-width: 760px) {
	.kars-bas h1 { font-size: 21px; }
	/* Dar ekranda etiket sutunu daralir, urun sutunu 170px'e iner;
	   tablo yine kapsayicisinda kayar. */
	.kars-tablo { --kars-etiket: 140px; min-width: calc(140px + var(--kars-n, 3) * 170px); }
	.kars-tablo tbody th { font-size: 12.5px; }
	.kars-urun .gorsel { height: 86px; }
	.kars-urun .gorsel img { max-height: 74px; }
}

/* Karşılaştırma çubuğu sayfanın altına yapışır; içeriğin son satırını
   kapatmasın diye gövdeye alt boşluk verilir (JS `has-compare`
   sınıfını koyar). */
body.has-compare { padding-bottom: 132px; }
@media (max-width: 760px) { body.has-compare { padding-bottom: 116px; } }
/* İki üründen azken karşılaştırma anlamsız — düğme pasif görünür */
html body .compare-bar .btn.disabled { opacity: .5; pointer-events: none; }

/* --- karşılaştırma: uyumluluk satırı ve sütun eylemleri --- */
.kars-tablo tr.kars-uyum td { background: #FBFCFD; }
.kars-tablo .uyar {
	display: inline-block; font-size: 12px; font-weight: 700; color: var(--hs-ok);
	background: var(--hs-ok-soft); border-radius: 999px; padding: 3px 10px;
	line-height: 1.45; text-align: left;
}
.kars-tablo .uymaz { font-size: 12px; color: var(--hs-text-3); }
.kars-urun form { margin: 0 0 6px; }
.kars-urun form .btn { width: 100%; }
.kars-urun .fiyat.yok { font-size: 13px; font-weight: 600; color: var(--hs-text-3); }

/* ==================================================================
   UYUMLULUK ARACI  (/products/uyumluluk)

   Ana sayfadaki uyumluluk vitrini bu sayfaya bağlanır. İki ekran:
   cihaz seçimi (kart ızgarası) ve sonuç (solda cihaz + kriterler,
   sağda doğrulanmış ürünler).
   ================================================================== */
.uya-alan { padding-bottom: 44px; }

.uya-bas { padding: 6px 0 16px; }
.uya-bas h1 {
	margin: 4px 0 0; font-size: 26px; font-weight: 700; letter-spacing: -.015em;
	color: var(--hs-text);
}
.uya-bas p {
	margin: 6px 0 0; font-size: 14px; color: var(--hs-text-2);
	max-width: 760px; line-height: 1.6;
}

/* --- arama --- */
.uya-ara { display: flex; gap: 8px; margin-bottom: 22px; max-width: 620px; }
.uya-ara input {
	flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 14px;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	background: var(--hs-surface); font-size: 14px; color: var(--hs-text);
}
.uya-ara input:focus {
	outline: none; border-color: var(--hs-red); box-shadow: 0 0 0 3px var(--hs-red-soft);
}
.uya-ara .btn { height: 44px; padding: 0 22px; }

/* --- seçim ekranı --- */
.uya-secim h2, .uya-sag h2, .uya-sol h2 {
	margin: 0 0 4px; font-size: 17px; font-weight: 700; color: var(--hs-text);
}
.uya-secim h2 span, .uya-sag h2 span {
	font-weight: 500; color: var(--hs-text-3); font-size: 14px;
}
.uya-not { margin: 0 0 14px; font-size: 12.5px; color: var(--hs-text-3); line-height: 1.6; }
.uya-sag .uya-not { margin: 14px 0 0; }

.uya-cihaz-liste {
	display: grid; gap: 10px;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}
.uya-cihaz-kart {
	display: flex; align-items: center; gap: 12px;
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 11px 13px;
	transition: border-color .12s, transform .12s;
}
.uya-cihaz-kart:hover {
	border-color: var(--hs-red); transform: translateY(-1px); text-decoration: none;
}
.uya-cihaz-kart .g {
	flex: none; width: 54px; height: 54px; border-radius: var(--hs-radius);
	border: 1px solid var(--hs-line-soft); background: #fff;
	display: grid; place-items: center; overflow: hidden;
}
.uya-cihaz-kart .g img { max-width: 100%; max-height: 100%; }
.uya-cihaz-kart .b { flex: 1 1 auto; min-width: 0; }
.uya-cihaz-kart .m {
	display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--hs-text-3);
}
.uya-cihaz-kart .ad {
	font-size: 13.5px; font-weight: 600; color: var(--hs-text);
	line-height: 1.35; margin: 1px 0 2px;
	/* Ürün adları uzun; iki satırda kesilir ki kartlar aynı boyda kalsın. */
	overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.uya-cihaz-kart .k { display: block; font-size: 11.5px; color: var(--hs-text-3); }
.uya-cihaz-kart .n {
	flex: none; align-self: flex-start; font-size: 11px; font-weight: 700;
	color: var(--hs-red); background: var(--hs-red-soft);
	border-radius: 999px; padding: 3px 9px; white-space: nowrap;
}

/* --- sonuç ekranı --- */
.uya-govde { display: flex; gap: 22px; align-items: flex-start; }
.uya-sol { flex: 0 0 330px; position: sticky; top: 14px; }
.uya-sag { flex: 1 1 auto; min-width: 0; }

.uya-cihaz {
	display: flex; gap: 13px; background: var(--hs-surface);
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	padding: 14px; margin: 8px 0 12px;
}
.uya-cihaz .g {
	flex: none; width: 78px; height: 78px; border-radius: var(--hs-radius);
	border: 1px solid var(--hs-line-soft); background: #fff;
	display: grid; place-items: center; overflow: hidden;
}
.uya-cihaz .g img { max-width: 100%; max-height: 100%; }
.uya-cihaz .b { flex: 1 1 auto; min-width: 0; }
.uya-cihaz .m {
	font-size: 10.5px; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--hs-text-3);
}
.uya-cihaz h2 { margin: 2px 0 3px; font-size: 14.5px; font-weight: 700; line-height: 1.35; }
.uya-cihaz .k { font-size: 11.5px; color: var(--hs-text-3); margin-bottom: 8px; }
.uya-cihaz .oz { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.uya-cihaz .oz .e, .uya-sonuc .oz .e {
	font-size: 11px; color: var(--hs-text-2); background: var(--hs-bg);
	border: 1px solid var(--hs-line-soft); border-radius: 999px; padding: 2px 8px;
}
.uya-cihaz .oz b, .uya-sonuc .oz b { color: var(--hs-text); font-weight: 700; }

.uya-kriter {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 14px 16px;
}
.uya-kriter .baslik {
	font-size: 12px; font-weight: 700; text-transform: uppercase;
	letter-spacing: .06em; color: var(--hs-text-3); margin-bottom: 9px;
}
.uya-kriter .satir {
	display: flex; justify-content: space-between; gap: 12px;
	padding: 6px 0; border-bottom: 1px solid var(--hs-line-soft); font-size: 12.5px;
}
.uya-kriter .satir:last-of-type { border-bottom: 0; }
.uya-kriter .satir span { color: var(--hs-text-2); }
.uya-kriter .satir b { color: var(--hs-text); text-align: right; }
.uya-kriter p { margin: 10px 0 0; font-size: 11.5px; color: var(--hs-text-3); line-height: 1.6; }

.uya-geri {
	display: inline-block; margin-top: 12px;
	font-size: 13px; font-weight: 600; color: var(--hs-text-2);
}
.uya-geri:hover { color: var(--hs-red); }

.uya-sonuclar { display: grid; gap: 10px; margin-top: 8px; }
.uya-sonuc {
	display: grid; grid-template-columns: 92px minmax(0, 1fr) 190px;
	gap: 14px; align-items: center;
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 12px 14px;
}
.uya-sonuc .g {
	width: 92px; height: 92px; border-radius: var(--hs-radius);
	border: 1px solid var(--hs-line-soft); background: #fff;
	display: grid; place-items: center; overflow: hidden;
}
.uya-sonuc .g img { max-width: 100%; max-height: 100%; }
.uya-sonuc .m {
	font-size: 10.5px; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--hs-text-3);
}
.uya-sonuc .ad {
	display: block; font-size: 14px; font-weight: 600; color: var(--hs-text);
	line-height: 1.4; margin: 2px 0 3px;
}
.uya-sonuc .ad:hover { color: var(--hs-red); }
.uya-sonuc .k { font-size: 11.5px; color: var(--hs-text-3); margin-bottom: 7px; }
.uya-sonuc .oz { display: flex; flex-wrap: wrap; gap: 5px; }
.uya-sonuc .s { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.uya-sonuc .f { font-size: 17px; font-weight: 700; color: var(--hs-text); }
/* Fiyatı girilmemiş ürün: rakam yerine çağrı, küçük ve sönük. */
.uya-sonuc .f.yok { font-size: 13.5px; font-weight: 600; color: var(--hs-text-3); }
.uya-sonuc .d { font-size: 11.5px; font-weight: 600; }
.uya-sonuc .d.var { color: var(--hs-ok); }
.uya-sonuc .d.yok { color: var(--hs-text-3); }
.uya-sonuc form { margin: 0; }
.uya-sonuc .s .btn { width: 100%; }
.uya-sonuc .cmp {
	display: flex; align-items: center; gap: 6px; margin: 0;
	font-size: 11.5px; color: var(--hs-text-3); cursor: pointer;
}
.uya-sonuc .cmp input { width: 14px; height: 14px; accent-color: var(--hs-red); }

@media (max-width: 1000px) {
	.uya-govde { flex-direction: column; }
	.uya-sol { flex: 1 1 auto; width: 100%; position: static; }
}

@media (max-width: 760px) {
	.uya-bas h1 { font-size: 21px; }
	.uya-ara { flex-wrap: wrap; }
	.uya-ara input { flex: 1 1 100%; font-size: 16px; }
	.uya-ara .btn { flex: 1 1 100%; }
	.uya-cihaz-liste { grid-template-columns: 1fr; }
	/* Üç sütunlu sonuç satırı 390px'te sıkışıyordu: görsel + gövde
	   üstte, satın alma sütunu altta tam genişlik. */
	.uya-sonuc { grid-template-columns: 76px minmax(0, 1fr); }
	.uya-sonuc .g { width: 76px; height: 76px; }
	.uya-sonuc .s {
		grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap;
		align-items: center; gap: 10px;
	}
	.uya-sonuc .s .btn, .uya-sonuc form { flex: 1 1 auto; width: auto; }
	.uya-sonuc .cmp { flex: 1 1 100%; }
}

/* ==================================================================
   SEPET — "Bunlar da gerekebilir"

   Kaynak uyumluluk ilişkisi (sepet + geçmiş siparişler); benzer
   ürün önerisi değil. Kartlar sitenin KENDİ ürün kartı
   (ProductResponder) olduğu için burada yalnız şerit ve ızgara
   tanımlanır; kartın içi .pcard kurallarından gelir.
   ================================================================== */
html body .cart-oneri {
	grid-column: 1 / -1;
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 16px 18px; margin-top: 14px;
}
html body .cart-oneri h2 {
	margin: 0 0 3px; font-size: 16px; font-weight: 700; color: var(--hs-text);
}
html body .cart-oneri > p {
	margin: 0 0 14px; font-size: 12.5px; color: var(--hs-text-2);
}
.oneri-liste {
	display: grid; gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	align-items: start;
}

@media (max-width: 760px) {
	.oneri-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html body .cart-oneri { padding: 14px; }
}

/* ==================================================================
   HESAP MENÜSÜ  —  başlıktaki "Hesabım" üzerine gelince

   Açılma CSS ile: :hover ve :focus-within. JavaScript yalnız
   dokunmatikte ve Escape'te devreye girer (haustech2.js
   `hesapMenusu`) — betik yüklenmese bile menü fareyle açılır.

   Panel başlığın koyu zemininden taşar; bu yüzden .hs-header'da
   overflow kesilmemeli.
   ================================================================== */
.hs-act-hesap { position: relative; }

/* Küçük ok — menüsü olduğunu söyler */
.hs-act-hesap .hs-act .ok {
	width: 0; height: 0; margin-left: 4px; align-self: center;
	border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid currentColor; opacity: .55;
	transition: transform .14s ease;
}
.hs-act-hesap:hover .hs-act .ok,
.hs-act-hesap.acik .hs-act .ok { transform: rotate(180deg); opacity: 1; }

.hs-hmenu {
	position: absolute; top: calc(100% + 10px); right: 0; z-index: 80;
	min-width: 430px; background: var(--hs-surface); color: var(--hs-text);
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg);
	box-shadow: 0 18px 44px rgba(16, 24, 32, .18);
	/* Kapalıyken görünmez AMA yerinde: açılırken yeniden
	   yerleşim olmasın, geçiş yumuşak olsun. */
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .14s ease, transform .14s ease, visibility .14s;
}
/* Başlık ile panel arasındaki boşlukta fare menüyü kapatmasın. */
.hs-hmenu::before {
	content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px;
}
.hs-act-hesap:hover .hs-hmenu,
.hs-act-hesap:focus-within .hs-hmenu,
.hs-act-hesap.acik .hs-hmenu {
	opacity: 1; visibility: visible; transform: translateY(0);
}

/* üst şerit: kim giriş yapmış */
.hs-hmenu-ust {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 12px 18px; border-bottom: 1px solid var(--hs-line-soft);
	background: var(--hs-bg); border-radius: var(--hs-radius-lg) var(--hs-radius-lg) 0 0;
}
.hs-hmenu-ust b { font-size: 13.5px; color: var(--hs-text); }
.hs-hmenu-ust a { font-size: 12.5px; font-weight: 600; color: var(--hs-text-2); }
.hs-hmenu-ust a:hover { color: var(--hs-red); }

/* iki sütun */
.hs-hmenu-govde {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; padding: 16px 18px;
}
.hs-hmenu-govde .grp + .grp {
	border-left: 1px solid var(--hs-line-soft); padding-left: 22px; margin-left: -22px;
}
.hs-hmenu h4 {
	margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .07em;
	text-transform: uppercase; color: var(--hs-text-3);
}
.hs-hmenu-govde a {
	display: block; padding: 5px 0; font-size: 13.5px; color: var(--hs-text);
	line-height: 1.35;
}
.hs-hmenu-govde a:hover { color: var(--hs-red); }

/* alt şerit: yardım */
.hs-hmenu-alt {
	display: flex; flex-wrap: wrap; gap: 4px 16px;
	padding: 11px 18px; border-top: 1px solid var(--hs-line-soft);
	background: #FCFDFD; border-radius: 0 0 var(--hs-radius-lg) var(--hs-radius-lg);
}
.hs-hmenu-alt a { font-size: 12.5px; color: var(--hs-text-2); }
.hs-hmenu-alt a:hover { color: var(--hs-red); }
.hs-hmenu-yonetim { border-radius: 0 0 var(--hs-radius-lg) var(--hs-radius-lg); }
.hs-hmenu-yonetim a { font-weight: 600; color: var(--hs-red); }

/* misafir paneli */
.hs-hmenu-misafir { min-width: 300px; }
.hs-hmenu-giris { padding: 18px; text-align: center; }
.hs-hmenu-giris .btn { width: 100%; }
.hs-hmenu-giris p { margin: 10px 0 0; font-size: 12.5px; color: var(--hs-text-2); }
.hs-hmenu-giris p a { color: var(--hs-red); font-weight: 600; }

/* ------------------------------------------------------------------
   Dar ekran: başlıkta zaten mobil çekmece var, açılır panel
   parmakla kullanılamayacak kadar dar kalıyor -- hiç basılmaz.
   ------------------------------------------------------------------ */
@media (max-width: 900px) {
	.hs-hmenu { display: none; }
	.hs-act-hesap .hs-act .ok { display: none; }
}

/* ==================================================================
   GİRİŞ SAYFASI  (/client — oturum açmamış)

   Devralınan hâli iki bootstrap kartıydı ve sağdakinin ortasında
   beş kat büyütülmüş yeşil bir gülen yüz duruyordu. Yeni düzen:
   solda form, sağda hesabın gerçekten ne işe yaradığı.
   ================================================================== */
/* Bu sayfalar hesap kabugunun DISINDA: govdede hs-hesap sinifi
   yok (sol menu de yok), dolayisiyla 1400px sarmalayici kurali
   onlara islemiyordu ve kartlar ekranin kenarina kadar
   uzaniyordu. Sinir burada veriliyor. */
.hs-giris {
	max-width: var(--hs-max); margin: 0 auto; box-sizing: border-box;
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 22px; align-items: start;
	padding: 24px var(--hs-gutter) 48px;
}

/* Kayit formu giristen uzun; sozlesme kutusu da orada.
   Form sutunu biraz genis, yan sutun dar. */
.hs-kayit { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }

/* --- sozlesme kutusu --- */
.hs-sozlesme {
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	margin: 4px 0 18px; overflow: hidden;
}
.hs-sozlesme.hatali { border-color: var(--hs-red); }
.hs-sozlesme .baslik {
	padding: 10px 14px; border-bottom: 1px solid var(--hs-line-soft);
	background: var(--hs-bg);
	font-size: 12.5px; font-weight: 700; color: var(--hs-text-2);
}
.hs-sozlesme .metin {
	max-height: 210px; overflow: auto; padding: 14px;
	font-size: 12.5px; line-height: 1.65; color: var(--hs-text-2);
}
.hs-sozlesme .metin p { margin: 0 0 9px; }
/* Sozlesme metni panelden geliyor ve kendi baslik olculerini
   tasiyor; kucuk bir kutunun icinde 28px basliklar sayfayi
   domine ediyordu. */
.hs-sozlesme .metin h1, .hs-sozlesme .metin h2, .hs-sozlesme .metin h3,
.hs-sozlesme .metin h4, .hs-sozlesme .metin h5, .hs-sozlesme .metin h6 {
	font-size: 13px; font-weight: 700; color: var(--hs-text);
	margin: 13px 0 5px; line-height: 1.4; letter-spacing: 0;
}
.hs-sozlesme .metin *:first-child { margin-top: 0; }
.hs-sozlesme > .hs-onay {
	padding: 11px 14px; border-top: 1px solid var(--hs-line-soft);
	background: #FCFDFD;
}

/* --- bayi kutusu --- */
.hs-kayit-bayi {
	background: var(--hs-bg); border: 1px solid var(--hs-line-soft);
	border-radius: var(--hs-radius); padding: 14px 16px; margin-bottom: 14px;
}
.hs-kayit-bayi b { display: block; font-size: 13.5px; color: var(--hs-text); margin-bottom: 4px; }
.hs-kayit-bayi p { margin: 0 0 10px; font-size: 12.5px; color: var(--hs-text-2); line-height: 1.55; }
.hs-kayit-bayi .btn { width: 100%; }

/* Parola gucu gostergesi devralinan betikten geliyor; tema
   diline cekiliyor. */
#strengthmeter { margin-top: 8px; }
#strengthmeter > div {
	height: 5px; border-radius: 999px; background: var(--hs-line); overflow: hidden;
}
#strengthbar { height: 100%; width: 0; background: var(--hs-ok); transition: width .2s ease; }
#strength { margin: 5px 0 0; font-size: 11.5px; color: var(--hs-text-3); }

.hs-giris-form, .hs-giris-yan {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 26px 28px;
}

.hs-giris h1 {
	margin: 0 0 4px; font-size: 22px; font-weight: 700; letter-spacing: -.015em;
	color: var(--hs-text);
}
.hs-giris-alt { margin: 0 0 20px; font-size: 13.5px; color: var(--hs-text-2); }

.hs-giris-hata {
	display: flex; align-items: flex-start; gap: 9px;
	background: var(--hs-red-soft); border: 1px solid #F0C6C8; color: #8A1216;
	border-radius: var(--hs-radius); padding: 11px 13px; margin-bottom: 16px;
	font-size: 13px; line-height: 1.55;
}
.hs-giris-hata svg { flex: none; margin-top: 1px; }

.hs-alan { margin-bottom: 15px; }
.hs-alan label {
	display: block; margin-bottom: 5px;
	font-size: 12.5px; font-weight: 600; color: var(--hs-text-2);
}
.hs-alan input[type="text"],
.hs-alan input[type="password"],
.hs-alan input[type="email"] {
	width: 100%; height: 44px; padding: 0 14px; box-sizing: border-box;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	background: #fff; font-size: 14px; color: var(--hs-text);
}
.hs-alan input:focus {
	outline: none; border-color: var(--hs-red); box-shadow: 0 0 0 3px var(--hs-red-soft);
}
.hs-alan input.hatali { border-color: var(--hs-red); }
.hs-alan .hata { display: block; margin-top: 5px; font-size: 12px; color: var(--hs-red); }

.hs-giris-satir {
	display: flex; align-items: center; justify-content: space-between;
	gap: 14px; flex-wrap: wrap; margin: 4px 0 20px;
}
.hs-onay { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--hs-text-2); cursor: pointer; }
.hs-onay input { width: 16px; height: 16px; accent-color: var(--hs-red); }
.hs-giris-satir > a { font-size: 13px; font-weight: 600; color: var(--hs-text-2); }
.hs-giris-satir > a:hover { color: var(--hs-red); }

.hs-kaptca img { display: block; margin-bottom: 8px; border-radius: var(--hs-radius); }

.hs-giris-gonder { width: 100%; }
.hs-giris-kayit {
	margin: 16px 0 0; text-align: center; font-size: 13.5px; color: var(--hs-text-2);
}
.hs-giris-kayit a { color: var(--hs-red); font-weight: 600; }

/* --- yan panel --- */
.hs-giris-yan h2 { margin: 0 0 16px; font-size: 17px; font-weight: 700; color: var(--hs-text); }
.hs-giris-fayda { list-style: none; margin: 0 0 20px; padding: 0; }
.hs-giris-fayda li { display: flex; gap: 12px; padding: 11px 0; }
.hs-giris-fayda li + li { border-top: 1px solid var(--hs-line-soft); }
.hs-giris-fayda .ik {
	flex: none; width: 36px; height: 36px; border-radius: var(--hs-radius);
	background: var(--hs-red-soft); color: var(--hs-red);
	display: grid; place-items: center;
}
.hs-giris-fayda b { display: block; font-size: 13.5px; color: var(--hs-text); margin-bottom: 2px; }
.hs-giris-fayda span:not(.ik) { display: block; font-size: 12.5px; color: var(--hs-text-2); line-height: 1.55; }
.hs-giris-yan > .btn { width: 100%; }
.hs-giris-gizlilik {
	margin: 14px 0 0; font-size: 11.5px; color: var(--hs-text-3); line-height: 1.6; text-align: center;
}
.hs-giris-gizlilik a { color: var(--hs-text-2); text-decoration: underline; }

/* --- kayıt/etkinleştirme sonucu --- */
.hs-giris-sonuc {
	max-width: 620px; margin: 36px auto 56px; text-align: center;
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); padding: 44px 30px;
}
.hs-giris-sonuc .ik { display: inline-grid; place-items: center; color: var(--hs-ok); margin-bottom: 12px; }
.hs-giris-sonuc h1 { margin: 0 0 8px; font-size: 22px; }
.hs-giris-sonuc .lead { font-size: 15px; color: var(--hs-text); margin: 0 0 8px; }
.hs-giris-sonuc p { font-size: 13.5px; color: var(--hs-text-2); margin: 0 0 18px; }

@media (max-width: 860px) {
	.hs-giris, .hs-kayit { grid-template-columns: minmax(0, 1fr); }
	.hs-giris-form, .hs-giris-yan { padding: 20px 18px; }
	/* 16px altı iOS'ta sayfayı yakınlaştırır */
	.hs-alan input { font-size: 16px; }
}

/* Modul basligi: misafir kullanicida sayfanin TEK H1'i olur.
   Girisliyken hesap kabugu (hs-hesap-bas) zaten bir H1 basiyor;
   ayni sayfada iki H1 olmasin diye burada gizlenir. */
.hs-modul-baslik { font-size: 21px; font-weight: 700; margin: 0 0 14px; color: var(--hs-text); }
html body.hs-hesap .hs-modul-baslik { display: none; }

/* ==================================================================
   DESTEK / BAŞVURU FORMU  (/help/send)

   Bayilik başvurusu da bu formdan geliyor (destek sisteminde bir
   departman). Devralınan işaretleme bootstrap `form-group row`;
   burada tema diline çekiliyor, alan adları ve yapı korunuyor.
   ================================================================== */
.ticket-form,
.help-suggestions,
.help-faq-suggestions {
	max-width: var(--hs-max); margin-left: auto; margin-right: auto;
	box-sizing: border-box;
}

html body .ticket-form.card {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none;
	margin-bottom: 44px;
}
html body .ticket-form .card-body { padding: 22px 24px; }

html body .ticket-form .form-group.row {
	display: grid; grid-template-columns: 220px minmax(0, 1fr);
	gap: 8px 20px; align-items: start;
	margin: 0; padding: 12px 0;
	border-bottom: 1px solid var(--hs-line-soft);
}
html body .ticket-form .form-group.row:last-of-type { border-bottom: 0; }
html body .ticket-form .col-form-label {
	max-width: none; flex: none; padding: 6px 0 0;
	font-size: 13px; font-weight: 600; color: var(--hs-text-2);
}
/* Zorunlu alanın yıldızı kırmızı; PHP metnin başına "* " koyuyor. */
html body .ticket-form .col-form-label { white-space: normal; }
html body .ticket-form .form-group.row > div,
html body .ticket-form .form-group.row > [class*="col-"] {
	max-width: none; flex: none; padding: 0; min-width: 0;
}

html body .ticket-form .form-control,
html body .ticket-form select,
html body .ticket-form textarea,
html body .ticket-form input[type="text"],
html body .ticket-form input[type="email"] {
	width: 100%; max-width: 520px; box-sizing: border-box;
	min-height: 42px; padding: 9px 13px;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	background: #fff; font-size: 14px; color: var(--hs-text);
}
html body .ticket-form textarea { min-height: 130px; max-width: none; line-height: 1.6; }
html body .ticket-form input[name="ticket_subject"] { max-width: none; }
html body .ticket-form select[multiple] { max-width: 520px; min-height: 110px; padding: 6px; }
html body .ticket-form .form-control:focus,
html body .ticket-form select:focus,
html body .ticket-form textarea:focus {
	outline: none; border-color: var(--hs-red); box-shadow: 0 0 0 3px var(--hs-red-soft);
}
html body .ticket-form .is-invalid { border-color: var(--hs-red); }
html body .ticket-form .invalid-feedback {
	display: block; margin-top: 5px; font-size: 12px; color: var(--hs-red);
}
/* Departman satırı girdi değil, düz metin. */
html body .ticket-form .form-group.row span.form-control {
	border: 0; background: transparent; padding: 9px 0; font-weight: 600;
	color: var(--hs-text); min-height: 0;
}

html body .ticket-form .card-footer,
html body .ticket-form .text-center { background: transparent; border: 0; }
html body .ticket-form button[type="submit"],
html body .ticket-form .btn-primary { min-width: 210px; }

/* --- üstteki öneri kutusu --- */
html body .help-suggestions .card,
html body .card.help-suggestions {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none;
}
html body .list-group-item a small { color: var(--hs-text-3); }

@media (max-width: 760px) {
	html body .ticket-form .form-group.row { grid-template-columns: minmax(0, 1fr); }
	html body .ticket-form .card-body { padding: 16px 14px; }
	/* 16px altı iOS'ta sayfayı yakınlaştırır */
	html body .ticket-form .form-control,
	html body .ticket-form select,
	html body .ticket-form textarea { font-size: 16px; max-width: none; }
}

/* ==================================================================
   DEPARTMAN SEÇİMİ  (/help/send — 1. adım)

   Seçenekler bootstrap'in `custom-control custom-checkbox`
   işaretlemesiyle geliyor; o katman bu temada YÜKLÜ DEĞİL.
   Sonuç: radyo düğmesi hiç görünmüyordu ve başlıkla açıklama
   yan yana yapışık çıkıyordu ("GenelGenel sorularınız için").

   Aşağısı seçenekleri tıklanabilir karta çevirir. İşaretleme
   değişmedi; `name="department"` ve id/for eşleşmeleri korunuyor.
   ================================================================== */
html body .departments.card {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none; margin-bottom: 16px;
	max-width: var(--hs-max);
}
html body .departments .card-body { padding: 20px 22px 4px; }
html body .departments .card-subtitle { font-size: 13.5px; color: var(--hs-text-2); }

html body .departments .list-group { padding: 0 22px 20px; }
html body .departments .list-group-item {
	border: 0; background: transparent; padding: 0; margin-top: 8px;
}

html body .department {
	display: grid; grid-template-columns: 20px minmax(0, 1fr);
	gap: 4px 12px; align-items: start;
	border: 1px solid var(--hs-line); border-radius: var(--hs-radius);
	padding: 12px 14px; transition: border-color .12s, background-color .12s;
}
html body .department:hover { border-color: var(--hs-red); }

/* Radyo düğmesi görünür olmalı: devralınan sınıf onu gizliyordu. */
html body .department .custom-control-input,
html body .department input[type="radio"] {
	position: static; opacity: 1; width: 18px; height: 18px;
	margin: 1px 0 0; accent-color: var(--hs-red);
}
html body .department .custom-control-label {
	grid-column: 2; margin: 0; font-size: 14px; font-weight: 600;
	color: var(--hs-text); cursor: pointer;
}
html body .department .content { grid-column: 2; }
html body .department .content label {
	margin: 0; font-size: 12.5px; color: var(--hs-text-2);
	line-height: 1.55; cursor: pointer; font-weight: 400;
}
/* Seçili seçenek belli olsun. :has() desteklenmiyorsa kart yine
   çalışır, yalnız vurgu olmaz. */
html body .department:has(input:checked) {
	border-color: var(--hs-red); border-width: 2px; padding: 11px 13px;
	background: #FFFBFB;
}

html body #department_selection .btn,
html body #department_selection button[type="submit"] { min-width: 190px; }

/* --- "Cevap burada olabilir mi?" önerileri --- */
html body #suggestion_area,
html body .suggestion-area {
	background: var(--hs-surface); border: 1px solid var(--hs-line);
	border-radius: var(--hs-radius-lg); box-shadow: none;
	max-width: var(--hs-max); margin-bottom: 16px;
}
html body #suggestion_content .list-group-item {
	border: 0; border-top: 1px solid var(--hs-line-soft);
	background: transparent; padding: 0;
}
html body #suggestion_content .list-group-item:first-child { border-top: 0; }
html body #suggestion_content .list-group-item a {
	display: block; padding: 11px 22px; font-size: 13.5px; color: var(--hs-text);
}
html body #suggestion_content .list-group-item a:hover {
	background: var(--hs-bg); color: var(--hs-red);
}

@media (max-width: 620px) {
	html body .departments .card-body { padding: 16px 14px 2px; }
	html body .departments .list-group { padding: 0 14px 16px; }
	html body #suggestion_content .list-group-item a { padding: 11px 14px; }
}
/* ==================================================================
   SÖZLEŞME ONAYI UYARISI  (ödeme adımı)

   "Alışverişi Tamamla çalışmıyor" şikâyetinin sebebi buydu:
   sözleşme kutusu işaretlenmeden butona basılınca cart.js yalnız
   `shakeContracts` bayrağını kaldırıyor, geri bildirim 1px kırmızı
   kenarlık ve kısa bir sallanmadan ibaretti — üstelik sarmalayıcıda
   `delay-1s` olduğu için animasyon BİR SANİYE SONRA başlıyordu.
   Müşteri tıklıyor, ekranda hiçbir şey olmuyor.

   Burada uyarı gözle görülür hâle getirilir: kırmızı çerçeve,
   yumuşak kırmızı zemin ve altında açık bir cümle.
   ================================================================== */
html body .hs-sozlesme-uyari {
	border: 2px solid var(--hs-red); border-radius: var(--hs-radius);
	background: #FFF5F5; padding: 10px 12px; margin-bottom: 10px;
}
html body .hs-sozlesme-mesaj {
	margin: 8px 0 0; font-size: 12.5px; font-weight: 600; line-height: 1.45;
	color: var(--hs-red);
}

/* ------------------------------------------------------------
   MENÜ — katalogdan üretilen mega menü ve mobil çekmece (2026-09-17)
   ------------------------------------------------------------ */
.mega-list .mega-all {
	display: flex; align-items: center; gap: 10px; margin: 8px 12px 0; padding: 10px 12px;
	border-top: 1px solid var(--hs-line); font-weight: 600; color: var(--hs-red-dark);
}
.mega-list .mega-all .ico { width: 18px; height: 18px; flex: none; }
.mega-list .mega-all .n { margin-left: auto; font-weight: 400; color: var(--hs-text-3); font-size: 12px; }
.mega-list .mega-all:hover { color: var(--hs-red); }
.mega-cols h5 a { display: inline; padding: 0; color: inherit; font-size: inherit; }
.mega-cols h5 .n { text-transform: none; letter-spacing: 0; font-weight: 400; }
.mobile-drawer .n { margin-left: auto; color: var(--hs-text-3); font-size: 11.5px; }
.mobile-drawer a.m-all { font-weight: 600; color: var(--hs-red-dark); }
.mobile-drawer .m-mode-t { font-size: 11px; color: var(--hs-text-3); margin-bottom: 6px; }
.mobile-drawer .m-mode .mode-switch { background: #fff; border-color: var(--hs-line); }
.mobile-drawer .m-mode .mode-switch button { color: var(--hs-text-2); }

/* ------------------------------------------------------------
   ANA SAYFA — SLAYT ALANI (hero)
   Her slayt .hero düzeninin aynısı (ana alan + sağ kart).
   Renk temaları panelden seçilir; gorsel verilirse arka plana
   koyu bir perdeyle yerleşir.
   ------------------------------------------------------------ */
.hero-slider { position: relative; margin-top: 16px; }
.hero-slaytlar { display: grid; }
.hero-slayt {
	grid-area: 1 / 1; display: grid; grid-template-columns: 1fr 300px; gap: 14px;
	opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s;
}
.hero-slayt.aktif { opacity: 1; visibility: visible; }
.hero-slayt .hero-side { grid-template-rows: 1fr; }
.hero-slayt .hero-main .h1 { margin: 10px 0 12px; font-size: 34px; line-height: 1.15; letter-spacing: -.02em; color: #fff; font-weight: 700; }
.hero-slayt .hero-main { min-height: 360px; }
.hero-slayt .hero-main.gorselli { background-image: linear-gradient(90deg, rgba(10,14,18,.88) 0%, rgba(10,14,18,.55) 55%, rgba(10,14,18,.15) 100%), var(--hs-slayt-gorsel) !important; background-size: cover !important; background-position: center !important; }
.hero-slayt .hero-main.gorselli::after { display: none; }

.renk-kirmizi .hero-main { background: linear-gradient(115deg, #10151A 0%, #1E2831 50%, #5E1419 100%); }
.renk-kirmizi .hero-main::after { background: radial-gradient(560px 300px at 88% 24%, rgba(230,40,50,.45), transparent 70%); }
.renk-turuncu .hero-main { background: linear-gradient(115deg, #1A1210 0%, #3A1D14 50%, #A3361A 100%); }
.renk-turuncu .hero-main::after { background: radial-gradient(540px 320px at 86% 28%, rgba(255,140,60,.55), transparent 70%); }
.renk-turuncu .kicker { color: #FFC08F !important; }
.renk-mavi .hero-main { background: linear-gradient(115deg, #0B1624 0%, #0F2C4A 50%, #145C8F 100%); }
.renk-mavi .hero-main::after { background: radial-gradient(540px 320px at 86% 28%, rgba(60,170,255,.45), transparent 70%); }
.renk-mavi .kicker { color: #9FD4FF !important; }
.renk-yesil .hero-main { background: linear-gradient(115deg, #0C1A16 0%, #103A2E 50%, #1B7A55 100%); }
.renk-yesil .hero-main::after { background: radial-gradient(540px 320px at 86% 28%, rgba(70,220,150,.40), transparent 70%); }
.renk-yesil .kicker { color: #9FF0C8 !important; }
.renk-mor .hero-main { background: linear-gradient(115deg, #15111F 0%, #2A1B45 50%, #5A2F9A 100%); }
.renk-mor .hero-main::after { background: radial-gradient(540px 320px at 86% 28%, rgba(180,120,255,.45), transparent 70%); }
.renk-mor .kicker { color: #D6B8FF !important; }
.renk-lacivert .hero-main { background: linear-gradient(115deg, #0A0F1C 0%, #16213F 50%, #26407A 100%); }
.renk-lacivert .hero-main::after { background: radial-gradient(540px 320px at 86% 28%, rgba(110,150,255,.40), transparent 70%); }
.renk-lacivert .kicker { color: #B8CCFF !important; }

.hero-kontrol { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 10px; }
.hero-kontrol > button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--hs-line); background: #fff; font-size: 20px; line-height: 1; color: var(--hs-text-2); cursor: pointer; }
.hero-kontrol > button:hover { border-color: var(--hs-red); color: var(--hs-red); }
.hero-nokta { display: flex; gap: 7px; }
.hero-nokta button { width: 9px; height: 9px; padding: 0; border-radius: 999px; border: 0; background: #C9D0D7; cursor: pointer; transition: width .25s, background .25s; }
.hero-nokta button[aria-current="true"] { width: 26px; background: var(--hs-red); }
@media (max-width: 991px) {
	.hero-slayt { grid-template-columns: 1fr; }
	.hero-slayt .hero-side { display: none; }
	.hero-slayt .hero-main { min-height: 300px; padding: 26px; }
	.hero-slayt .hero-main .h1 { font-size: 26px; }
}
.sezon-rakam { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0 0 20px; padding: 0; }
.sezon-rakam li { display: flex; align-items: baseline; gap: 6px; }
.sezon-rakam b { font-size: 22px; letter-spacing: -.01em; }
.sezon-rakam span { font-size: 12.5px; color: #BAC4CE; }
.sezon-alt { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 16px; font-size: 13px; }
.sezon-alt a { color: #FFD2BF; }
.sezon-alt a:hover { color: #fff; text-decoration: underline; }
.sezon-urunler { justify-content: flex-start; gap: 4px; }
.sezon-urunler > b { margin-bottom: 8px; }
.sezon-urun { display: grid; grid-template-columns: 52px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--hs-line-soft); color: var(--hs-text); }
.sezon-urun img, .sezon-urun .img { grid-row: 1 / span 2; width: 52px; height: 52px; object-fit: contain; border-radius: 8px; background: #F4F6F8; }
.sezon-urun .t { min-width: 0; }
.sezon-urun .t b { font-size: 13px; margin: 0; display: block; }
.sezon-urun .t em { font-style: normal; font-size: 11.5px; color: var(--hs-text-2); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sezon-urun .f { font-size: 13px; font-weight: 700; display: flex; gap: 8px; align-items: center; }
.sezon-urun .f .ok { font-style: normal; font-weight: 600; font-size: 11px; color: #1E7B3A; }
.sezon-urun:hover .t b { color: var(--hs-red); }
.sezon-urunler .more { margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--hs-red-dark); }

/* SATIŞ BİRİMİ — "600 m kangal fiyatı" (2026-09-17) */
.pcard .vat .birim { color: var(--hs-red-dark); font-weight: 600; }
.satis-birimi { margin-top: 6px; padding: 7px 10px; border-radius: 8px; background: #FFF4E5; border: 1px solid #F5D9A8; color: #6B4A00; font-size: 12.5px; line-height: 1.45; }
.satis-birimi b { color: #4A3300; }

/* GÜVEN ŞERİDİ — dar ekranda 2x2, ikon üstte, her şey ortalı (2026-09-17) */
@media (max-width: 991px) {
	html body .trust { grid-template-columns: 1fr 1fr; }
	html body .trust > div { flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 8px; padding: 16px 10px; }
	html body .trust > div > div { align-items: center; text-align: center; padding: 0; background: transparent; }
	html body .trust > div > svg { margin: 0; }
}

/* ÜRÜN KÜNYESİ — tam genişlik, iki sütunlu satır ızgarası (2026-09-17)
   Eski taban stili (product.css) tabloya "display:table" ve değerin önüne
   ":" koyuyordu; tema kuralı ise .product-detail sınıfına bağlıydı ve ürün
   sayfası bu sınıfı taşımadığı için hiç uygulanmıyordu. */
html body .product-specifications { display: block; width: 100%; padding: 0; margin: 6px 0 18px; text-align: left; }
html body .product-specifications ul {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px;
	list-style: none; margin: 0; padding: 0; font-size: 14px; border-top: 1px solid var(--hs-line);
}
html body .product-specifications li {
	display: grid; grid-template-columns: minmax(110px, 42%) minmax(0, 1fr); gap: 12px; align-items: baseline;
	padding: 11px 4px; margin: 0; border-bottom: 1px solid var(--hs-line-soft);
}
html body .product-specifications li .label,
html body .product-specifications li .value { display: block; padding: 0; vertical-align: baseline; }
html body .product-specifications li .label { color: var(--hs-text-3); font-weight: 400; font-size: 13px; }
html body .product-specifications li .label:after { content: none; }
html body .product-specifications li .value { color: var(--hs-text); font-weight: 600; overflow-wrap: anywhere; }
html body .product-specifications li .value::before { content: none; display: none; }
html body .product-specifications li .value a { color: var(--hs-text); text-decoration: none; border-bottom: 1px dotted var(--hs-line); }
html body .product-specifications li .value a:hover { color: var(--hs-red); border-bottom-color: var(--hs-red); }
@media (max-width: 767px) {
	html body .product-specifications ul { grid-template-columns: 1fr; }
}

/* KATEGORİ BANNER'I (2026-09-17) — ana sayfa slaytının dilinde, daha alçak */
.kat-banner {
	position: relative; overflow: hidden; border-radius: var(--hs-radius-lg); margin: 10px 0 4px;
	min-height: 220px; display: flex; align-items: center; padding: 30px 36px; color: #fff;
	background: linear-gradient(115deg, #10151A 0%, #1E2831 52%, #5E1419 100%);
}
.kat-banner::after { content: ""; position: absolute; inset: 0; background: radial-gradient(520px 260px at 88% 30%, rgba(230,40,50,.38), transparent 70%); }
.kat-banner.gorselli { background: linear-gradient(90deg, rgba(10,14,18,.86) 0%, rgba(10,14,18,.55) 50%, rgba(10,14,18,.10) 100%), var(--kat-gorsel) center / cover no-repeat; }
.kat-banner.gorselli::after { display: none; }
.kat-banner .in { position: relative; z-index: 2; max-width: 620px; }
.kat-banner .kicker { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: #FF9AA0; font-weight: 700; }
html body .products-area-header .kat-banner h1,
html body .products-area-header .kat-banner h1.font-weight-light { color: #fff; font-size: 32px; margin: 8px 0 8px; }
html body .products-area-header .kat-banner .products-area-desc { color: #D5DCE3; font-size: 14.5px; margin: 0 0 14px; max-width: 560px; }
.kat-banner .sezon-rakam { margin: 0; }
@media (max-width: 767px) {
	.kat-banner { min-height: 180px; padding: 22px 20px; }
	html body .products-area-header .kat-banner h1 { font-size: 24px; }
}
html body .products-area-header .kat-banner ~ .duz { display: none !important; }

/* GÜVEN ŞERİDİ — değişken sayıda öğe, resim/logo, bağlantı (2026-09-18) */
@media (min-width: 992px) {
	html body .trust { grid-template-columns: repeat(var(--hs-trust-n, 4), minmax(0, 1fr)); }
}
html body .trust .trust-link { display: flex; gap: 11px; align-items: center; min-width: 0; color: inherit; width: 100%; }
html body .trust .trust-link > div { padding: 0; background: transparent; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
html body .trust .trust-link:hover b { color: var(--hs-red); }
html body .trust .trust-img { width: 34px; height: 34px; object-fit: contain; flex: none; }
@media (max-width: 991px) {
	html body .trust .trust-link { flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 8px; }
	html body .trust .trust-link > div { align-items: center; }
}

/* Ana sayfa kurucu her bloğu ayrı .index-rows ile sarar; üst boşluk yalnız ilkinde (2026-09-18) */
html body .index-rows + .index-rows { margin-top: 0; }

/* Güven şeridi: kutu içeriği her ekranda ortalı (2026-09-18) */
html body .trust > div, html body .trust .trust-link { justify-content: center; text-align: center; }
html body .trust > div > div, html body .trust .trust-link > div { align-items: center; text-align: center; }

/* ============================================================
   UYUMLULUK BULUCU (2026-09-18)
   ============================================================ */
html body .hs-ub-kutu { background: var(--hs-surface); border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 22px; box-shadow: var(--hs-shadow); }
html body .hs-ub-ara { position: relative; }
html body .hs-ub-ara > svg { position: absolute; left: 20px; top: 50%; width: 24px; height: 24px; margin-top: -12px; color: var(--hs-text-3, #8B959F); pointer-events: none; }
html body .hs-ub-input { width: 100%; height: 64px; border: 2px solid var(--hs-line); border-radius: 12px; padding: 0 56px 0 58px; font-size: 19px; font-weight: 500; color: var(--hs-text); background: #FBFCFD; outline: none; transition: border-color .15s, box-shadow .15s, background .15s; -webkit-appearance: none; appearance: none; }
html body .hs-ub-input::placeholder { color: #A3ACB5; font-weight: 400; }
html body .hs-ub-input:focus { border-color: var(--hs-red); background: #fff; box-shadow: 0 0 0 4px var(--hs-red-soft); }
html body .hs-ub-input::-webkit-search-cancel-button { display: none; }
html body .hs-ub-yukleniyor { position: absolute; right: 22px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border: 2px solid var(--hs-line); border-top-color: var(--hs-red); border-radius: 50%; animation: hs-ub-don .7s linear infinite; }
@keyframes hs-ub-don { to { transform: rotate(360deg); } }
html body .hs-ub-oneri { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 40; list-style: none; margin: 0; padding: 6px; background: #fff; border: 1px solid var(--hs-line); border-radius: 12px; box-shadow: var(--hs-shadow-lg); max-height: 440px; overflow-y: auto; }
html body .hs-ub-oneri li { display: flex; align-items: center; gap: 14px; padding: 9px 12px; border-radius: 8px; cursor: pointer; }
html body .hs-ub-oneri li.aktif { background: var(--hs-red-soft); }
html body .hs-ub-oneri li.bos { cursor: default; color: var(--hs-text-2); font-size: 14px; padding: 16px; }
html body .hs-ub-oneri .g { width: 46px; height: 46px; flex: none; border-radius: 8px; background: var(--hs-bg); display: grid; place-items: center; overflow: hidden; }
html body .hs-ub-oneri .g img { max-width: 100%; max-height: 100%; object-fit: contain; }
html body .hs-ub-oneri .m { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
html body .hs-ub-oneri .m b { font-size: 14.5px; font-weight: 600; color: var(--hs-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body .hs-ub-oneri .m small { font-size: 12px; color: var(--hs-text-2); font-family: ui-monospace, Consolas, monospace; }
html body .hs-ub-oneri .n { flex: none; font-size: 12px; font-weight: 700; color: var(--hs-ok); background: var(--hs-ok-soft); border-radius: 999px; padding: 3px 10px; }
html body .hs-ub-ornekler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; color: var(--hs-text-2); }
html body .hs-ub-cip { border: 1px solid var(--hs-line); background: #fff; border-radius: 999px; padding: 5px 13px; font-size: 13px; font-weight: 600; color: var(--hs-text); cursor: pointer; transition: border-color .15s, color .15s; }
html body .hs-ub-cip:hover { border-color: var(--hs-red); color: var(--hs-red); }
html body .hs-ub-sonuc { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 20px; margin-top: 18px; align-items: start; }
html body .hs-ub-kaynak { background: #fff; border: 1px solid var(--hs-line); border-radius: var(--hs-radius-lg); padding: 18px; position: sticky; top: 90px; }
html body .hs-ub-kaynak .k, html body .hs-ub-kaynak .kb { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hs-text-2); margin-bottom: 10px; }
html body .hs-ub-kaynak .hs-ub-kart { border-color: #F2C3C5; background: var(--hs-red-soft); }
html body .hs-ub-kaynak .kr { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hs-line-soft); }
html body .hs-ub-kaynak .sat { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; padding: 5px 0; }
html body .hs-ub-kaynak .sat span::before { content: "\2713"; color: var(--hs-ok); font-weight: 700; margin-right: 8px; }
html body .hs-ub-temizle { margin-top: 14px; background: none; border: 0; padding: 0; color: var(--hs-red); font-weight: 600; font-size: 13.5px; cursor: pointer; }
html body .hs-ub-gruplar { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
html body .hs-ub-grup h3 { font-size: 16px; font-weight: 700; margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
html body .hs-ub-grup h3 span { font-size: 12px; font-weight: 700; background: var(--hs-ink); color: #fff; border-radius: 999px; padding: 2px 9px; }
html body .hs-ub-grup .iz { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
html body .hs-ub-kart { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--hs-line); border-radius: 10px; padding: 12px; color: inherit; transition: border-color .15s, box-shadow .15s; min-width: 0; }
html body .hs-ub-kart:hover { border-color: var(--hs-red); box-shadow: var(--hs-shadow); }
html body .hs-ub-kart .g { width: 64px; height: 64px; flex: none; border-radius: 8px; background: var(--hs-bg); display: grid; place-items: center; overflow: hidden; }
html body .hs-ub-kart .g img { max-width: 100%; max-height: 100%; object-fit: contain; }
html body .hs-ub-kart .m { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
html body .hs-ub-kart b { font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--hs-text); }
html body .hs-ub-kart small { font-size: 11.5px; color: var(--hs-text-2); font-family: ui-monospace, Consolas, monospace; }
html body .hs-ub-kart .oz { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
html body .hs-ub-kart .oz i { font-style: normal; font-size: 11px; background: var(--hs-bg); border-radius: 4px; padding: 1px 6px; color: var(--hs-text-2); }
html body .hs-ub-kart .alt { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
html body .hs-ub-kart .f { font-weight: 700; font-size: 14px; color: var(--hs-text); }
html body .hs-ub-kart .st { font-size: 11px; font-weight: 700; border-radius: 4px; padding: 1px 6px; }
html body .hs-ub-kart .st.var { color: var(--hs-ok); background: var(--hs-ok-soft); }
html body .hs-ub-kart .st.yok { color: var(--hs-warn); background: var(--hs-warn-soft); }
html body .hs-ub-hata { padding: 18px; border: 1px dashed var(--hs-line); border-radius: 10px; color: var(--hs-text-2); background: #fff; }
@media (max-width: 991px) {
	html body .hs-ub-sonuc { grid-template-columns: 1fr; }
	html body .hs-ub-kaynak { position: static; }
	html body .hs-ub-kutu { padding: 14px; }
	html body .hs-ub-input { height: 56px; font-size: 16px; padding-left: 50px; }
	html body .hs-ub-ara > svg { left: 16px; }
}

/* ============================================================
   RAKİPLERDEN DAHA UYGUN — otomatik fiyat vitrini (2026-09-19)
   configs.php → hs_fiyat_spot_html(); kart sitenin kendi .pcard'ı.
   ============================================================ */
.hs-spot .sec-head h2::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--hs-ok); margin-right: 10px; vertical-align: 4px; box-shadow: 0 0 0 4px var(--hs-ok-soft); }
.hs-spot-oge { position: relative; display: flex; flex-direction: column; height: 100%; padding-top: 2px; }
.hs-spot-oge .pcard { flex: 1 1 auto; border-color: #BFE3CC; }
.hs-spot-rozet { align-self: flex-start; display: inline-flex; align-items: baseline; gap: 5px; margin: 0 0 8px; padding: 5px 10px; border-radius: 999px; background: var(--hs-ok); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.2; }
.hs-spot-rozet b { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.hs-spot-rozet.stok { background: var(--hs-info); }
.hs-spot-rozet.stok b { font-size: 12px; }
.hs-spot-not { display: block; margin-top: 6px; font-size: 11.5px; color: var(--hs-text-2); }
/* Kartlar farkli yukseklikte (teknik rozet sayisi, stok satiri); notlar ayni hizada dursun. */
.hs-spot-serit .owl-stage { display: flex; }
.hs-spot-serit .owl-item { display: flex; }
.hs-spot-serit .owl-item > .hs-spot-oge { width: 100%; }

