/* ══════════════════════════════════════════════════════════════════
   منقولٌ من ثيم «لافين فاشن» الابن — home-rails.css
   الثيمُ الأبُ واحدٌ في الموقعين (DavinciWoo 1.4.8)، فالنقلُ استبدالُ
   طبقةِ ابنٍ لا هجرةُ ثيم. والمتغيّرُ الوحيدُ **اللوحة**: لوحةُ لافين
   النحاسيّةُ أُبدلت بلوحة الجيل الأخضر التيليّة (30 لوناً).
   الأصلُ يبقى مرجعاً في مستودع لافين؛ لا يُحرَّر هنا إلّا بقياس.
   ══════════════════════════════════════════════════════════════════ */

/* =====================================================================
   لافين فاشن — أشرطة الصفحة الرئيسية وبوابة الفئات
   يرافق store/mu-plugins/lavin-home-curation.php

   البطاقة نفسها ليست هنا: هي بطاقة الثيم مع تحسينات product-cards.css.
   هذا الملف يخصّ ما حول البطاقة — الترويسة، الوصف، البوابة، الإيقاع الرأسي.

   اللوحة (من دليل الهوية، ونفس قيم theme_mods):
     نحاسي #0b8571 · نحاسي غامق #096a5a · ذهبي #71ac6f · ذهبي هادئ #5a9058
     ماهوجني #05372f · عاجي #e8f7f4 · وردي ترابي #c6ede5 · فحمي #2d2d2d
   ===================================================================== */

.ggen-rail,
.ggen-gateway {
	--lv-copper: #0b8571;
	--lv-copper-dark: #096a5a;
	--lv-gold: #71ac6f;
	/* عُتِّم من #5a9058 إلى #467345 (٢٠٢٦-٠٨-٢٥) لسبب مقيس لا ذوقي:
	   الأول يعطي تبايناً 2.92:1 على خلفية السطر (rgb 248,248,248) والمعيار
	   يطلب 4.5:1 لنصٍّ بحجم 12px — أي أن «اختيار المحرّرة» كانت تُقرأ بصعوبة
	   على شاشة ساطعة أو لعينٍ ضعيفة. والجديد 4.63:1 عليها و4.92:1 على الأبيض
	   الخالص، وهو **أقلّ تعتيم كافٍ** فيحفظ الطابع الذهبي.
	   المتغيّر يُستعمل في مكان واحد فقط (.ggen-rail-eyebrow) — فُحص قبل التغيير. */
	--lv-gold-soft: #467345;
	--lv-mahogany: #05372f;
	--lv-ivory: #e8f7f4;
	--lv-blush: #c6ede5;
	--lv-noir: #2d2d2d;
	--lv-muted: #6a6d6b;
	direction: rtl;
	text-align: right;
}

/* ---------------------------------------------------------------------
   ترويسة الشريط
   الثيم يضع العنوان ثم فاصلاً يتمدّد. نضيف فوقه سطر «عين» صغيراً ورابطاً
   في الطرف — الترتيب البصري: تصنيف صغير ← عنوان ← فاصل ← مخرج.
   --------------------------------------------------------------------- */
.ggen-rail .block-title-wrap,
.ggen-gateway .block-title-wrap {
	flex-wrap: wrap;
	row-gap: 2px;
}

.ggen-rail-eyebrow {
	flex: 0 0 100%;
	font-family: "Tajawal", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--lv-gold-soft);
	margin-bottom: 2px;
}

.ggen-rail .block-title,
.ggen-gateway .block-title {
	font-family: "Tajawal", sans-serif;
	font-weight: 700;
	color: var(--lv-noir);
	/* الثيم يفرض text-uppercase على العناوين، وهو بلا معنى في العربية
	   ويكسر بعض المحارف في الخطوط المتغيّرة. */
	text-transform: none !important;
}

.ggen-rail-all {
	flex: 0 0 auto;
	margin-inline-start: 12px;
	font-family: "Tajawal", sans-serif;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--lv-copper);
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s ease;
}

.ggen-rail-all::after {
	content: "\2039"; /* ‹ — بالهروب لا بالحرف الخام (مصيدة مصغّر LiteSpeed مع تعدد البايتات) */
	margin-inline-start: 5px;
	font-size: 17px;
	line-height: 1;
	vertical-align: -1px;
}

.ggen-rail-all:hover,
.ggen-rail-all:focus-visible {
	color: var(--lv-copper-dark);
	text-decoration: underline;
}

.ggen-rail-sub {
	margin: 8px 0 0;
	max-width: 68ch;
	font-family: "Tajawal", sans-serif;
	font-size: 14.5px;
	line-height: 1.85;
	/* 5.9:1 على الأبيض — يتجاوز WCAG AA للنص العادي. */
	color: var(--lv-muted);
}

/* الشريط المضغوط (مختارات كل قسم): ترويسة أهدأ، وأربع بطاقات في صفّ واحد. */
.ggen-rail--compact .block-title {
	font-size: 19px;
}

.ggen-rail--compact .ggen-rail-eyebrow {
	/* عُتِّم من #6a6d6b إلى #6a6d6b (٢٠٢٦-٠٨-٢٥): الأول 3.01:1 والمعيار 4.5:1
	   لنصّ 12px. والجديد 4.63:1 على خلفية السطر و4.92:1 على الأبيض — وهو أقلّ
	   تعتيم يعبر المعيارين معاً، فيبقى وردياً ترابياً.

	   وأُسقط `color: var(--lv-blush)` قبله: إعلانان متتاليان لنفس الخاصية،
	   الثاني يفوز دائماً — فالأول لم يكن احتياطياً بل شِفرةً ميتة توهم القارئ
	   بأن المتغيّر مستعمل هنا. (ولو عمل لكان أسوأ: --lv-blush أفتح.) */
	color: #6a6d6b;
}

/* شريط «مختارات لافين» هو رأس الصفحة التجاري — يستحق تمييزاً هادئاً. */
.ggen-rail--picks .block-title::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-inline-end: 9px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--lv-gold), var(--lv-copper));
	vertical-align: middle;
}

/* ---------------------------------------------------------------------
   بوابة الفئات

   أعمدة مصرَّح بها لا `auto-fit`. البلاطات ثمانٍ دائماً، و`auto-fit` مع
   `minmax(160px,1fr)` أعطى على عرض ١٢٨٠px **خمسة** أعمدة (قياساً: 174.8px
   لكل عمود) — أي صفٌّ من خمسة وصفٌّ يتيم من ثلاثة. الشبكة المصرَّح بها تُبقيه
   ٤×٢ على السطح و٢×٤ على الجوال، وكلاهما يمتلئ تماماً.
   --------------------------------------------------------------------- */
.ggen-gateway-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-top: 18px;
}

@media only screen and (min-width: 768px) {
	.ggen-gateway-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.ggen-tile {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 8px; /* دليل الهوية §٤.٢ — نفس زاوية بطاقة المنتج */
	border: 1px solid #dcdfdd;
	background: #fff;
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
	transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}

.ggen-tile:hover,
.ggen-tile:focus-visible {
	transform: translateY(-5px);
	box-shadow: 0 14px 32px rgba(11, 133, 113, .16);
	border-color: #93decf;
}

.ggen-tile:focus-visible {
	outline: 2px solid var(--lv-copper);
	outline-offset: 3px;
}

.ggen-tile-media {
	display: block;
	overflow: hidden;
	background: #f7f8f7;
}

.ggen-tile-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	transition: transform .55s cubic-bezier(.2, .6, .2, 1);
}

.ggen-tile:hover .ggen-tile-media img {
	transform: scale(1.07);
}

/* النص فوق تدرّج مرسوم على الصورة: التباين مضمون مهما كانت الصورة —
   وهذا هو سبب التدرّج، لا الزخرفة. صور المورد تأتي بخلفيات لا نتحكّم بها. */
.ggen-tile-body {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 34px 14px 12px;
	background: linear-gradient(to top, rgba(45, 45, 45, .82) 0%, rgba(45, 45, 45, .55) 45%, rgba(45, 45, 45, 0) 100%);
	font-family: "Tajawal", sans-serif;
}

.ggen-tile-name {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}

.ggen-tile-count {
	color: var(--lv-blush);
	font-size: 12.5px;
	font-weight: 500;
}

/* ---------------------------------------------------------------------
   الإيقاع الرأسي
   الثيم يفصل الأقسام بـmt-px-30 فقط، فتتلاصق الأشرطة وتفقد الصفحة تنفّسها
   حين يصير عددها ستة بدل اثنين.
   --------------------------------------------------------------------- */
.ggen-rail,
.ggen-gateway {
	margin-top: 46px !important;
}

.ggen-rail--compact {
	margin-top: 34px !important;
}

/* فاصل شعري قبل **أول** شريط قسم — يفصل «الأفضل عموماً» عن «الأفضل في كل رفّ».
   نرسمه على كل الأشرطة المضغوطة ثم نرفعه عمّا يلي مضغوطاً آخر.
   (`:first-of-type` كان خطأً: يقيس أول عنصرٍ من نوع `section` بين إخوته لا أول
   عنصر يحمل الصنف — وأول `section` هنا هو البوابة، فما كانت القاعدة تُطبَّق
   على شيء إطلاقاً.) */
.ggen-rail--compact {
	padding-top: 34px;
	border-top: 1px solid #edefee;
}

.ggen-rail--compact + .ggen-rail--compact {
	padding-top: 0;
	border-top: 0;
}

@media only screen and (max-width: 767px) {
	.ggen-rail,
	.ggen-gateway {
		margin-top: 32px !important;
	}

	.ggen-rail-sub {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.ggen-gateway-grid {
		gap: 10px;
	}

	.ggen-tile-body {
		padding: 26px 10px 9px;
	}

	.ggen-tile-name {
		font-size: 13.5px;
	}

	.ggen-tile-count {
		font-size: 11.5px;
	}

	/* الرابط ينزل تحت العنوان على الجوال بدل أن يضغط الفاصل حتى يختفي. */
	.ggen-rail-all {
		margin-inline-start: 0;
		margin-top: 6px;
		flex: 0 0 100%;
	}
}

/* الحركة اختيارية — من يطلب تقليلها لا يُفرض عليه شيء. */
@media (prefers-reduced-motion: reduce) {
	.ggen-tile,
	.ggen-tile-media img {
		transition: none;
	}

	.ggen-tile:hover {
		transform: none;
	}

	.ggen-tile:hover .ggen-tile-media img {
		transform: none;
	}
}
