/* Minification failed. Returning unminified contents.
(22,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(24,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(30,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(31,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(32,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(41,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(42,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(43,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(44,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(45,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(47,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg'
(48,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(59,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(60,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(61,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(69,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(81,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(82,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(83,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(87,39): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(87,67): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(87,102): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(105,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(108,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(108,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(108,93): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(108,126): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(111,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(112,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(117,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(159,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(162,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow-hover'
(168,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(168,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(170,80): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(208,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(208,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(213,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow-hover'
(228,30): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(228,63): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(228,96): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(237,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(241,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(253,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(253,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(253,98): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(265,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(274,26): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(276,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(276,59): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(341,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(352,58): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(352,94): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(358,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(358,60): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(358,93): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(358,126): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(397,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(441,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(447,30): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(447,58): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(451,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(465,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(467,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(473,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(473,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(473,94): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(482,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(487,45): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(487,68): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(487,90): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(498,56): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(506,45): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(527,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(532,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(532,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(532,98): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(536,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(555,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(582,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(602,30): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(602,62): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(612,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(616,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(629,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(629,68): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(629,96): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(629,128): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(637,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(638,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(643,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(643,61): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(647,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(648,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(651,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(652,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(657,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(659,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(673,46): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(673,81): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(679,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(679,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(743,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(752,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(753,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(899,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(899,61): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(940,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(959,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(960,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(971,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(975,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(975,61): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(975,93): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(978,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(979,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(985,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(990,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(999,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(1000,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(1005,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1005,61): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1015,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(1016,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(1018,59): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(1275,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1371,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1423,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(1431,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(1439,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(1473,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1496,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(1501,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(1538,46): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1538,81): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1547,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1547,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1547,107): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1566,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1566,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1603,45): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1616,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(1630,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1630,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1665,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(1678,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1718,46): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1718,74): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1734,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1734,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1763,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(1768,61): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(1806,46): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1808,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1808,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1822,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1822,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(1837,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(1856,74): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(1973,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(1974,30): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(2026,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(2037,58): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2040,45): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2077,58): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2077,77): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(2180,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2186,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(2218,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(2278,74): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg'
(2339,46): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2611,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2680,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(2682,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(2683,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow'
(2684,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(2685,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(2686,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(2690,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow-hover'
(2736,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(2752,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(2788,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(2792,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(2864,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2870,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2874,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(2925,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(3074,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(3076,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(3079,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(3079,61): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(3079,96): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(3082,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(3083,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(3084,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(3132,26): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(3142,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(3144,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(3189,22): run-time error CSS1030: Expected identifier, found '.'
(3189,50): run-time error CSS1031: Expected selector, found ')'
(3189,50): run-time error CSS1025: Expected comma or open brace, found ')'
(3266,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-surface'
(3600,26): run-time error CSS1030: Expected identifier, found '.'
(3600,37): run-time error CSS1031: Expected selector, found ')'
(3600,37): run-time error CSS1025: Expected comma or open brace, found ')'
(3618,21): run-time error CSS1030: Expected identifier, found '.'
(3618,41): run-time error CSS1031: Expected selector, found ')'
(3618,41): run-time error CSS1025: Expected comma or open brace, found ')'
(3858,13): run-time error CSS1030: Expected identifier, found '.'
(3858,24): run-time error CSS1031: Expected selector, found ')'
(3858,24): run-time error CSS1025: Expected comma or open brace, found ')'
(3872,13): run-time error CSS1030: Expected identifier, found '.'
(3872,24): run-time error CSS1031: Expected selector, found ')'
(3872,24): run-time error CSS1025: Expected comma or open brace, found ')'
(3886,13): run-time error CSS1030: Expected identifier, found '.'
(3886,24): run-time error CSS1031: Expected selector, found ')'
(3886,24): run-time error CSS1025: Expected comma or open brace, found ')'
(3901,13): run-time error CSS1030: Expected identifier, found '.'
(3901,24): run-time error CSS1031: Expected selector, found ')'
(3901,24): run-time error CSS1025: Expected comma or open brace, found ')'
(4003,17): run-time error CSS1030: Expected identifier, found '.'
(4003,28): run-time error CSS1031: Expected selector, found ')'
(4003,28): run-time error CSS1025: Expected comma or open brace, found ')'
(4319,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(4447,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(4495,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(4499,44): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(4501,40): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(4502,41): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(4701,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(4822,34): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(4904,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(4908,44): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(4910,40): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(4911,41): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(5007,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5012,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5084,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5316,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5321,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5352,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5410,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5423,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5663,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5679,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5695,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(5709,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5712,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(5721,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5722,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(5736,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5740,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(5744,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5745,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(5759,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5765,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5777,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5784,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(5792,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(5793,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(5843,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(5844,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5849,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-soft'
(5850,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(5851,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(5975,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(6037,40): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(6049,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6072,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(6129,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6193,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6216,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6234,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6240,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6244,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6250,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6256,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(6283,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-navy'
(6285,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(6326,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6327,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6328,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6350,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6351,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6352,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6357,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6364,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(6432,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6458,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(6459,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(6464,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6465,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6466,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6467,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6471,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(6472,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6473,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(6477,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6478,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6524,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(6525,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(6526,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(6554,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(6555,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(6574,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6579,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6586,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(6591,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(6596,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(6631,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(6632,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(6633,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(6637,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(6643,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(6773,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(6778,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6790,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(6797,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6823,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(6833,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6834,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6851,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6858,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-navy'
(6860,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(6891,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6892,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6896,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(6903,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(6911,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6912,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6916,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6917,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6945,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(6961,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-icon-muted'
(6967,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(6972,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(7009,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7010,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7053,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7060,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(7087,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(7087,80): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(7105,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(7106,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(7120,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(7129,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(7142,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(7159,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7161,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7177,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(7331,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(7338,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7364,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7375,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7389,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(7461,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7525,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7530,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(7909,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(8122,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(8213,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(8240,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(8249,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(8264,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(8274,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(8782,40): run-time error CSS1019: Unexpected token, found ' '
(8782,40): run-time error CSS1019: Unexpected token, found ' '
(8782,40): run-time error CSS1042: Expected function, found ' '
(8782,40): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(8783,41): run-time error CSS1019: Unexpected token, found ' '
(8783,41): run-time error CSS1019: Unexpected token, found ' '
(8783,41): run-time error CSS1042: Expected function, found ' '
(8783,41): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(8784,41): run-time error CSS1019: Unexpected token, found ' '
(8784,41): run-time error CSS1019: Unexpected token, found ' '
(8784,41): run-time error CSS1042: Expected function, found ' '
(8784,41): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(9074,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9085,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9097,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9110,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9122,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9149,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9157,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9225,30): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9263,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9267,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9386,31): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9400,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(9406,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(9408,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(9527,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9528,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9529,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9530,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9558,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9575,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9576,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-pad-x'
(9577,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9578,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(9579,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9587,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow'
(9588,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9589,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9590,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9591,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9592,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9598,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(9599,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(9601,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow-hover'
(9605,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-icon'
(9615,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9618,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(9619,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(9622,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9623,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9626,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(9627,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9633,23): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9636,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(9641,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(9643,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9644,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9647,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(9651,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9669,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9670,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-pad-x'
(9671,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(9672,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(9674,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(9680,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9681,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9682,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9683,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9687,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(9688,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9689,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(9692,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-icon'
(9710,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9711,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9712,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9714,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(9715,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(9717,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(9722,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9723,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9724,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9725,32): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(9729,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(9730,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9731,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(9734,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-icon'
(9751,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9764,29): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9772,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(9773,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(9777,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(9783,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9787,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(9807,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9808,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9809,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9820,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9821,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(9827,13): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10111,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10112,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10139,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(10175,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(10181,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(10227,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(10238,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(10249,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text-muted'
(10253,20): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10257,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10258,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10259,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10261,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(10262,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(10264,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(10266,33): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(10267,35): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(10268,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-transition'
(10272,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(10276,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(10277,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(10278,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(10281,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-icon'
(10292,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(10295,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(10299,75): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10299,103): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10304,75): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10304,103): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10397,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(10463,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-soft'
(10464,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(10510,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10511,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10512,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10513,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10514,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10515,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10516,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10517,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10518,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10536,23): run-time error CSS1039: Token not allowed after unary operator: '-aj-header-font'
(10568,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold-soft'
(10575,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold-soft'
(10587,34): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold'
(10630,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-nav-h'
(10641,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-nav-h'
(10704,58): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold'
(10704,78): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold-soft'
(10704,103): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold'
(10791,49): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold'
(10791,65): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold-soft'
(10809,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(10830,26): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive-soft'
(10830,66): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(10848,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold'
(10917,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(10918,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(10919,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive-soft'
(10926,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10926,48): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10927,18): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-h'
(10929,28): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(10930,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-radius'
(10932,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-text'
(10934,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-action-icon'
(10941,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(10941,64): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive-soft'
(10945,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(10952,46): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11030,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(11044,23): run-time error CSS1039: Token not allowed after unary operator: '-aj-header-font'
(11104,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-gold-soft'
(11114,13): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11163,13): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11242,13): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11331,13): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11351,13): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11508,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(11511,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(11543,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-olive'
(11567,50): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11645,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11646,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11718,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11722,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11737,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-bg-card'
(11739,24): run-time error CSS1039: Token not allowed after unary operator: '-aj-border'
(11780,25): run-time error CSS1039: Token not allowed after unary operator: '-aj-radius'
(11782,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow'
(11789,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-shadow-hover'
(11808,17): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(11829,22): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(12069,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(12079,50): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
(12085,45): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary-dark'
(12474,21): run-time error CSS1039: Token not allowed after unary operator: '-aj-primary'
 */
/* ============================================================================
   AbuJudom UI Enhancements (May 2026 - r3 / final polish)
   Standalone, additive stylesheet. Does NOT override existing classes.
   All custom classes are prefixed with "aj-" to avoid conflicts.

   What's inside:
     1. CSS variables + dark-mode tokens
     2. Dark mode (opt-in via body.aj-dark)
     3. Header dark-mode toggle (in identity color, lives inside .main-header)
        + legacy floating fallback (only used if header is absent)
     4. Scroll-reveal animations (.aj-reveal*)
     5. Modern card hover (.aj-card-hover)
     6. Sticky shrinking header + header polish (hover lift, nav underline)
     7. Footer polish (brand-color accent line, social-icon hover)
     8. Loading skeletons
     9. Reading progress bar
    10. Infinite-scroll UI (sentinel, "Load more" button, end-of-results)
    11. Print + accessibility
   ============================================================================ */

:root {
    --aj-primary: #b7cd27;
    --aj-primary-dark: #a7bd1b;
    --aj-primary-soft: rgba(183, 205, 39, 0.12);
    --aj-bg: #ffffff;
    --aj-bg-soft: #f7f8fa;
    --aj-bg-card: #ffffff;
    --aj-text: #878c9f;
    --aj-text-muted: #6b7280;
    --aj-border: #e5e7eb;
    --aj-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    --aj-shadow-hover: 0 12px 28px rgba(15, 23, 42, 0.14);
    --aj-radius: 10px;
    --aj-transition: 280ms cubic-bezier(.2, .8, .2, 1);
}

/* ---------- 1. DARK MODE (opt-in) ---------- */
body.aj-dark {
    --aj-bg: #878c9f;
    --aj-bg-soft: #1e293b;
    --aj-bg-card: #1e293b;
    --aj-text: #e5e7eb;
    --aj-text-muted: #94a3b8;
    --aj-border: #334155;
    --aj-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    --aj-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.6);
    background: var(--aj-bg);
    color: var(--aj-text);
}

body.aj-dark .gray-bg,
body.aj-dark .listing-item,
body.aj-dark .geodir-category-listing,
body.aj-dark .box-widget,
body.aj-dark .main-header,
body.aj-dark .geodir-category-content,
body.aj-dark footer,
body.aj-dark .sub-footer {
    background-color: var(--aj-bg-card) !important;
    color: var(--aj-text) !important;
    border-color: var(--aj-border) !important;
}

body.aj-dark .list-single-main-item_content p,
body.aj-dark .geodir-category-content h3,
body.aj-dark .geodir-category-content_price,
body.aj-dark h1, body.aj-dark h2, body.aj-dark h3,
body.aj-dark h4, body.aj-dark h5, body.aj-dark h6 {
    color: var(--aj-text) !important;
}

body.aj-dark a:not(.color-bg):not(.btn) { color: #cee552; }

body.aj-dark .main-search-input,
body.aj-dark input[type="text"],
body.aj-dark input[type="email"],
body.aj-dark input[type="search"],
body.aj-dark input[type="number"],
body.aj-dark select,
body.aj-dark textarea {
    background: var(--aj-bg-soft) !important;
    color: var(--aj-text) !important;
    border-color: var(--aj-border) !important;
}

body, body * {
    transition: background-color var(--aj-transition), color var(--aj-transition), border-color var(--aj-transition);
}

/* ---------- 2/3. DARK-MODE TOGGLE IN HEADER (identity color) ----------
   The toggle is injected by abujudom-enhancements.js as a sibling of the
   existing .header-opt_btn (language globe). It re-uses the same look so it
   matches the brand identity perfectly, and uses the brand color for the icon. */
.aj-header-toggle {
    /* mimic the header opt buttons */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 4px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--aj-primary);     /* identity color */
    position: relative;
    border-radius: 50%;
    transition: transform var(--aj-transition), background var(--aj-transition), color var(--aj-transition), box-shadow var(--aj-transition);
}
.aj-header-toggle:hover {
    background: var(--aj-primary-soft);
    color: var(--aj-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(183, 205, 39, 0.25);
}
.aj-header-toggle:focus-visible {
    outline: 2px solid var(--aj-primary);
    outline-offset: 2px;
}
.aj-header-toggle svg { width: 22px; height: 22px; }

/* Tooltip (uses microtip pattern already in the site) */
.aj-header-toggle::after {
    content: attr(data-tooltip);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 6px);
    background: rgba(15, 23, 42, 0.92);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    padding: 6px 8px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
    z-index: 9001;
}
.aj-header-toggle:hover::after { opacity: 1; }

body.aj-dark .aj-header-toggle { color: #cee552; }
body.aj-dark .aj-header-toggle:hover {
    background: rgba(206, 229, 82, 0.16);
    box-shadow: 0 6px 14px rgba(206, 229, 82, 0.25);
}

/* Legacy floating toggle: kept ONLY as fallback if the header is missing
   (e.g. dashboard pages with their own layout). */
.aj-theme-toggle {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 9998;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--aj-primary);
    color: #ffffff;
    border: none;
    box-shadow: var(--aj-shadow-hover);
    cursor: pointer;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--aj-transition), background var(--aj-transition);
}
.aj-theme-toggle:hover { transform: scale(1.1) rotate(15deg); background: var(--aj-primary-dark); }
.aj-theme-toggle:focus-visible { outline: 3px solid #cee552; outline-offset: 2px; }
html[dir="rtl"] .aj-theme-toggle { left: auto; right: 24px; }

/* ---------- 4. SCROLL-REVEAL ---------- */
.aj-reveal,
.aj-reveal-up,
.aj-reveal-zoom,
.aj-reveal-left,
.aj-reveal-right {
    opacity: 0;
    transition: opacity 700ms cubic-bezier(.2, .8, .2, 1), transform 700ms cubic-bezier(.2, .8, .2, 1);
    will-change: opacity, transform;
}
.aj-reveal-up    { transform: translateY(32px); }
.aj-reveal-zoom  { transform: scale(0.94); }
.aj-reveal-left  { transform: translateX(-32px); }
.aj-reveal-right { transform: translateX(32px); }

.aj-reveal.aj-revealed,
.aj-reveal-up.aj-revealed,
.aj-reveal-zoom.aj-revealed,
.aj-reveal-left.aj-revealed,
.aj-reveal-right.aj-revealed {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .aj-reveal, .aj-reveal-up, .aj-reveal-zoom, .aj-reveal-left, .aj-reveal-right {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ---------- 5. MODERN CARD HOVER ---------- */
.aj-card-hover {
    transition: transform var(--aj-transition), box-shadow var(--aj-transition);
    will-change: transform;
}
.aj-card-hover:hover {
    transform: translateY(-6px);
    box-shadow: var(--aj-shadow-hover);
}
.aj-card-hover img {
    transition: transform 600ms cubic-bezier(.2, .8, .2, 1);
    will-change: transform;
}
.aj-card-hover:hover img { transform: scale(1.06); }

/* ---------- 6. STICKY SHRINKING HEADER + HEADER POLISH ---------- */
header.main-header.aj-sticky-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    transition: padding var(--aj-transition), background var(--aj-transition), box-shadow var(--aj-transition);
}
header.main-header.aj-sticky-header.aj-shrunk {
    padding-top: 6px;
    padding-bottom: 6px;
    background: rgba(255, 255, 255, 0.96);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
    border-bottom: 1px solid var(--aj-primary-soft);
}
header.main-header.aj-sticky-header.aj-shrunk .logo-holder img {
    transform: scale(0.85);
    transition: transform var(--aj-transition);
}
body.aj-dark header.main-header.aj-sticky-header.aj-shrunk {
    background: rgba(15, 23, 42, 0.92);
    border-bottom-color: rgba(206, 229, 82, 0.2);
}

body.aj-sticky-active { padding-top: 80px; }

/* Header opt-button hover lift (matches new toggle) */
header.main-header .header-opt_btn,
header.main-header .cart-btn {
    transition: transform var(--aj-transition), background var(--aj-transition), box-shadow var(--aj-transition);
}
header.main-header .header-opt_btn:hover,
header.main-header .cart-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.10);
}

/* Animated nav underline (only desktop) */
@media (min-width: 992px) {
    header.main-header .nav-holder.main-menu nav > ul > li > a {
        position: relative;
        transition: color var(--aj-transition);
    }
    header.main-header .nav-holder.main-menu nav > ul > li > a::after {
        content: "";
        position: absolute;
        bottom: -4px;
        left: 50%;
        width: 0;
        height: 2px;
        background: var(--aj-primary);
        border-radius: 2px;
        transition: width var(--aj-transition), left var(--aj-transition);
    }
    header.main-header .nav-holder.main-menu nav > ul > li:hover > a::after,
    header.main-header .nav-holder.main-menu nav > ul > li.act-link > a::after {
        width: 70%;
        left: 15%;
    }
}

/* ---------- 7. FOOTER POLISH ---------- */
footer.main-footer {
    position: relative;
    background: #f8fafc !important;
    color: #334155 !important;
    overflow: hidden;
}

/* Subtle architectural pattern overlay (building outlines + house shapes)
   using an inline SVG data-URI. Very low opacity so text stays readable. */
footer.main-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.055;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%2394a3b8' stroke-width='0.8'%3E%3C!-- building 1 --%3E%3Crect x='15' y='80' width='30' height='120'/%3E%3Crect x='20' y='90' width='8' height='10'/%3E%3Crect x='32' y='90' width='8' height='10'/%3E%3Crect x='20' y='110' width='8' height='10'/%3E%3Crect x='32' y='110' width='8' height='10'/%3E%3Crect x='20' y='130' width='8' height='10'/%3E%3Crect x='32' y='130' width='8' height='10'/%3E%3Crect x='25' y='165' width='10' height='35'/%3E%3C!-- house --%3E%3Cpath d='M80 140 L100 120 L120 140 L120 200 L80 200 Z'/%3E%3Crect x='92' y='170' width='12' height='30'/%3E%3Cpolygon points='75,142 100,115 125,142'/%3E%3C!-- tall tower --%3E%3Crect x='150' y='50' width='25' height='150'/%3E%3Crect x='155' y='60' width='6' height='8'/%3E%3Crect x='164' y='60' width='6' height='8'/%3E%3Crect x='155' y='78' width='6' height='8'/%3E%3Crect x='164' y='78' width='6' height='8'/%3E%3Crect x='155' y='96' width='6' height='8'/%3E%3Crect x='164' y='96' width='6' height='8'/%3E%3Crect x='155' y='114' width='6' height='8'/%3E%3Crect x='164' y='114' width='6' height='8'/%3E%3Crect x='155' y='132' width='6' height='8'/%3E%3Crect x='164' y='132' width='6' height='8'/%3E%3Crect x='159' y='160' width='8' height='40'/%3E%3Cline x1='162' y1='46' x2='162' y2='50'/%3E%3C!-- ground line --%3E%3Cline x1='0' y1='200' x2='200' y2='200' stroke-width='0.5'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 200px 200px;
    background-repeat: repeat;
}

/* Ensure all footer content sits above the pattern */
footer.main-footer .footer-inner,
footer.main-footer .sub-footer,
footer.main-footer .container {
    position: relative;
    z-index: 1;
}

footer.main-footer .footer-inner {
    background: transparent !important;
}
footer.main-footer .sub-footer {
    background: #eef2f7 !important;
    color: #878c9f !important;
}
footer.main-footer .sub-footer .copyright {
    color: #878c9f !important;
}
footer.main-footer h2,
footer.main-footer h3,
footer.main-footer h4 {
    color: #1e293b !important;
    font-weight: 700;
    letter-spacing: -0.2px;
}
footer.main-footer .footer-list li a,
footer.main-footer .footer-contacts li a,
footer.main-footer .footer-contacts li span,
footer.main-footer p,
footer.main-footer .fw_hours span,
footer.main-footer .fw_hours strong {
    color: #334155 !important;
}
footer.main-footer .footer-list li a:hover {
    color: var(--aj-primary) !important;
}

/* Brand accent line at top of footer */
footer.main-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--aj-primary) 15%, #cee552 50%, var(--aj-primary) 85%, transparent);
    opacity: 1;
    z-index: 2;
}

footer.main-footer .footer-social ul li a {
    transition: transform var(--aj-transition), color var(--aj-transition), box-shadow var(--aj-transition), background var(--aj-transition);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.14);
    color: #1e293b !important;
    font-size: 15px;
}
footer.main-footer .footer-social ul li a i,
.aj-footer-feature-icons a i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
footer.main-footer .footer-social ul li a .aj-social-svg {
    width: 16px;
    height: 16px;
    display: block;
    object-fit: contain;
    filter: brightness(0) saturate(100%);
}
footer.main-footer .footer-social ul li a:hover .aj-social-svg {
    filter: none;
}
/* The icon-font fallback letters used to be a safety net when Font Awesome
   failed to load. We now ship FA 5.15.4 Free locally (woff2 + woff + ttf),
   so the fallback letters should NEVER appear. Keep the rule with !important
   to defeat any legacy script that might unhide them. */
.aj-icon-fallback {
    display: none !important;
    visibility: hidden !important;
}
footer.main-footer .footer-social ul li a:hover {
    transform: translateY(-3px) scale(1.05);
    color: #ffffff !important;
    background: var(--aj-primary);
    box-shadow: 0 6px 14px rgba(183, 205, 39, 0.25);
}
footer.main-footer .footer-social ul li a i {
    font-family: "Font Awesome 5 Brands", "Font Awesome 6 Brands", "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
}

/* Extra footer quick icons (small service shortcuts) */
.aj-footer-feature-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.aj-footer-feature-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(183, 205, 39, 0.18);
    border: 1px solid rgba(183, 205, 39, 0.45);
    color: #1e293b !important;
    font-size: 16px;
    line-height: 1;
    transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}
.aj-footer-feature-icons a i,
.aj-footer-feature-icons a i.fas,
.aj-footer-feature-icons a i.fa {
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    color: inherit !important;
    line-height: 1 !important;
    display: inline-block !important;
    -webkit-font-smoothing: antialiased;
}
.aj-footer-feature-icons a:hover {
    transform: translateY(-2px);
    background: var(--aj-primary);
    color: #878c9f !important;
}

footer.main-footer .footer-list li a {
    position: relative;
    transition: padding var(--aj-transition), color var(--aj-transition);
}
footer.main-footer .footer-list li a:hover {
    padding-left: 8px;
    color: var(--aj-primary) !important;
}
html[dir="rtl"] footer.main-footer .footer-list li a:hover {
    padding-left: 0;
    padding-right: 8px;
}
footer.main-footer .footer-list li a::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--aj-primary);
    transform: translateY(-50%) scale(0);
    transition: transform var(--aj-transition);
}
footer.main-footer .footer-list li a:hover::before { transform: translateY(-50%) scale(1); }
html[dir="rtl"] footer.main-footer .footer-list li a::before { left: auto; right: -2px; }

footer.main-footer .api-btn {
    transition: transform var(--aj-transition), box-shadow var(--aj-transition), filter var(--aj-transition);
}
footer.main-footer .api-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 8px 18px rgba(183, 205, 39, 0.30);
}

.sub-footer.gray-bg {
    border-top: 1px solid var(--aj-border);
}

/* ---------- 8. LOADING SKELETONS ---------- */
.aj-skeleton {
    background: linear-gradient(90deg, var(--aj-bg-soft) 25%, var(--aj-border) 50%, var(--aj-bg-soft) 75%);
    background-size: 200% 100%;
    animation: aj-skeleton-shimmer 1.4s ease-in-out infinite;
    border-radius: 6px;
    color: transparent !important;
    pointer-events: none;
}
@keyframes aj-skeleton-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.aj-skeleton-card { height: 320px; border-radius: var(--aj-radius); }

/* ---------- 9. READING PROGRESS BAR ---------- */
.aj-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--aj-primary), #cee552);
    z-index: 10000;
    transition: width 80ms linear;
    width: 0;
}

/* ---------- 10. INFINITE-SCROLL / LOAD-MORE UI ---------- */
.aj-loadmore-wrap {
    width: 100%;
    text-align: center;
    padding: 24px 16px 40px;
    margin-top: 12px;
    clear: both;
}
.aj-loadmore-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 28px;
    border: none;
    border-radius: 999px;
    background: var(--aj-primary);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(183, 205, 39, 0.25);
    transition: transform var(--aj-transition), background var(--aj-transition), box-shadow var(--aj-transition);
}
.aj-loadmore-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    background: var(--aj-primary-dark);
    box-shadow: 0 10px 22px rgba(183, 205, 39, 0.35);
}
.aj-loadmore-btn:disabled { opacity: 0.55; cursor: default; }
.aj-loadmore-btn .aj-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: aj-spin 750ms linear infinite;
    display: none;
}
.aj-loadmore-btn.aj-loading .aj-spinner { display: inline-block; }
@keyframes aj-spin { to { transform: rotate(360deg); } }

.aj-loadmore-end {
    display: block;
    margin-top: 8px;
    color: var(--aj-text-muted);
    font-size: 13px;
}

/* New items fade/slide in when appended */
.aj-newly-loaded {
    animation: aj-fade-up 600ms cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes aj-fade-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: none; }
}

/* Hide the original PagedList pager once we hijack pagination */
.listing-item-container.aj-infinite + .pagination,
.listing-item-container.aj-infinite .pagination,
.aj-infinite-host .pagination {
    display: none !important;
}

/* ---------- 11. LANGUAGE PICKER POLISH ----------
   Adds a small "EN" / "AR" badge on the existing globe button, and
   polishes the language modal. */
.aj-lang-badge {
    position: absolute;
    bottom: -4px;
    right: -6px;
    background: var(--aj-primary);
    color: #878c9f;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    padding: 2px 5px;
    border-radius: 8px;
    letter-spacing: 0.4px;
    box-shadow: 0 2px 4px rgba(183, 205, 39, 0.45), 0 0 0 2px rgba(255, 255, 255, 0.95);
    pointer-events: none;
    z-index: 5;
    font-family: 'Jost', 'Tajawal', 'Cairo', sans-serif;
    text-transform: uppercase;
}
html[dir="rtl"] .aj-lang-badge { right: auto; left: -6px; }
header.main-header .header-opt_btn { position: relative; overflow: visible !important; }
header.main-header .header-opt { overflow: visible !important; }

/* Polish the existing language modal (.header-opt-modal .lang-item) */
.header-opt-modal {
    transition: opacity var(--aj-transition), transform var(--aj-transition);
}
.header-opt-modal:not(.novis_header-mod) {
    animation: aj-modal-pop 240ms cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes aj-modal-pop {
    from { opacity: 0; transform: translateY(-8px) scale(.96); }
    to   { opacity: 1; transform: none; }
}
.header-opt-modal .lang-item h4 {
    color: var(--aj-text);
    font-weight: 600;
}
.header-opt-modal .lang-item h4 span {
    color: var(--aj-primary);
    margin-left: 6px;
}
html[dir="rtl"] .header-opt-modal .lang-item h4 span { margin-left: 0; margin-right: 6px; }

.header-opt-modal .header-opt-modal-list ul li a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 10px 14px !important;
    margin: 4px 0;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: background var(--aj-transition), border-color var(--aj-transition), color var(--aj-transition), transform var(--aj-transition);
}
.header-opt-modal .header-opt-modal-list ul li a::before {
    content: attr(data-lantext);
    display: inline-block;
    min-width: 28px;
    padding: 3px 6px;
    border-radius: 6px;
    background: var(--aj-bg-soft);
    color: var(--aj-text-muted);
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.5px;
    transition: background var(--aj-transition), color var(--aj-transition);
}
.header-opt-modal .header-opt-modal-list ul li a:not([data-lantext])::before {
    content: "AR";
    background: var(--aj-bg-soft);
    color: var(--aj-text-muted);
}
.header-opt-modal .header-opt-modal-list ul li a:hover {
    background: var(--aj-primary-soft);
    border-color: var(--aj-primary);
    transform: translateX(2px);
}
html[dir="rtl"] .header-opt-modal .header-opt-modal-list ul li a:hover { transform: translateX(-2px); }
.header-opt-modal .header-opt-modal-list ul li a.current-lan {
    background: var(--aj-primary);
    color: #fff !important;
    border-color: var(--aj-primary);
    box-shadow: 0 4px 10px rgba(183, 205, 39, 0.3);
}
.header-opt-modal .header-opt-modal-list ul li a.current-lan::before {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

/* ---------- 12. EVALUATION CTA POLISH ("rate your property" feel) ----------
   The header has an "Evaluation" link going to evaluation.abujudom.com.
   Make it look like a polished rating CTA: gradient background, star icon,
   subtle pulse to draw the eye. */
header.main-header .add-list[href*="evaluation"] {
    position: relative;
    background: linear-gradient(135deg, var(--aj-primary) 0%, #cee552 60%, var(--aj-primary) 100%) !important;
    background-size: 200% 100%;
    animation: aj-eval-shine 6s ease-in-out infinite;
    border: none;
    box-shadow: 0 6px 16px rgba(183, 205, 39, 0.25);
    overflow: hidden;
    transition: transform var(--aj-transition), box-shadow var(--aj-transition);
}
header.main-header .add-list[href*="evaluation"]::before {
    content: "\2605";   /* unicode star */
    display: inline-block;
    margin-right: 6px;
    color: #ffffff;
    font-size: 15px;
    text-shadow: 0 0 6px rgba(255, 255, 255, 0.7);
    animation: aj-star-twinkle 2.4s ease-in-out infinite;
}
html[dir="rtl"] header.main-header .add-list[href*="evaluation"]::before { margin-right: 0; margin-left: 6px; }
header.main-header .add-list[href*="evaluation"]:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 22px rgba(183, 205, 39, 0.4);
}
@keyframes aj-eval-shine {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}
@keyframes aj-star-twinkle {
    0%, 100% { transform: scale(1)   rotate(0deg);  opacity: 1;   }
    50%      { transform: scale(1.2) rotate(15deg); opacity: 0.85; }
}

/* ---------- 13. RATING COMPONENT POLISH ----------
   Existing rating widgets:
     - .listing-rating  (display, gold stars from FA)
     - .leave-rating    (radio inputs styled as stars for review form)
     - .card-popup-rainingvis_bg (5-star backdrop) */
.listing-rating i,
.card-popup-rainingvis_bg span:before {
    background: linear-gradient(135deg, #facc15, #f59e0b);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #facc15;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.08));
    transition: transform 240ms cubic-bezier(.2, .8, .2, 1);
}
.listing-rating:hover i {
    transform: scale(1.1);
}

/* The interactive .leave-rating uses input[type=radio] + label.fa-star */
.leave-rating {
    display: inline-flex;
    flex-direction: row-reverse;   /* radios are 1..5; reverse so hover fills left */
    gap: 4px;
}
.leave-rating label {
    cursor: pointer;
    font-size: 22px !important;
    color: #d1d5db;
    transition: color 180ms ease, transform 180ms ease, text-shadow 180ms ease;
}
.leave-rating label:hover,
.leave-rating label:hover ~ label,
.leave-rating input[type="radio"]:checked ~ label {
    color: #facc15 !important;
    text-shadow: 0 0 8px rgba(250, 204, 21, 0.5);
    transform: scale(1.12);
}
.leave-rating input[type="radio"]:focus-visible + label {
    outline: 2px solid var(--aj-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Rating count text gets a subtle highlight */
.count-radio-wrapper #count-checked-radio {
    display: inline-block;
    padding: 4px 10px;
    background: var(--aj-primary-soft);
    color: var(--aj-primary-dark);
    border-radius: 999px;
    font-weight: 600;
    font-size: 12px;
}

/* ---------- 14. MASONRY LAYOUT (listings) ----------
   Activated when .listing-item-container.aj-masonry is present.
   Masonry.js handles the JS positioning; we just give it a clean canvas. */
.listing-item-container.aj-masonry {
    /* Masonry sets inline width/position on each item, so make the
       container a plain block. The classes below remove float-based
       layout that conflicts with absolute positioning. */
    float: none;
    width: 100%;
    position: relative;
    min-height: 320px;
}
.listing-item-container.aj-masonry .listing-item {
    width: calc(50% - 12px);   /* 2-column default */
    margin-bottom: 24px;
    float: none;               /* Masonry uses absolute positioning */
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .listing-item-container.aj-masonry .listing-item { width: 100%; }
}

/* Subtle reveal once Masonry has measured items (prevents flash of
   unstyled stacked items). aj-masonry-ready is set by our JS after init. */
.listing-item-container.aj-masonry:not(.aj-masonry-ready) .listing-item {
    opacity: 0;
}
.listing-item-container.aj-masonry.aj-masonry-ready .listing-item {
    opacity: 1;
    transition: opacity 400ms ease;
}

/* ---------- 15. TAJAWAL FONT (Arabic) ----------
   Apply Tajawal in Arabic via natural CSS inheritance from <body>. We DO
   NOT use the universal `body *` selector here because that would force
   Tajawal onto every <i> icon tag (Font Awesome, LightGallery, Google
   Places, etc.) and break their glyphs into white squares.

   Form controls (input, button, select, textarea) don't inherit
   font-family by default, so we target them explicitly. */
html[lang^="ar"] body,
html[dir="rtl"] body {
    font-family: 'Tajawal', 'Cairo', system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif !important;
}
html[lang^="ar"] input,
html[lang^="ar"] textarea,
html[lang^="ar"] select,
html[lang^="ar"] button,
html[lang^="ar"] optgroup,
html[lang^="ar"] option,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] button,
html[dir="rtl"] optgroup,
html[dir="rtl"] option {
    font-family: 'Tajawal', 'Cairo', system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif !important;
}
/* Belt + suspenders: explicitly preserve icon-font families in Arabic
   contexts in case a legacy parent rule cascades unexpectedly. */
html[lang^="ar"] body i.fa, html[lang^="ar"] body i.fas, html[lang^="ar"] body i.far,
html[lang^="ar"] body i.fal,
html[dir="rtl"] body i.fa, html[dir="rtl"] body i.fas, html[dir="rtl"] body i.far,
html[dir="rtl"] body i.fal,
html[lang^="ar"] body .fa::before,
html[lang^="ar"] body .fas::before,
html[lang^="ar"] body .far::before,
html[lang^="ar"] body .fal::before,
html[dir="rtl"] body .fa::before,
html[dir="rtl"] body .fas::before,
html[dir="rtl"] body .far::before,
html[dir="rtl"] body .fal::before {
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
}
html[lang^="ar"] body i.fab,
html[dir="rtl"] body i.fab,
html[lang^="ar"] body .fab::before,
html[dir="rtl"] body .fab::before {
    font-family: "Font Awesome 5 Brands", "Font Awesome 6 Brands", "FontAwesome" !important;
}
/* Keep LightGallery icon fonts intact globally */
.lg-icon,
.lg-icon::before,
.lg-icon::after,
.lg-close::before,
.lg-close::after,
.lg-toolbar .lg-icon,
.lg-toolbar .lg-icon::before,
.lg-toolbar .lg-icon::after {
    font-family: 'lg' !important;
}
/* Prev/next arrows: theme content codes \f177/\f178 exist only in FA Pro,
   so swap them for FA Free angle glyphs that the shipped webfont has */
.lg-prev::after,
.lg-actions .lg-prev::after {
    content: "\f104" !important;
}
.lg-next::before,
.lg-actions .lg-next::before {
    content: "\f105" !important;
}
.lg-prev::after,
.lg-next::before,
.lg-actions .lg-prev::after,
.lg-actions .lg-next::before {
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 22px !important;
    color: #ffffff !important;
    display: inline-block !important;
}
/* Hard fallback so icons always render. The site ships FA 5.15.4 Free
   webfonts under the family name "Font Awesome 5 Pro" (the @font-face
   in plugins.css uses that legacy name, but the actual glyph data is the
   Free set we shipped). Put the registered name FIRST so the browser
   immediately resolves it and never paints empty boxes. */
i.fa, i.fas, .fa::before, .fas::before {
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
}
i.far, .far::before,
i.fal, .fal::before {
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 400 !important;
}
i.fab, .fab::before {
    font-family: "Font Awesome 5 Brands", "Font Awesome 6 Brands", "FontAwesome" !important;
    font-weight: 400 !important;
}

/* ============================================================================
   PHASE 3 (May 2026) - Homepage polish, standard language picker, brand
   loader, logo shadow, 3x3 grid, modern section treatments.
   ============================================================================ */

/* ---------- 16. LOGO SHADOW (header) ---------- */
header.main-header .logo-holder img {
    filter:
        drop-shadow(0 2px 4px rgba(0, 0, 0, 0.18))
        drop-shadow(0 6px 14px rgba(183, 205, 39, 0.18));
    transition: filter var(--aj-transition), transform var(--aj-transition);
}
header.main-header .logo-holder img:hover {
    transform: translateY(-1px) scale(1.03);
    filter:
        drop-shadow(0 4px 8px rgba(0, 0, 0, 0.22))
        drop-shadow(0 10px 20px rgba(183, 205, 39, 0.28));
}
body.aj-dark header.main-header .logo-holder img {
    filter:
        drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5))
        drop-shadow(0 6px 14px rgba(206, 229, 82, 0.25));
}

/* ---------- 17. STANDARD LANGUAGE PICKER ----------
   Replaces the broken header-opt-modal popup.
   The JS injects .aj-lang-dropdown inside the .header-opt_btn so it's
   anchored to the globe; click outside / ESC closes it. */
header.main-header .header-opt_btn {
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
}
header.main-header,
header.main-header .nav-holder,
header.main-header .main-menu,
header.main-header .logo-holder {
    overflow: visible !important;
}
.aj-lang-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 156px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18), 0 2px 6px rgba(15, 23, 42, 0.08);
    padding: 8px;
    z-index: 100050;
    transform-origin: top right;
    animation: aj-lang-pop 200ms cubic-bezier(.2, .8, .2, 1) both;
    border: 1px solid var(--aj-border);
}
html[dir="rtl"] .aj-lang-dropdown { right: auto; left: 0; transform-origin: top left; }

.aj-lang-dropdown[hidden] { display: none !important; }

@keyframes aj-lang-pop {
    from { opacity: 0; transform: translateY(-6px) scale(.96); }
    to   { opacity: 1; transform: none; }
}

.aj-lang-dropdown::before {
    content: "";
    position: absolute;
    top: -6px;
    right: 18px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-left: 1px solid var(--aj-border);
    border-top: 1px solid var(--aj-border);
    transform: rotate(45deg);
}
html[dir="rtl"] .aj-lang-dropdown::before { right: auto; left: 18px; }

.aj-lang-dropdown a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    color: var(--aj-text);
    text-decoration: none;
    font-weight: 500;
    font-size: 13px;
    transition: background var(--aj-transition), color var(--aj-transition), transform var(--aj-transition);
}
.aj-lang-dropdown a:hover {
    background: var(--aj-primary-soft);
    color: var(--aj-primary-dark);
    transform: none;
}
html[dir="rtl"] .aj-lang-dropdown a:hover { transform: none; }

.aj-lang-dropdown a.is-current {
    background: var(--aj-primary);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(183, 205, 39, 0.3);
}
.aj-lang-dropdown a.is-current:hover {
    background: var(--aj-primary-dark);
    color: #ffffff;
}

.aj-lang-dropdown .aj-lang-code {
    display: inline-block;
    min-width: 32px;
    padding: 4px 6px;
    border-radius: 6px;
    background: var(--aj-bg-soft);
    color: var(--aj-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.5px;
    transition: background var(--aj-transition), color var(--aj-transition);
}
.aj-lang-dropdown a.is-current .aj-lang-code {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
}
.aj-lang-dropdown .aj-lang-name { flex: 1; }
.aj-lang-dropdown .aj-lang-flag { font-size: 16px; line-height: 1; }

body.aj-dark .aj-lang-dropdown {
    background: var(--aj-bg-card);
    border-color: var(--aj-border);
}
body.aj-dark .aj-lang-dropdown::before { background: var(--aj-bg-card); }

/* The legacy header-opt-modal is hidden once our standard dropdown is active.
   Belt + suspenders: also hide its inner pieces and visibility. */
body.aj-lang-std-active .header-opt-modal,
body.aj-lang-std-active .header-opt-modal-container,
body.aj-lang-std-active .header-opt-modal-item,
body.aj-lang-std-active .header-opt-modal-list {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ---------- 18. HOMEPAGE 3x3 CARD GRID (Isotope-compatible) ----------
   The container .grid-item-holder.gallery-items.gisp is initialized by
   Isotope which sets position:absolute + top/left on each .gallery-item.
   So we MUST NOT use CSS Grid here. Instead we just give every item
   ~33.33% width and let Isotope arrange them in 3 columns full-width. */
section .grid-item-holder.gallery-items.gisp {
    width: 100%;
    margin: 0 0 30px;
    position: relative;
}
section .grid-item-holder.gallery-items.gisp > .gallery-item {
    width: calc(33.3333% - 16px) !important;
    margin: 8px !important;
    padding: 0 !important;
    box-sizing: border-box;
}
@media (max-width: 992px) {
    section .grid-item-holder.gallery-items.gisp > .gallery-item {
        width: calc(50% - 12px) !important;
        margin: 6px !important;
    }
}
@media (max-width: 600px) {
    section .grid-item-holder.gallery-items.gisp > .gallery-item {
        width: 100% !important;
        margin: 0 0 14px !important;
    }
}

/* ============================================================
   PROPERTY CARD - MODERN, CLEAN, PROFESSIONAL
   Replaces the legacy boxy/gray look with an editorial real-estate
   feel: white card, soft shadow, big image with rounded top, refined
   chips, brand-color price, subtle icon row, lift on hover.
   ============================================================ */

/* Card shell */
.gallery-item .listing-item,
section .listing-item {
    background: transparent;
}
.gallery-item .geodir-category-listing,
.listing-item .geodir-category-listing {
    background: #ffffff !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow:
        0 1px 3px rgba(15, 23, 42, 0.04),
        0 4px 16px rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(15, 23, 42, 0.04);
    transition:
        transform 400ms cubic-bezier(.2, .8, .2, 1),
        box-shadow 400ms cubic-bezier(.2, .8, .2, 1),
        border-color 400ms ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.gallery-item:hover .geodir-category-listing,
.listing-item:hover .geodir-category-listing {
    transform: translateY(-6px);
    box-shadow:
        0 6px 16px rgba(15, 23, 42, 0.06),
        0 20px 48px rgba(15, 23, 42, 0.10);
    border-color: rgba(183, 205, 39, 0.25);
}

/* Image area - full bleed top, no gray */
.gallery-item .geodir-category-img,
.listing-item .geodir-category-img {
    position: relative;
    overflow: hidden;
    border-radius: 0 !important;
    /* Soft warm cream while loading - never the harsh gray */
    background: linear-gradient(135deg, #fafbf5 0%, #f6f8eb 100%);
    aspect-ratio: 4 / 3;
    margin: 0 !important;
}
.gallery-item .geodir-category-img > a,
.gallery-item .geodir-category-img .geodir-category-img_item,
.listing-item .geodir-category-img > a,
.listing-item .geodir-category-img .geodir-category-img_item {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.gallery-item .geodir-category-img img,
.listing-item .geodir-category-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
    transition: transform 700ms cubic-bezier(.2, .8, .2, 1);
    will-change: transform;
}
.gallery-item:hover .geodir-category-img img,
.listing-item:hover .geodir-category-img img { transform: scale(1.06); }

/* Soft gradient overlay at the bottom of the image so the white
   location text reads cleanly without darkening the whole image */
.gallery-item .geodir-category-img > .overlay,
.listing-item .geodir-category-img > .overlay,
.gallery-item .geodir-category-img a > .overlay,
.listing-item .geodir-category-img a > .overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 55%,
        rgba(15, 23, 42, 0.35) 100%) !important;
    opacity: 1 !important;
    pointer-events: none;
}
/* Legacy theme sets .geodir-category-img:hover .overlay { opacity:.4 } which
   produces an unwanted gray wash on hover. Keep card hover clean. */
.gallery-item .geodir-category-img:hover .overlay,
.listing-item .geodir-category-img:hover .overlay,
.gallery-item .geodir-category-img_item:hover .overlay,
.listing-item .geodir-category-img_item:hover .overlay {
    opacity: 1 !important;
}

/* -------- List View enhancement (/Property when one-col-grid selected) -----
   The legacy script toggles .has_one_column on each .listing-item.
   We turn that state into a modern horizontal card layout. */
.listing-item.has_one_column {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    background: transparent !important;
    border: 0 !important;
}
.listing-item.has_one_column .geodir-category-listing {
    display: grid !important;
    grid-template-columns: minmax(300px, 38%) 1fr;
    gap: 0;
    border-radius: 16px !important;
}
.listing-item.has_one_column .geodir-category-img {
    aspect-ratio: auto;
    min-height: 245px;
    height: 100%;
}
.listing-item.has_one_column .geodir-category-content {
    padding: 20px 24px !important;
}
.listing-item.has_one_column .geodir-category-content .title-sin_item,
.listing-item.has_one_column .geodir-category-content h2.title-sin_item {
    font-size: 19px !important;
    margin-bottom: 12px !important;
}
.listing-item.has_one_column .geodir-category-content_price {
    font-size: 21px !important;
    margin-bottom: 16px !important;
}
.listing-item.has_one_column .geodir-category-content-details {
    margin-top: auto !important;
    padding-top: 14px !important;
}

/* Keep action buttons on image corners in list mode too */
.listing-item.has_one_column .geodir_save-btn { bottom: 56px !important; top: auto !important; }
.listing-item.has_one_column .compare-btn     { bottom: 12px !important; top: auto !important; }

@media (max-width: 992px) {
    .listing-item.has_one_column .geodir-category-listing {
        grid-template-columns: 1fr;
    }
    .listing-item.has_one_column .geodir-category-img {
        min-height: 220px;
    }
    .listing-item.has_one_column .geodir-category-content {
        padding: 16px 18px !important;
    }
}

/* Unified list-view support for pages that toggle container class instead
   of legacy .has_one_column on each card */
.listing-item-container.aj-list-view .listing-item {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
}
.listing-item-container.aj-list-view .listing-item .geodir-category-listing {
    display: grid !important;
    grid-template-columns: minmax(300px, 38%) 1fr;
    gap: 0 !important;
    border-radius: 16px !important;
}
.listing-item-container.aj-list-view .listing-item .geodir-category-img {
    min-height: 245px !important;
    height: 100% !important;
    width: 100% !important;
    float: none !important;
}
.listing-item-container.aj-list-view .listing-item .geodir-category-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.listing-item-container.aj-list-view .listing-item .geodir-category-content {
    padding: 20px 24px !important;
    width: 100% !important;
    float: none !important;
}
@media (max-width: 992px) {
    .listing-item-container.aj-list-view .listing-item .geodir-category-listing {
        grid-template-columns: 1fr !important;
    }
    .listing-item-container.aj-list-view .listing-item .geodir-category-img {
        min-height: 220px !important;
    }
    .listing-item-container.aj-list-view .listing-item .geodir-category-content {
        padding: 16px 18px !important;
    }
}

/* Location pill at bottom-left of the image */
.gallery-item .geodir-category-location,
.listing-item .geodir-category-location {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 12px;
    z-index: 3;
    color: #ffffff !important;
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0.2px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.gallery-item .geodir-category-location b,
.listing-item .geodir-category-location b {
    font-weight: 500 !important;
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.gallery-item .geodir-category-location i,
.listing-item .geodir-category-location i {
    color: var(--aj-primary, #b7cd27);
}

/* Category chips - top-left, modern pill style */
.gallery-item .list-single-opt_header_cat,
.listing-item .list-single-opt_header_cat {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 4;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.gallery-item .list-single-opt_header_cat li,
.listing-item .list-single-opt_header_cat li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.gallery-item .list-single-opt_header_cat li a.cat-opt,
.listing-item .list-single-opt_header_cat li a.cat-opt {
    display: inline-block;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #ffffff !important;
    background: rgba(15, 23, 42, 0.40) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    line-height: 1.2;
    height: auto !important;
    margin: 0 !important;
}
.gallery-item .list-single-opt_header_cat li a.cat-opt.color-bg,
.listing-item .list-single-opt_header_cat li a.cat-opt.color-bg {
    background: rgba(183, 205, 39, 0.74) !important;
    border-color: rgba(206, 229, 82, 0.82) !important;
}
.gallery-item .list-single-opt_header_cat li a.cat-opt.blue-bg,
.listing-item .list-single-opt_header_cat li a.cat-opt.blue-bg {
    background: rgba(15, 23, 42, 0.48) !important;
}

/* Save / Compare round buttons - top-right */
.gallery-item .geodir_save-btn,
.gallery-item .compare-btn,
.listing-item .geodir_save-btn,
.listing-item .compare-btn,
.gallery-item form > .geodir_save-btn,
.gallery-item form > .compare-btn {
    position: absolute !important;
    z-index: 4;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #878c9f !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: transform 220ms ease, background 220ms ease, color 220ms ease;
    border: none !important;
}
.gallery-item .geodir_save-btn,
.listing-item .geodir_save-btn,
.gallery-item form .geodir_save-btn { top: auto !important; bottom: 56px !important; right: 12px !important; left: auto !important; }
.gallery-item .compare-btn,
.listing-item .compare-btn,
.gallery-item form .compare-btn       { top: auto !important; bottom: 12px !important; right: 12px !important; left: auto !important; }
html[dir="rtl"] .gallery-item .geodir_save-btn,
html[dir="rtl"] .listing-item .geodir_save-btn,
html[dir="rtl"] .gallery-item form .geodir_save-btn { right: auto !important; left: 12px !important; }
html[dir="rtl"] .gallery-item .compare-btn,
html[dir="rtl"] .listing-item .compare-btn,
html[dir="rtl"] .gallery-item form .compare-btn   { left: 12px !important; right: auto !important; }

.gallery-item .geodir_save-btn:hover,
.listing-item .geodir_save-btn:hover {
    background: #ffffff !important;
    color: #ef4444 !important;
    transform: scale(1.08);
}
.gallery-item .compare-btn:hover,
.listing-item .compare-btn:hover {
    background: #ffffff !important;
    color: var(--aj-primary, #b7cd27) !important;
    transform: scale(1.08);
}
.gallery-item .geodir_save-btn span,
.gallery-item .compare-btn span,
.listing-item .geodir_save-btn span,
.listing-item .compare-btn span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.gallery-item .geodir_save-btn i,
.gallery-item .compare-btn i,
.listing-item .geodir_save-btn i,
.listing-item .compare-btn i {
    font-size: 14px;
}

/* Content area - clean typography */
.gallery-item .geodir-category-content,
.listing-item .geodir-category-content {
    background: #ffffff !important;
    padding: 18px 20px 20px !important;
    border-top: none !important;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.gallery-item .geodir-category-content .title-sin_item,
.listing-item .geodir-category-content .title-sin_item,
.gallery-item .geodir-category-content h2.title-sin_item,
.listing-item .geodir-category-content h2.title-sin_item {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 0 8px !important;
    color: #1e293b !important;
    /* clamp to 2 lines so card heights match */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
}
.gallery-item .geodir-category-content .title-sin_item a,
.listing-item .geodir-category-content .title-sin_item a {
    color: #1e293b !important;
    text-decoration: none;
    transition: color 200ms ease;
}
.gallery-item .geodir-category-content .title-sin_item a:hover,
.listing-item .geodir-category-content .title-sin_item a:hover {
    color: var(--aj-primary-dark, #a7bd1b) !important;
}

/* Price - prominent, brand color, restrained */
.gallery-item .geodir-category-content_price,
.listing-item .geodir-category-content_price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--aj-primary-dark, #a7bd1b) !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    line-height: 1.2;
    letter-spacing: 0.2px;
}
.gallery-item .geodir-category-content_price a,
.listing-item .geodir-category-content_price a {
    color: var(--aj-primary-dark, #a7bd1b) !important;
    text-decoration: none;
}

/* Beds / Baths / Area - subtle icon row with thin top divider */
.gallery-item .geodir-category-content-details,
.listing-item .geodir-category-content-details {
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px solid #f1f3f5 !important;
}
.gallery-item .geodir-category-content-details ul,
.listing-item .geodir-category-content-details ul {
    display: flex !important;
    align-items: center;
    gap: 18px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.gallery-item .geodir-category-content-details li,
.listing-item .geodir-category-content-details li {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.gallery-item .geodir-category-content-details i,
.listing-item .geodir-category-content-details i {
    color: var(--aj-primary, #b7cd27) !important;
    font-size: 15px !important;
}
.gallery-item .geodir-category-content-details span,
.listing-item .geodir-category-content-details span {
    color: #334155 !important;
    font-weight: 600;
}

/* Older browsers without aspect-ratio: padding-top fallback */
@supports not (aspect-ratio: 1) {
    .gallery-item .geodir-category-img,
    .listing-item .geodir-category-img {
        height: 0;
        padding-top: 75%; /* 4:3 */
    }
    .gallery-item .geodir-category-img > a,
    .listing-item .geodir-category-img > a { position: absolute; inset: 0; }
}

/* Dark mode support */
body.aj-dark .gallery-item .geodir-category-listing,
body.aj-dark .listing-item .geodir-category-listing {
    background: var(--aj-bg-card, #1e293b) !important;
    border-color: rgba(255, 255, 255, 0.06);
}
body.aj-dark .gallery-item .geodir-category-content,
body.aj-dark .listing-item .geodir-category-content {
    background: var(--aj-bg-card, #1e293b) !important;
}
body.aj-dark .gallery-item .geodir-category-content .title-sin_item a,
body.aj-dark .listing-item .geodir-category-content .title-sin_item a {
    color: #f1f5f9 !important;
}
body.aj-dark .gallery-item .geodir-category-content-details,
body.aj-dark .listing-item .geodir-category-content-details {
    border-top-color: rgba(255, 255, 255, 0.06) !important;
}
body.aj-dark .gallery-item .geodir-category-content-details li,
body.aj-dark .listing-item .geodir-category-content-details li { color: #94a3b8 !important; }
body.aj-dark .gallery-item .geodir-category-content-details span,
body.aj-dark .listing-item .geodir-category-content-details span { color: #e2e8f0 !important; }

/* Full-width, prominent "View All Properties" CTA */
.aj-view-all-wrap {
    display: block;
    width: 100%;
    max-width: 520px;       /* compact: not stretched edge-to-edge */
    margin: 18px auto 4px;
    padding: 0;
    text-align: center;
}
.aj-view-all-wrap .aj-view-all-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px;
    padding: 11px 24px !important;
    margin: 0 !important;
    float: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, var(--aj-primary) 0%, #cee552 50%, var(--aj-primary) 100%) !important;
    background-size: 200% 100% !important;
    color: #ffffff !important;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: 0.2px;
    text-transform: none;
    box-shadow: 0 6px 16px rgba(183, 205, 39, 0.22);
    border: none !important;
    transition: transform var(--aj-transition), box-shadow var(--aj-transition), background-position var(--aj-transition);
    position: relative;
    overflow: hidden;
}
.aj-view-all-wrap .aj-view-all-btn:hover {
    transform: translateY(-2px);
    background-position: 100% 0 !important;
    box-shadow: 0 16px 36px rgba(183, 205, 39, 0.40);
}
.aj-view-all-wrap .aj-view-all-btn:active { transform: translateY(0); }

.aj-view-all-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    transition: transform var(--aj-transition), background var(--aj-transition);
    font-size: 14px;
    line-height: 1;
}
.aj-view-all-wrap .aj-view-all-btn:hover .aj-view-all-arrow {
    background: rgba(255, 255, 255, 0.4);
    transform: translateX(4px);
}
html[dir="rtl"] .aj-view-all-arrow { transform: rotate(180deg); }
html[dir="rtl"] .aj-view-all-wrap .aj-view-all-btn:hover .aj-view-all-arrow {
    transform: rotate(180deg) translateX(4px);
}

/* ---------- 19. SECTION TITLES POLISH (inspired by tenderglobal.com) ---------- */
.section-title {
    margin-bottom: 28px;
}
.section-title h1,
.section-title h2 {
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    margin-bottom: 8px;
    font-weight: 700;
    color: #144273;
    letter-spacing: -0.2px;
    line-height: 1.25;
}
.section-title h1::after,
.section-title h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--aj-primary), #cee552);
}
.section-title.st-center h1::after,
.section-title.st-center h2::after {
    left: 50%;
    transform: translateX(-50%);
}
html[dir="rtl"] .section-title h1::after,
html[dir="rtl"] .section-title h2::after { left: auto; right: 0; }
html[dir="rtl"] .section-title.st-center h1::after,
html[dir="rtl"] .section-title.st-center h2::after { right: 50%; transform: translateX(50%); }

.section-title h3 {
    color: var(--aj-text-muted);
    font-weight: 400;
    margin-top: 6px;
}

body.aj-dark .section-title h1,
body.aj-dark .section-title h2 { color: #f1f5f9; }

/* ---------- 20. ABOUT SECTION POLISH ---------- */
.about-wrap .about-img {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.12);
    transition: transform var(--aj-transition), box-shadow var(--aj-transition);
}
.about-wrap .about-img:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.18);
}
.about-wrap .about-img img {
    border-radius: 18px;
    transition: transform 600ms cubic-bezier(.2, .8, .2, 1);
}
.about-wrap .about-img:hover img { transform: scale(1.03); }

/* Floating logo badge inside the about image */
.about-wrap .about-img-hotifer {
    position: absolute;
    right: 20px;
    bottom: 20px;
    background: rgba(255, 255, 255, 0.95);
    padding: 14px 20px;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
html[dir="rtl"] .about-wrap .about-img-hotifer { right: auto; left: 20px; }

.about-wrap .about-title h2 {
    font-size: 30px;
    font-weight: 700;
    color: #144273;
    margin-bottom: 14px;
    line-height: 1.25;
}
.about-wrap .about-title p {
    font-size: 15px;
    color: var(--aj-text-muted);
    line-height: 1.7;
}

/* ---------- 21. PROPERTY-TYPE CAROUSEL POLISH (Explore Realestate Types) ---------- */
.half-carousel-wrap {
    border-radius: 18px;
    overflow: hidden;
}
.half-carousel-item {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    transition: transform var(--aj-transition);
}
.half-carousel-item:hover { transform: translateY(-4px); }
.half-carousel-item .bg {
    transition: transform 800ms cubic-bezier(.2, .8, .2, 1), filter 600ms ease;
    filter: saturate(1.05);
}
.half-carousel-item:hover .bg { transform: scale(1.06); filter: saturate(1.15); }
.half-carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.55) 100%);
    pointer-events: none;
    z-index: 1;
}
.half-carousel-item .half-carousel-content {
    position: absolute;
    bottom: 18px;
    left: 18px;
    right: 18px;
    z-index: 2;
}
.half-carousel-item .half-carousel-content h3 a {
    color: #fff;
    font-weight: 700;
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.half-carousel-item .hc-counter {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 6px;
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.4);
}

.half-carousel-title.color-bg {
    border-radius: 0 18px 18px 0;
    background: linear-gradient(135deg, var(--aj-primary), #cee552, var(--aj-primary)) !important;
    background-size: 200% 100% !important;
    animation: aj-shine 8s ease-in-out infinite;
}
html[dir="rtl"] .half-carousel-title.color-bg { border-radius: 18px 0 0 18px; }
@keyframes aj-shine {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}

/* ---------- 22. AGENT CARDS POLISH ---------- */
section#Agent .listing-item {
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
    transition: transform var(--aj-transition), box-shadow var(--aj-transition);
}
section#Agent .listing-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}
section#Agent .geodir-category-img.agent_card { padding: 8px; }
section#Agent .geodir-category-img.agent_card img {
    border-radius: 12px;
    transition: transform 600ms cubic-bezier(.2, .8, .2, 1), filter 300ms ease;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
section#Agent .listing-item:hover .geodir-category-img.agent_card img {
    transform: scale(1.04);
    filter: saturate(1.08);
}
section#Agent .agent_card-title {
    padding: 6px 12px 14px;
    text-align: center;
}
section#Agent .agent_card-title h3 a {
    color: #144273;
    font-weight: 700;
    font-size: 16px;
}
section#Agent .agent_card-title h4 a {
    color: var(--aj-text-muted);
    font-weight: 500;
    font-size: 13px;
}

body.aj-dark section#Agent .listing-item { background: var(--aj-bg-card); }
body.aj-dark section#Agent .agent_card-title h3 a { color: #f1f5f9; }

/* ---------- 23. APPRAISAL CTA SECTION POLISH ---------- */
.single-par2 {
    position: relative;
}
.single-par2 .bg-wrap.bg-parallax-wrap-gradien::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 30%, rgba(183, 205, 39, 0.25), transparent 45%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.75));
    z-index: 1;
}
.single-par2 .container { position: relative; z-index: 3; }
.single-par2 .section-title h2 span {
    color: #ffffff;
    font-size: 36px;
    font-weight: 800;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.single-par2 .section-title h3 {
    color: #f1f5f9;
    font-weight: 400;
    font-size: 16px;
    margin-bottom: 22px;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.single-par2 .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--aj-primary), #cee552) !important;
    box-shadow: 0 10px 26px rgba(183, 205, 39, 0.45);
    transition: transform var(--aj-transition), box-shadow var(--aj-transition);
}
.single-par2 .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(183, 205, 39, 0.55);
}

/* ---------- 24. TESTIMONIALS POLISH ---------- */
.testimonials-slider .text-carousel-item {
    background: #ffffff;
    border-radius: 16px;
    padding: 32px 28px 26px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
    position: relative;
    transition: transform var(--aj-transition), box-shadow var(--aj-transition);
    margin: 12px;
}
.testimonials-slider .text-carousel-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
}
.testimonials-slider .text-carousel-item::before {
    content: "\201C";   /* opening quote mark */
    position: absolute;
    top: 6px;
    right: 18px;
    font-family: Georgia, serif;
    font-size: 80px;
    line-height: 1;
    color: var(--aj-primary-soft);
    font-weight: 700;
    pointer-events: none;
}
html[dir="rtl"] .testimonials-slider .text-carousel-item::before { right: auto; left: 18px; }
.testimonials-slider .popup-avatar img {
    border-radius: 50%;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.15);
    border: 3px solid #ffffff;
    width: 76px !important;
    height: 76px !important;
    object-fit: cover;
}
.testimonials-slider .review-owner {
    margin-top: 10px;
    font-weight: 700;
    color: #144273;
    font-size: 15px;
}
body.aj-dark .testimonials-slider .text-carousel-item { background: var(--aj-bg-card); }
body.aj-dark .testimonials-slider .review-owner { color: #f1f5f9; }

/* ---------- 25. CREATIVE LOADER (light, modern, FAST) ----------
   Light cream background with the brand olive green.
   Total wall time before the site fades it out: ~1.0-1.2s.
   Hidden on subsequent navigations in the same tab session. */
.loader-wrap.aj-brand-loader {
    background:
        radial-gradient(circle at 30% 30%, rgba(183, 205, 39, 0.10), transparent 55%),
        radial-gradient(circle at 70% 70%, rgba(183, 205, 39, 0.06), transparent 60%),
        #fafbf5 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    inset: 0;
    overflow: hidden;
    z-index: 99999;
}
/* Explicit hidden state so JS can take it out of the flow.
   Using a class beats inline style precedence vs. legacy theme rules. */
.loader-wrap.aj-brand-loader.aj-loader-hidden,
.loader-wrap.aj-brand-loader[hidden] {
    display: none !important;
    pointer-events: none !important;
}
.loader-wrap.aj-brand-loader .loader-inner { display: none !important; }

/* Soft white shapes (parallax-style) - simple, calm, no spinning.
   They sit BEHIND the logo / texts (z-index 0) so the brand stays focused. */
.aj-loader-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    animation: aj-loader-shape-in 380ms 60ms ease-out forwards;
}
.aj-loader-shape-1 {
    top: -140px;
    right: -120px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, #ffffff 0%, rgba(255, 255, 255, 0.6) 45%, transparent 75%);
    box-shadow: 0 0 60px rgba(183, 205, 39, 0.10);
}
.aj-loader-shape-2 {
    bottom: -120px;
    left: -100px;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.45) 50%, transparent 75%);
}
.aj-loader-shape-3 {
    top: 50%;
    left: 50%;
    width: 480px;
    height: 480px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, transparent 55%, rgba(255, 255, 255, 0.55) 60%, transparent 65%);
    border-radius: 50%;
    animation-delay: 120ms;
}
@keyframes aj-loader-shape-in {
    from { opacity: 0; transform: translate(0, 12px) scale(0.96); }
    to   { opacity: 1; transform: translate(0, 0)     scale(1);    }
}
.aj-loader-shape-3 {
    animation-name: aj-loader-shape-in-center;
}
@keyframes aj-loader-shape-in-center {
    from { opacity: 0; transform: translate(-50%, -50%) scale(0.92); }
    to   { opacity: 1; transform: translate(-50%, -50%) scale(1);    }
}
/* Mirror RTL so shapes still feel balanced */
html[dir="rtl"] .aj-loader-shape-1 { right: auto; left: -120px; }
html[dir="rtl"] .aj-loader-shape-2 { left: auto;  right: -100px; }
/* Make sure all loader content sits above the shapes */
.loader-wrap.aj-brand-loader > .aj-brand-loader-stage,
.loader-wrap.aj-brand-loader > .aj-brand-loader-name,
.loader-wrap.aj-brand-loader > .aj-brand-loader-since,
.loader-wrap.aj-brand-loader > .aj-brand-loader-bar {
    position: relative;
    z-index: 1;
}

/* Logo stage - centered, no ring (the logo IS the brand) */
.aj-brand-loader-stage {
    position: relative;
    width: 96px;
    height: 96px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Larger stage variant used when the loader contains ONLY the logo */
.aj-brand-loader-stage-lg {
    width: auto;
    height: auto;
    max-width: 280px;
    margin-bottom: 18px;
}
.aj-brand-loader-stage-lg::before { display: none; }
.aj-brand-loader-logo-lg {
    width: 240px;
    max-width: 65vw;
    height: auto;
    animation: aj-loader-pulse 1100ms ease-in-out infinite;
}
.aj-brand-loader-stage::before {
    content: "";
    position: absolute;
    inset: -6px;
    border: 3px solid rgba(183, 205, 39, 0.18);
    border-top-color: var(--aj-primary);
    border-right-color: var(--aj-primary-dark);
    border-radius: 50%;
    animation: aj-loader-spin 700ms linear infinite;
}
@keyframes aj-loader-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.aj-brand-loader-logo {
    width: 70px;
    height: auto;
    filter: drop-shadow(0 2px 6px rgba(15, 23, 42, 0.10));
    animation: aj-loader-pulse 1100ms ease-in-out infinite;
}
@keyframes aj-loader-pulse {
    0%, 100% { transform: scale(0.96); opacity: 0.92; }
    50%      { transform: scale(1.04); opacity: 1; }
}

/* ---- Brand name lines ---- */
.aj-brand-loader-name {
    color: #1f2a0f;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    opacity: 0;
    animation: aj-loader-tagline 700ms 80ms ease-out forwards;
}
.aj-brand-loader-name-en {
    font-size: 16px;
    letter-spacing: 0.5px;
    margin-top: 4px;
}
.aj-brand-loader-name-ar {
    font-size: 17px;
    color: #2a3614;
    margin-top: 2px;
    margin-bottom: 8px;
    font-family: "Tajawal", "Cairo", sans-serif;
    animation-delay: 140ms;
}
/* In Arabic UI hide the EN name; in any other UI hide the AR name. */
html[lang^="ar"] .aj-brand-loader-name-en,
html[dir="rtl"]  .aj-brand-loader-name-en { display: none; }
html:not([lang^="ar"]):not([dir="rtl"]) .aj-brand-loader-name-ar { display: none; }

/* ---- "Since 1950" small chip ---- */
.aj-brand-loader-since {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--aj-primary-dark, #a7bd1b);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 4px;
    margin: 4px 0 14px;
    opacity: 0;
    animation: aj-loader-tagline 700ms 220ms ease-out forwards;
}
.aj-since-line {
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--aj-primary, #b7cd27));
}
.aj-brand-loader-since .aj-since-line:last-child {
    background: linear-gradient(90deg, var(--aj-primary, #b7cd27), transparent);
}
.aj-brand-loader-since .aj-since-text {
    color: #5a6b1f;
}

/* Legacy single-line tagline (kept for back-compat) */
.aj-brand-loader-tagline {
    color: #5a6b1f;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 14px;
    opacity: 0;
    animation: aj-loader-tagline 700ms 100ms ease-out forwards;
}
@keyframes aj-loader-tagline {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 0.9; transform: translateY(0); }
}

.aj-brand-loader-bar {
    position: relative;
    width: 140px;
    height: 2px;
    background: rgba(183, 205, 39, 0.16);
    border-radius: 999px;
    overflow: hidden;
}
.aj-brand-loader-bar::before {
    content: "";
    position: absolute;
    top: 0;
    left: -40%;
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg, transparent, var(--aj-primary), var(--aj-primary-dark), transparent);
    animation: aj-loader-bar 700ms cubic-bezier(.5, 0, .5, 1) infinite;
}
@keyframes aj-loader-bar {
    0%   { left: -40%; }
    100% { left: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .aj-brand-loader-stage::before,
    .aj-brand-loader-logo,
    .aj-brand-loader-tagline,
    .aj-brand-loader-name,
    .aj-brand-loader-since,
    .aj-brand-loader-bar::before {
        animation: none !important;
    }
    .aj-brand-loader-tagline,
    .aj-brand-loader-name,
    .aj-brand-loader-since { opacity: 1; }
}

/* ---------- 25b. FOOTER BRAND BLOCK ----------
   Transparent logo — no card, no white box, just the PNG. */
.aj-footer-brand {
    display: inline-block;
    background: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 0 14px;
}
.aj-footer-brand img {
    max-width: 160px;
    width: 100%;
    height: auto;
    display: block;
    box-shadow: none !important;
    filter: none !important;
    background: transparent !important;
    opacity: 1;
}
footer.main-footer .footer-widget-logo.aj-footer-brand {
    margin-inline: auto 0;
    background: transparent !important;
}
html[dir="rtl"] footer.main-footer .footer-widget-logo.aj-footer-brand {
    margin-inline: 0 auto;
}

/* Dark mode: slightly lighten logo so it reads against dark bg */
body.aj-dark .aj-footer-brand img {
    filter: brightness(1.1) !important;
}

/* ---------- 25c. HEADER LOGO COMPACT (inline with nav) ---------- */
header.main-header .logo-holder {
    position: relative;
    z-index: 40;
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    top: 12px !important;
    height: auto !important;
}
header.main-header .logo-holder img {
    transition: transform 0.2s ease !important;
    filter: none !important;
    max-height: 48px !important;
    height: 48px !important;
    width: auto !important;
    display: block;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 4px;
}
header.main-header .logo-holder a:hover img {
    transform: scale(1.04) !important;
    filter: none !important;
}
@media (max-width: 992px) {
    header.main-header .logo-holder {
        top: 10px !important;
    }
    header.main-header .logo-holder img { max-height: 42px !important; height: 42px !important; }
}
@media (max-width: 600px) {
    header.main-header .logo-holder {
        top: 8px !important;
    }
    header.main-header .logo-holder img { max-height: 36px !important; height: 36px !important; }
}

/* ---------- 25d. NAV "HOME" with leading icon ---------- */
.aj-nav-home {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
}
.aj-nav-icon {
    color: var(--aj-primary, #b7cd27);
    font-size: 0.95em;
    line-height: 1;
    transition: color 200ms ease;
}
.aj-nav-home:hover .aj-nav-icon {
    color: var(--aj-primary-dark, #a7bd1b);
}

/* ---------- 25f. PROPERTY LISTING - RESULTS HEADER ----------
   Clean modern label/count panel above the property grid on /Property. */
.aj-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 0;
    padding: 0 0 14px;
    margin: 0 0 16px;
    box-shadow: none;
    flex-wrap: wrap;
}
/* ensure no duplicate legacy title strip is shown */
.aj-results-header + .list-main-wrap-header {
    display: none !important;
}
.aj-results-header-left { flex: 1 1 320px; min-width: 0; }
.aj-results-eyebrow {
    display: none;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--aj-primary-dark, #a7bd1b);
    margin-bottom: 4px;
}
.aj-results-title {
    margin: 0 !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #878c9f !important;
    line-height: 1.25;
    letter-spacing: 0;
}
.aj-results-sub {
    margin: 4px 0 0 !important;
    color: #64748b;
    font-size: 13.5px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.aj-results-count strong {
    color: #878c9f;
    font-weight: 700;
    margin-right: 4px;
}
.aj-results-page { color: #94a3b8; }

.aj-results-viewtoggle ul {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;

    border-radius: 10px;
    padding: 4px;
}
.aj-results-viewtoggle li { margin: 0 !important; padding: 0 !important; list-style: none; }
.aj-results-viewtoggle span {
    display: inline-flex;
    width: 36px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    color: #64748b;
    transition: background 200ms ease, color 200ms ease;
}

@media (max-width: 600px) {
    .aj-results-header { padding: 0 0 12px; }
    .aj-results-title { font-size: 24px !important; }
}

body.aj-dark .aj-results-header { background: transparent; border-color: rgba(255, 255, 255, 0.12); }
body.aj-dark .aj-results-title  { color: #f1f5f9 !important; }
body.aj-dark .aj-results-sub    { color: #94a3b8; }
body.aj-dark .aj-results-count strong { color: #e2e8f0; }
body.aj-dark .aj-results-viewtoggle ul { background: rgba(255, 255, 255, 0.05); }
body.aj-dark .aj-results-viewtoggle span.act-grid-opt { background: var(--aj-bg, #878c9f); }

/* ---------- 25g. HOMEPAGE APPRAISAL CTA ENHANCEMENT ----------
   Lift the existing .single-par2 "Real estate Appraising Services" section:
   bigger title, gold-stamp accent line, refined CTA, decorative numbers. */
.single-par2 .section-title { position: relative; z-index: 5; }
.single-par2 .section-title h2 {
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: #ffffff !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.4px;
    text-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}
.single-par2 .section-title h2 span {
    background: linear-gradient(120deg, #ffffff 0%, #cee552 60%, #ffffff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
            background-clip: text;
                    color: transparent;
}
.single-par2 .section-title h3 {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.86) !important;
    margin: 0 auto 22px !important;
    max-width: 620px;
    line-height: 1.6 !important;
    letter-spacing: 0.2px;
}
/* Pre-title eyebrow injected via CSS pseudo so we don't change the markup */
.single-par2 .section-title::before {
    content: "EST 1950 \00B7 CERTIFIED APPRAISERS";
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 4px;
    color: #cee552;
    margin-bottom: 14px;
    padding: 6px 14px;
    background: rgba(183, 205, 39, 0.15);
    border: 1px solid rgba(183, 205, 39, 0.45);
    border-radius: 999px;
}
html[lang^="ar"] .single-par2 .section-title::before {
    content: "\062E\0628\0631\0627\0621 \0645\0639\062A\0645\062F\0648\0646  \00B7  \0645\0646\0630 1950";
    /* "خبراء معتمدون · منذ 1950" */
}

/* Refined CTA button - bigger, gradient, with arrow */
.single-par2 .section-title a.btn,
.single-par2 a.btn.color-bg {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 14px 32px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px;
    background: linear-gradient(135deg, var(--aj-primary, #b7cd27) 0%, #cee552 100%) !important;
    color: #878c9f !important;
    border: none !important;
    box-shadow:
        0 8px 22px rgba(183, 205, 39, 0.40),
        0 0 0 0 rgba(255, 255, 255, 0);
    transition: transform 250ms ease, box-shadow 250ms ease, background 250ms ease;
    position: relative;
    overflow: hidden;
}
.single-par2 .section-title a.btn::after,
.single-par2 a.btn.color-bg::after {
    content: "\2192";   /* → */
    font-size: 16px;
    transition: transform 250ms ease;
}
html[dir="rtl"] .single-par2 .section-title a.btn::after,
html[dir="rtl"] .single-par2 a.btn.color-bg::after { content: "\2190"; }
.single-par2 .section-title a.btn:hover,
.single-par2 a.btn.color-bg:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(183, 205, 39, 0.55);
    color: #878c9f !important;
}
.single-par2 .section-title a.btn:hover::after,
.single-par2 a.btn.color-bg:hover::after { transform: translateX(4px); }
html[dir="rtl"] .single-par2 .section-title a.btn:hover::after,
html[dir="rtl"] .single-par2 a.btn.color-bg:hover::after { transform: translateX(-4px); }

/* Add three "value props" beneath the CTA via CSS counter pseudo */
.single-par2 .section-title::after {
    content: "";
    display: block;
    height: 1px;
    width: 80px;
    margin: 18px auto 0;
    background: linear-gradient(90deg, transparent, rgba(206, 229, 82, 0.6), transparent);
}

/* ---------- 25e. HIDE ANY LEFTOVER THEME TOGGLE ----------
   Per request: dark/light mode toggle removed from the UI. */
.aj-theme-toggle,
.aj-header-toggle,
button.aj-theme-toggle,
button.aj-header-toggle {
    display: none !important;
}

/* ---------- 26. UNIVERSAL IMAGE FALLBACK ----------
   Applied to ALL <img> elements via JS.
   When an image 404s or its src is empty, we swap it with a clean
   light-gray placeholder. */
img.aj-img-fallback,
img[data-aj-fallback="1"] {
    background: #eef0f3 url("/Content/SiteEn/images/aj-placeholder.png") center / 50% no-repeat;
    object-fit: cover;
    color: transparent;
    min-height: 80px;
}
/* While an image is still loading, give it a soft grey background so we never
   see the broken-image icon flash, even before our JS attaches. */
img:not([src]),
img[src=""],
img[src*="undefined"],
img[src*="null"] {
    background: #eef0f3 url("/Content/SiteEn/images/aj-placeholder.png") center / 50% no-repeat;
    color: transparent;
    min-height: 80px;
}
/* Subtle fade-in when the real image swaps to placeholder */
img.aj-img-fallback {
    animation: aj-img-fade 320ms ease both;
}
@keyframes aj-img-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* For CSS background-image hosts (e.g. .bg with data-bg) we add this class
   when the underlying URL fails. */
.aj-bg-fallback {
    background-image: url("/Content/SiteEn/images/aj-placeholder.png") !important;
    background-color: #eef0f3 !important;
    background-size: 240px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* When an <img> is currently showing the placeholder PNG itself
   (either set inline via onerror, or by aj-img-fallback JS), display it
   contained inside a light-gray frame instead of cover-cropping. This
   keeps the centered icon crisp and avoids ugly stretching across any
   card / hero / tile size. */
img[src$="/aj-placeholder.png"],
img.aj-img-fallback[src$="/aj-placeholder.png"] {
    object-fit: contain !important;
    background-color: #eef0f3 !important;
    background-image: none !important;
    padding: 0 !important;
}
img[src$="/aj-placeholder.png"]:hover,
img.aj-img-fallback[src$="/aj-placeholder.png"]:hover {
    background-color: #e6e9ee !important;
    transform: none !important;
}

/* ---------- 27a. HALF-CAROUSEL UNIFIED LOOK ----------
   All slides share one image (set via JS) + a brand-olive duotone overlay
   so the carousel reads as a cohesive family rather than a random grid. */
.aj-hc-wrap .half-carousel-item .bg-wrap.bg-parallax-wrap-gradien::after,
.aj-hc-wrap .half-carousel-item .bg-wrap.bg-parallax-wrap-gradien::before {
    /* keep existing dark-vignette overlay from theme */
}
.aj-hc-wrap .half-carousel-item .bg.aj-hc-unified {
    /* gentle zoom-in on hover for life */
    transition: transform 0.9s ease, filter 0.6s ease;
    filter: saturate(0.85) contrast(1.02);
}
.aj-hc-wrap .half-carousel-item:hover .bg.aj-hc-unified {
    transform: scale(1.06);
    filter: saturate(1.05) contrast(1.06);
}
/* The brand duotone: a translucent olive-green wash on every tile so
   different lighting in source images disappears and the row feels uniform. */
.aj-hc-wrap .half-carousel-item .bg-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(160deg,
            rgba(13, 28, 12, 0.55)   0%,
            rgba(36, 54, 14, 0.40)  45%,
            rgba(183, 205, 39, 0.28) 100%);
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: multiply;
}
/* Make sure the title chip + counter stay fully readable above the wash */
.aj-hc-wrap .half-carousel-item .half-carousel-content {
    z-index: 3;
}
.aj-hc-wrap .half-carousel-item .hc-counter {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
/* Soft brand outline appears on hover */
.aj-hc-wrap .half-carousel-item {
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.35s ease;
}
.aj-hc-wrap .half-carousel-item:hover {
    box-shadow: 0 16px 40px rgba(183, 205, 39, 0.28);
}

/* ---------- 27. PARALLAX SECTION DECORATIVE SHAPES ----------
   Adds floating brand-color geometric shapes to .single-par, .single-par2,
   and any element with .aj-parallax-shapes (we tag candidates from JS).
   All shapes are pointer-events:none so they don't interfere with clicks. */
.single-par2,
.single-par,
.parallax-section,
.aj-parallax-shapes {
    position: relative;
    overflow: hidden;
}

/* Big radial orb - top right */
.single-par2::before,
.single-par::before,
.aj-parallax-shapes::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(183, 205, 39, 0.30) 0%, rgba(183, 205, 39, 0.10) 45%, transparent 70%);
    z-index: 2;
    pointer-events: none;
    animation: aj-shape-float-a 14s ease-in-out infinite;
    filter: blur(2px);
}
html[dir="rtl"] .single-par2::before,
html[dir="rtl"] .single-par::before,
html[dir="rtl"] .aj-parallax-shapes::before {
    right: auto;
    left: -120px;
}

/* Hollow ring - bottom left */
.single-par2::after,
.single-par::after,
.aj-parallax-shapes::after {
    content: "";
    position: absolute;
    bottom: -100px;
    left: 6%;
    width: 260px;
    height: 260px;
    border: 2px solid rgba(183, 205, 39, 0.40);
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
    animation: aj-shape-float-b 18s ease-in-out infinite;
    background: radial-gradient(circle, transparent 62%, rgba(183, 205, 39, 0.05) 100%);
}
html[dir="rtl"] .single-par2::after,
html[dir="rtl"] .single-par::after,
html[dir="rtl"] .aj-parallax-shapes::after {
    left: auto;
    right: 6%;
}

/* Extra mid-band rotating diamonds + dot grid via inline SVG container */
.aj-parallax-deco {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    color: rgba(183, 205, 39, 0.35);
}
.aj-parallax-deco-tl { top: 8%;  left: 6%;  width: 80px;  height: 80px; animation: aj-shape-spin 22s linear infinite; }
.aj-parallax-deco-br { bottom: 12%; right: 8%; width: 110px; height: 110px; animation: aj-shape-spin 28s linear infinite reverse; }
html[dir="rtl"] .aj-parallax-deco-tl { left: auto; right: 6%; }
html[dir="rtl"] .aj-parallax-deco-br { right: auto; left: 8%; }

@keyframes aj-shape-float-a {
    0%,   100% { transform: translate(0, 0)        scale(1);   }
    33%        { transform: translate(-22px, 18px) scale(1.06); }
    66%        { transform: translate(14px, -14px) scale(0.96); }
}
@keyframes aj-shape-float-b {
    0%,   100% { transform: translate(0, 0)        rotate(0deg);   }
    50%        { transform: translate(18px, -18px) rotate(35deg);  }
}
@keyframes aj-shape-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Make sure the section contents render ABOVE the shapes */
.single-par2 .container,
.single-par .container,
.aj-parallax-shapes > .container {
    position: relative;
    z-index: 5;
}

/* The dark gradient overlay defined in section 23 must sit BELOW the shapes
   (z-index already 1 there, shapes are 2 - good). */

@media (prefers-reduced-motion: reduce) {
    .single-par2::before, .single-par2::after,
    .single-par::before,  .single-par::after,
    .aj-parallax-shapes::before, .aj-parallax-shapes::after,
    .aj-parallax-deco { animation: none !important; }
}

/* ---------- 28. PRINT + A11Y ---------- */
@media print {
    .main-header, footer, .header-modal, .scroll-nav-wrap, .listing-carousel-wrapper,
    .breadcrumbs, .aj-theme-toggle, .aj-header-toggle, .aj-progress,
    .aj-loadmore-wrap, .aj-lang-dropdown, .aj-view-all-wrap,
    .loader-wrap, .compare-top-btn, .like-btn, .share-holder { display: none !important; }
    body { background: #ffffff !important; color: #000000 !important; }
    .gallery-items { page-break-inside: avoid; }
    .list-single-main-wrapper { box-shadow: none !important; }
}

a:focus-visible, button:focus-visible, [role="button"]:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--aj-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ============================================================================
   29. PROPERTY LISTING GRID (aj-listing-grid)
   ----------------------------------------------------------------------------
   Replaces the legacy vertical stack on /Property and similar listings with
   a proper responsive grid (CSS Grid).

   Equivalent of MUI <Grid container spacing={3}> with Card / CardMedia /
   CardContent layout, rendered with the existing .geodir-* markup so
   no controller/JS logic changes are required.

     - 1 column on mobile, 2 columns on tablet+ (>= 768px)
     - Equal-height cards (display: flex; height: 100%)
     - Pagination spans the whole row at the bottom
     - Image is a strict 4:3 CardMedia with object-fit: cover
     - Missing/broken image -> graceful fallback (no broken-image icon)
     - RTL-safe (mirrors content direction; nothing pinned with left/right
       inside the content area)
   ============================================================================ */

.listing-item-container.aj-listing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: stretch;
    padding: 0 !important;
    margin: 0 0 24px !important;
    background: transparent !important;
    border: 0 !important;
}
@media (min-width: 768px) {
    .listing-item-container.aj-listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }
}
@media (min-width: 1400px) {
    .listing-item-container.aj-listing-grid {
        gap: 32px;
    }
}

/* Pagination row spans full width at the bottom of the grid */
.listing-item-container.aj-listing-grid > .pagination,
.listing-item-container.aj-listing-grid > nav,
.listing-item-container.aj-listing-grid > .PagedList-pager {
    grid-column: 1 / -1;
    justify-self: center;
    margin-top: 8px;
}

/* Each grid cell stretches; the inner article fills it -> equal heights */
.listing-item-container.aj-listing-grid > .listing-item {
    display: flex;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
.listing-item-container.aj-listing-grid > .listing-item > .geodir-category-listing {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    height: 100%;
    border-radius: var(--aj-radius, 12px);
    overflow: hidden;
    background: var(--aj-bg-card, #ffffff);
    box-shadow: var(--aj-shadow, 0 4px 12px rgba(15, 23, 42, 0.06));
    border: 1px solid var(--aj-border, #e5e7eb);
    transition: transform var(--aj-transition, 280ms ease),
                box-shadow var(--aj-transition, 280ms ease);
}
.listing-item-container.aj-listing-grid > .listing-item > .geodir-category-listing:hover {
    transform: translateY(-3px);
    box-shadow: var(--aj-shadow-hover, 0 12px 28px rgba(15, 23, 42, 0.14));
}

/* CardMedia (image area) - fixed 4:3 ratio, no inline height overrides */
.listing-item-container.aj-listing-grid .geodir-category-img {
    flex: 0 0 auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    position: relative;
}
.listing-item-container.aj-listing-grid .geodir-category-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
}

/* CardMedia fallback - shown when item.Image is null/empty OR onerror fires */
.listing-item-container.aj-listing-grid .geodir-category-img.aj-card-media--empty {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}
.listing-item-container.aj-listing-grid .geodir-category-img.aj-card-media--empty img {
    display: none !important;
}
.listing-item-container.aj-listing-grid .aj-card-media-fallback {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(15, 23, 42, 0.18);
    font-size: 64px;
    text-decoration: none;
}
.listing-item-container.aj-listing-grid .geodir-category-img:not(.aj-card-media--empty) .aj-card-media-fallback {
    display: none !important;
}

/* CardContent - flex column, pushes the bed/bath/area row to the bottom
   so titles of varying length never make cards uneven */
.listing-item-container.aj-listing-grid .geodir-category-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 20px 22px !important;
    background: var(--aj-bg-card, #ffffff);
}
.listing-item-container.aj-listing-grid .geodir-category-content .title-sin_item {
    margin: 0 0 10px !important;
    min-height: 2.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.listing-item-container.aj-listing-grid .geodir-category-content .geodir-category-content_price {
    margin-bottom: 14px !important;
}
.listing-item-container.aj-listing-grid .geodir-category-content-details {
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--aj-border, #e5e7eb);
}

/* Location pill on the image - readable on both light + dark backgrounds */
.listing-item-container.aj-listing-grid .geodir-category-location b {
    color: #ffffff !important;
}

/* RTL support - the grid is symmetrical; we just normalise the content
   alignment, since some legacy inline styles assume LTR. */
html[dir="rtl"] .listing-item-container.aj-listing-grid .geodir-category-content,
[dir="rtl"] .listing-item-container.aj-listing-grid .geodir-category-content {
    text-align: right;
}
html[dir="rtl"] .listing-item-container.aj-listing-grid .geodir-category-content-details ul,
[dir="rtl"] .listing-item-container.aj-listing-grid .geodir-category-content-details ul {
    padding-right: 0;
}

/* List-view (one column) override stays compatible with this grid */
.listing-item-container.aj-listing-grid > .listing-item.has_one_column {
    grid-column: 1 / -1;
}

/* Smaller phones - tighten paddings */
@media (max-width: 480px) {
    .listing-item-container.aj-listing-grid {
        gap: 18px;
    }
    .listing-item-container.aj-listing-grid .geodir-category-content {
        padding: 16px 16px !important;
    }
}

/* Dark mode tokens already defined in section 1 cascade naturally */
body.aj-dark .listing-item-container.aj-listing-grid > .listing-item > .geodir-category-listing {
    background: var(--aj-bg-card) !important;
    border-color: rgba(255, 255, 255, 0.06);
}
body.aj-dark .listing-item-container.aj-listing-grid .geodir-category-content {
    background: var(--aj-bg-card) !important;
}
body.aj-dark .listing-item-container.aj-listing-grid .geodir-category-img.aj-card-media--empty {
    background: linear-gradient(135deg, #1e293b 0%, #878c9f 100%);
}
body.aj-dark .listing-item-container.aj-listing-grid .aj-card-media-fallback {
    color: rgba(241, 245, 249, 0.18);
}

/* ============================================================================
   30. SCROLL-NAV + SECONDARY-NAV restoration
   ----------------------------------------------------------------------------
   The legacy theme stylesheet hides BOTH panels with:
       @media (max-width: 1070px) { .scroll-nav, .secondary-nav { display:none } }
   That breakpoint is too aggressive (covers most laptops). We restore them
   from 768px upwards (tablet + desktop) and only hide them on real phones.

   Also: legacy CSS pins .scroll-nav-wrap / .scroll-nav with `left: 0`, which
   in RTL pages places the panel on the wrong side of the content column.
   We mirror the position in RTL.
   ============================================================================ */

/* Restore visibility on tablet/laptop (>= 768px). Phones still get them
   hidden by the legacy rule, which is the right behaviour. */
@media (min-width: 768px) {
    .scroll-nav,
    .secondary-nav {
        display: block !important;
    }
}

/* RTL mirror for the section scroll nav on /Property/Details
   (and any other page that uses .scroll-nav-wrap). */
html[dir="rtl"] .scroll-nav-wrap,
html[dir="rtl"] .scroll-nav,
[dir="rtl"] .scroll-nav-wrap,
[dir="rtl"] .scroll-nav {
    left: auto !important;
    right: 0 !important;
}
html[dir="rtl"] .scroll-nav li span,
[dir="rtl"] .scroll-nav li span {
    left: auto !important;
    right: 100%;
    border-radius: 4px 0 0 4px;
}

/* secondary-nav floats at the right edge in LTR. In RTL it should float
   at the left edge. The legacy CSS uses `right: -120px` (hidden) and
   `vis_secnav { right: 0 }` (visible). Mirror to left in RTL. */
html[dir="rtl"] .secondary-nav,
[dir="rtl"] .secondary-nav {
    right: auto !important;
    left: -120px !important;
    border-right: 1px solid #eee !important;
    border-left: none !important;
    border-radius: 0 6px 6px 0 !important;
}
html[dir="rtl"] .secondary-nav.vis_secnav,
[dir="rtl"] .secondary-nav.vis_secnav {
    right: auto !important;
    left: 0 !important;
}
html[dir="rtl"] .secondary-nav .tolt[data-microtip-position="left"],
[dir="rtl"] .secondary-nav .tolt[data-microtip-position="left"] {
    /* swap the microtip tooltip side so it doesn't render off-screen */
    direction: ltr;
}

/* Make the scroll-nav active (act-scrlink) item use the brand colour
   so it's clearly visible against the white panel. */
.scroll-nav li a.act-scrlink {
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
}

/* Subtle hover for non-active items */
.scroll-nav li a:hover {
    color: var(--aj-primary, #b7cd27);
    background: rgba(183, 205, 39, 0.08);
}
.secondary-nav li a:hover {
    color: var(--aj-primary, #b7cd27);
    background: rgba(183, 205, 39, 0.08);
}

/* ============================================================================
   31. HEADER ICON SAFETY-NET
   ----------------------------------------------------------------------------
   The legacy markup uses `fal` (Pro Light) for the header icons (globe,
   bell, plus, random). Some FA builds don't ship Light, so they render as
   blank squares. Force these specific icons to use the FA Free Solid family
   which is always present, regardless of which class is on the element. */
header.main-header .header-opt_btn i,
header.main-header .cart-btn i,
header.main-header .add-list_wrap i,
header.main-header .show-reg-form i,
header.main-header .header-modal-top a i {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free",
                 "Font Awesome 5 Pro", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
    color: inherit;
}

/* Make the globe + EN/AR badge feel like one unit */
header.main-header .header-opt_btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 60px;
    overflow: visible !important;
}
header.main-header .header-opt_btn > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
header.main-header .header-opt_btn > span > i {
    font-size: 18px;
    line-height: 1;
}

/* Tighten the EN/AR badge so it hugs the globe properly */
.aj-lang-badge {
    bottom: -5px !important;
    right: -2px !important;
    min-width: 22px;
    height: 16px;
    padding: 0 4px;
    line-height: 16px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 8px;
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
    pointer-events: none;
}
html[dir="rtl"] .aj-lang-badge,
[dir="rtl"] .aj-lang-badge {
    right: auto !important;
    left: -2px !important;
}

/* Make the cart-btn (bell) counter pill smaller and less crowding */
header.main-header .cart-btn .cart-btn_counter {
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    line-height: 18px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 9px;
    border: 2px solid #ffffff;
}

/* ============================================================================
   32. GLOBAL FAL (Pro Light) -> FA Free Solid mapping
   ----------------------------------------------------------------------------
   The codebase uses `<i class="fal fa-…">` (Pro Light) in 79+ places across
   18 view files (property cards bed/bath/cube/heart/compare, dashboard,
   blog, contact, etc.). Pro Light renders as invisible squares unless the
   FA Pro Light font loads correctly — which it doesn't on every browser.

   Glyph CODEPOINTS are identical between Light / Regular / Solid for every
   icon that exists in all three weights, so we can safely force Light
   markup to render with the Solid Free font without changing any markup.

   Any icon that is genuinely Pro-only (e.g. `fa-truck-couch`,
   `fa-home-lg-alt`, `fa-comment-alt-lines`) won't render with Free —
   those have already been swapped at the markup level for the header,
   property-details scroll-nav, and footer secondary-nav. Add more there
   when discovered.
   ============================================================================ */
i.fal,
.fal {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free",
                 "Font Awesome 5 Pro", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
}
i.fal::before,
.fal::before {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free",
                 "Font Awesome 5 Pro", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
}
/* `far` (Pro Regular) is also occasionally invisible on systems without
   FA Pro Regular. Promote to Solid Free as well. */
i.far,
.far {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free",
                 "Font Awesome 5 Pro", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
}
i.far::before,
.far::before {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free",
                 "Font Awesome 5 Pro", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
}

/* ---------- 22. HOMEPAGE SEARCH BAR (original theme colors) ---------- */
.aj-search-hero-wrap {
    max-width: 100%;
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 2;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
    padding-bottom: 20px;
}
body.aj-dark .aj-search-hero-wrap {
    background: #1e293b;
}

/* Hero title text overlay */
.hero-section {
    position: relative;
}
.aj-hero-title-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    text-align: center;
    padding: 0 20px;
    pointer-events: none;
    width: 100%;
    max-width: 800px;
}
.aj-hero-title {
    color: #fff;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 800;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
    margin: 0 0 10px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}
.aj-hero-subtitle {
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(14px, 2vw, 20px);
    font-weight: 500;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
    margin: 0;
    letter-spacing: 0.5px;
}

/* ---------- 23. SELECT2 WIDGET (consolidated from page-level styles) ---------- */
.select2 {
    background: #F5F7FB;
    float: left;
    width: 100%;
    color: #7d93b2;
    font-family: 'Jost', sans-serif;
    border: 1px solid #e5e7f2 !important;
}
.select2-container--default .select2-selection--single {
    background-color: #f5f7fb !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 48px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
}

/* Homepage variant (taller) */
.aj-search-hero-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 58px !important;
}
.aj-search-hero-wrap .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 58px !important;
}

/* ---------- 24. PAGINATION (consolidated from page-level styles) ---------- */
.pagination {
    display: inline-flex;
}
.pagination .active a {
    background: var(--aj-primary);
    color: #fff;
    border-color: var(--aj-primary);
}
.pagination li a {
    transition: background var(--aj-transition), color var(--aj-transition), border-color var(--aj-transition);
}
.pagination li a:hover {
    background: var(--aj-primary-soft);
    border-color: var(--aj-primary);
    color: var(--aj-primary-dark);
}

/* ---------- 25. SEARCH TABS + COUNTRY FLAG ---------- */
.aj-search-tabs {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px 0;
    flex-wrap: wrap;
}
.aj-search-country-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f0f4f8;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 6px 16px 6px 10px;
    color: #144273;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}
.aj-flag {
    font-size: 22px;
    line-height: 1;
}
.aj-search-tab-slider {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex: 1;
    padding-bottom: 2px;
}
.aj-search-tab-slider::-webkit-scrollbar { display: none; }
.aj-search-tab {
    display: inline-block;
    padding: 7px 18px;
    border-radius: 999px;
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    border: 1px solid transparent;
    transition: all var(--aj-transition);
    cursor: pointer;
}
.aj-search-tab:hover {
    color: #144273;
    background: #f0f4f8;
    border-color: #e2e8f0;
}
.aj-search-tab--active,
.aj-search-tab--active:hover {
    background: var(--aj-primary) !important;
    color: #878c9f !important;
    border-color: var(--aj-primary) !important;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.3);
}

/* RTL adjustments */
html[dir="rtl"] .aj-search-tabs {
    flex-direction: row-reverse;
}
html[dir="rtl"] .aj-search-tab-slider {
    flex-direction: row-reverse;
}

/* Mobile: stack vertically */
@media (max-width: 768px) {
    .aj-search-tabs {
        flex-direction: column;
        align-items: stretch;
    }
    .aj-search-country-pill {
        align-self: flex-start;
    }
    html[dir="rtl"] .aj-search-country-pill {
        align-self: flex-end;
    }
}

/* ---------- 26. PROPERTY PAGE MASONRY ---------- */
.aj-masonry-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.aj-masonry-grid .listing-item {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
@media (max-width: 768px) {
    .aj-masonry-grid {
        grid-template-columns: 1fr;
    }
}
/* When the theme's list-view toggle adds .has_one_column to items,
   switch the CSS grid container to single-column layout */
.aj-masonry-grid:has(.listing-item.has_one_column) {
    grid-template-columns: 1fr !important;
}
/* Masonry items get staggered entrance animation */
.aj-masonry-grid .listing-item {
    animation: aj-fade-up 500ms cubic-bezier(.2, .8, .2, 1) both;
}
.aj-masonry-grid .listing-item:nth-child(2) { animation-delay: 60ms; }
.aj-masonry-grid .listing-item:nth-child(3) { animation-delay: 120ms; }
.aj-masonry-grid .listing-item:nth-child(4) { animation-delay: 180ms; }
.aj-masonry-grid .listing-item:nth-child(5) { animation-delay: 240ms; }
.aj-masonry-grid .listing-item:nth-child(6) { animation-delay: 300ms; }
.aj-masonry-grid .listing-item:nth-child(n+7) { animation-delay: 350ms; }

/* One-column (list) override for masonry grid */
.aj-masonry-grid.aj-list-view {
    grid-template-columns: 1fr !important;
    display: grid !important;
}
.aj-masonry-grid.aj-list-view .listing-item {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}
.aj-masonry-grid.aj-list-view .listing-item .geodir-category-listing {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.aj-masonry-grid.aj-list-view .listing-item .geodir-category-img {
    flex: 0 0 320px;
    max-width: 320px;
    min-height: 220px;
}
.aj-masonry-grid.aj-list-view .listing-item .geodir-category-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 768px) {
    .aj-masonry-grid.aj-list-view .listing-item .geodir-category-listing {
        flex-direction: column;
    }
    .aj-masonry-grid.aj-list-view .listing-item .geodir-category-img {
        flex: none;
        max-width: 100%;
    }
}

/* ---------- 27. BRAND HERITAGE SHOWCASE ---------- */
.aj-brand-showcase {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 30px 0;
}
.aj-brand-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    text-align: center;
}
.aj-brand-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.aj-brand-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
body.aj-dark .aj-brand-card {
    background: var(--aj-surface);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
    .aj-brand-showcase {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .aj-brand-img {
        aspect-ratio: auto;
    }
}

/* ============================================================================
   33. HOMEPAGE UI OVERHAUL (May 2026 – r4)
   ----------------------------------------------------------------------------
   Targets:
     • Hero section – sensible vh-based height, centered content, no fixed px
     • Search bar    – consistent 50-px input height, proper RTL alignment
     • Property cards – locked 16:9 image ratio, clean hierarchy/spacing
     • "Why choose us" – flex balance, image fills its column
     • Categories carousel (half-carousel) – reduced excess vertical padding
     • Agents section – reduced vertical padding, tighter card grid
     • Global section padding – reduced from 90px to more moderate values
     • Full RTL parity + responsive (desktop / tablet / mobile)
   All rules use specificity / !important only where needed to beat the
   legacy style.css rules. No existing classes are renamed.
   ============================================================================ */

/* ── 33a. HERO HEIGHT + CENTERING ───────────────────────────────────────────
   style.css sets .hero-section { padding: 160px 0 }.
   The inline override in Index.cshtml was 240px — removed from the template.
   We now drive height with min-height + flexbox so it never collapses
   on short viewports and never explodes on tall ones.                        */
.hero-section {
    /* height: fluid — 55 vh minimum, never more than 680px */
    min-height: max(420px, 55vh) !important;
    max-height: 680px !important;
    /* reset the theme's fixed padding; the slideshow fills 100% */
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* The background slideshow already fills the parent (position:absolute,
   100% width/height set in style.css). We just make the section itself
   the flex container so the title overlay centres naturally. */
.hero-section .aj-hero-title-wrap {
    position: relative !important;   /* override the absolute from section 22 */
    top: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: 10;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
    pointer-events: none;
}

/* Absolute-positioned slideshow must still fill the hero */
.hero-section .media-container,
.hero-section .slideshow-container {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
}

/* Dark gradient scrim so title is always readable */
.hero-section .media-container::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(10, 20, 40, 0.40) 0%,
        rgba(10, 20, 40, 0.25) 50%,
        rgba(10, 20, 40, 0.55) 100%
    );
    z-index: 2;
    pointer-events: none;
}

/* Hero type scale */
.aj-hero-title {
    font-size: clamp(24px, 3.8vw, 46px) !important;
    margin-bottom: 12px !important;
    letter-spacing: -0.3px;
    line-height: 1.18 !important;
}
.aj-hero-subtitle {
    font-size: clamp(13px, 1.6vw, 18px) !important;
    letter-spacing: 0.3px;
}

/* Tablet */
@media (max-width: 991px) {
    .hero-section {
        min-height: max(320px, 45vh) !important;
        max-height: 560px !important;
    }
}
/* Mobile */
@media (max-width: 600px) {
    .hero-section {
        min-height: 280px !important;
        max-height: 420px !important;
    }
    .aj-hero-title-wrap { padding: 0 16px !important; }
}

/* ── 33b. SEARCH BAR ALIGNMENT + SPACING ───────────────────────────────────
   .aj-search-hero-wrap is the white panel below the hero.
   Problems fixed:
     • Inputs had inconsistent heights (60px vs select2 58px)
     • RTL float: left breaks layout
     • Too much horizontal padding variation                                  */
.aj-search-hero-wrap {
    padding: 0 0 28px !important;
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.07) !important;
    border-radius: 0 0 18px 18px !important;
    background: #ffffff !important;
    border: none !important;
}

/* Search tabs row tightened */
.aj-search-tabs {
    padding: 14px 24px 0 !important;
    gap: 12px !important;
}

/* The main search form wrapper */
.aj-search-hero-wrap .main-search-input-wrap {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box;
}

/* The flexbox row of inputs */
.aj-search-hero-wrap .main-search-input {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04), 0 0 0 1px rgba(0,0,0,0.06) !important;
    border: none !important;
    background: #f9fafb !important;
    margin-top: 18px !important;
    padding: 0 !important;
    position: relative;
    transition: box-shadow 250ms ease;
}
.aj-search-hero-wrap .main-search-input:focus-within {
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08), 0 0 0 2px rgba(183,205,39,0.20) !important;
}

/* Each column cell */
.aj-search-hero-wrap .main-search-input-item {
    flex: 1 1 0 !important;
    width: auto !important;
    float: none !important;
    height: auto !important;
    min-height: 50px;
    border-left: 1px solid rgba(0,0,0,0.06) !important;
    border-right: none !important;
    position: relative;
    display: flex;
    align-items: center;
    background: transparent;
    transition: background 200ms ease;
}
.aj-search-hero-wrap .main-search-input-item:hover {
    background: rgba(183,205,39,0.03);
}
.aj-search-hero-wrap .main-search-input-item:first-child {
    border-left: none !important;
}

/* Text input inside cell */
.aj-search-hero-wrap .main-search-input-item input[type="text"] {
    height: 52px !important;
    width: 100% !important;
    float: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 14px !important;
    font-size: 13.5px;
    color: #878c9f;
}

/* Select / Chosen / Select2 inside cell – all same height */
.aj-search-hero-wrap .main-search-input-item .chosen-select,
.aj-search-hero-wrap .main-search-input-item select {
    height: 52px !important;
    width: 100% !important;
    float: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 10px !important;
    font-size: 13px;
    color: #878c9f;
    -webkit-appearance: none;
    appearance: none;
}
.aj-search-hero-wrap .select2 {
    height: 52px !important;
    line-height: 52px !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    float: none !important;
}
.aj-search-hero-wrap .select2-container--default .select2-selection--single {
    height: 52px !important;
    border: none !important;
    background: transparent !important;
}
.aj-search-hero-wrap .select2-container--default
    .select2-selection--single .select2-selection__rendered {
    line-height: 52px !important;
    padding-left: 14px !important;
}
.aj-search-hero-wrap .select2-container--default
    .select2-selection--single .select2-selection__arrow {
    height: 52px !important;
}

/* CTA search button – flush right, matching height */
.aj-search-hero-wrap .main-search-button {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    flex: 0 0 120px !important;
    height: auto !important;
    min-height: 50px;
    width: 120px !important;
    border-radius: 0 14px 14px 0 !important;
    font-size: 14px !important;
    font-weight: 600;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    letter-spacing: 0.3px;
    transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease !important;
}
.aj-search-hero-wrap .main-search-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(183,205,39,0.3) !important;
}

/* RTL: flip the border and button sides */
html[dir="rtl"] .aj-search-hero-wrap .main-search-input-item {
    border-left: none !important;
    border-right: 1px solid rgba(0,0,0,0.06) !important;
}
html[dir="rtl"] .aj-search-hero-wrap .main-search-input-item:first-child {
    border-right: none !important;
}
html[dir="rtl"] .aj-search-hero-wrap .main-search-button {
    border-radius: 14px 0 0 14px !important;
}
html[dir="rtl"] .aj-search-hero-wrap .main-search-input-item input[type="text"] {
    padding: 0 14px 0 10px !important;
}
html[dir="rtl"] .select2-container--default
    .select2-selection--single .select2-selection__rendered {
    padding-right: 14px !important;
    padding-left: 0 !important;
    text-align: right !important;
}

/* Quick links row below the search bar */
.aj-search-hero-wrap .hero-notifer {
    padding: 0 24px;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    text-align: start;
}
html[dir="rtl"] .aj-search-hero-wrap .hero-notifer { text-align: end; }

.aj-search-hero-wrap .scroll-down-wrap {
    display: none;  /* hides the mouse scroll indicator inside the form area */
}

/* Responsive search bar */
@media (max-width: 1100px) {
    /* Collapse to 3 items per row then wrap */
    .aj-search-hero-wrap .main-search-input {
        flex-wrap: wrap !important;
        border-radius: 10px !important;
        overflow: visible;
    }
    .aj-search-hero-wrap .main-search-input-item {
        flex: 1 1 30% !important;
        min-width: 140px;
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid #eef0f5 !important;
    }
    .aj-search-hero-wrap .main-search-button {
        flex: 1 1 100% !important;
        width: 100% !important;
        border-radius: 0 0 10px 10px !important;
        height: 46px !important;
    }
    html[dir="rtl"] .aj-search-hero-wrap .main-search-button {
        border-radius: 0 0 10px 10px !important;
    }
}
@media (max-width: 768px) {
    .aj-search-hero-wrap .main-search-input-wrap {
        padding: 0 16px !important;
    }
    .aj-search-hero-wrap .main-search-input-item {
        flex: 1 1 100% !important;
        border-bottom: 1px solid #eef0f5 !important;
    }
    .aj-search-hero-wrap .hero-notifer { padding: 0 16px; }
}

/* ── 33c. SECTION SPACING – REDUCE EXCESS VERTICAL PADDING ──────────────────
   Base rule in style.css: section { padding: 90px 0 }.
   We tighten key homepage sections without touching the rule globally.       */

/* Latest properties — use theme default small-padding */

/* "Why choose us" (un-classed <section>) */
section:not([class]):has(.about-wrap),
section.about-section {
    padding: 52px 0 !important;
}

/* Explore property types (half-carousel) – was 0 (no-padding-section) – keep as is */

/* Agents section */
section#Agent {
    padding: 52px 0 !important;
}

/* Appraisal CTA parallax */
section.single-par2 {
    padding: 90px 0 !important;   /* was 150px in style.css */
}

/* Testimonials */
section.gray-bg:has(.testimonials-slider) {
    padding: 52px 0 !important;
}

/* Generic fallback: reduce all remaining homepage sections */
@supports not selector(:has(*)) {
    /* :has() fallback for older browsers */
    section.gray-bg { padding: 52px 0 !important; }
}

/* ── 33d. PROPERTY CARDS – IMAGE RATIO + HIERARCHY ──────────────────────────
   Existing rules (section 18 of this file) already set aspect-ratio: 4/3.
   We keep that but override the inline `height:252px; width:auto` on <img>
   and reinforce object-fit for all cases.                                    */

/* Strip the inline height/width from the <img> in the property card */
.geodir-category-img img[style*="height:252px"],
.geodir-category-img img[style*="height: 252px"],
.gallery-item .geodir-category-img img,
.listing-item .geodir-category-img img {
    height: 100% !important;
    width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Enforce consistent card body padding */
.gallery-item .geodir-category-content,
.listing-item .geodir-category-content {
    padding: 16px 18px 18px !important;
}

/* Tighten title → price → details stacking */
.gallery-item .geodir-category-content .title-sin_item,
.listing-item .geodir-category-content .title-sin_item {
    margin-bottom: 8px !important;
    font-size: 15.5px !important;
    min-height: 0 !important;   /* remove fixed min-height */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gallery-item .geodir-category-content_price,
.listing-item .geodir-category-content_price {
    font-size: 17px !important;
    margin-bottom: 10px !important;
}
.gallery-item .geodir-category-content-details,
.listing-item .geodir-category-content-details {
    padding-top: 10px !important;
}

/* ── 33e. "WHY CHOOSE US" – IMAGE + TEXT BALANCE ────────────────────────────
   The about section uses col-md-5 (text) + col-md-1 (gap) + col-md-6 (img).
   On smaller screens the col-md-1 gap becomes noise. We convert to a flexbox
   layout that distributes space evenly and lets the image fill the column.   */
.about-wrap {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0;
    align-items: center;
}
.about-wrap > .row {
    width: 100%;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 !important;
}
.about-wrap .about-img {
    height: 100% !important;
    min-height: 360px;
}
.about-wrap .about-img .respimg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 18px;
    display: block;
}

/* Remove the spacer column on tablet */
@media (max-width: 991px) {
    .about-wrap > .row > .col-md-1 {
        display: none !important;
        padding: 0 !important;
    }
    .about-wrap > .row > .col-md-5 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 24px;
    }
    .about-wrap > .row > .col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .about-wrap .about-img {
        min-height: 260px;
    }
}

/* ── 33f. CATEGORY LISTING-FILTERS + SECTION TITLE ROW ──────────────────────
   The latest-properties section has a heading on the left and filter tabs on
   the right. Ensure they are vertically centred and don't overflow.          */
section.gray-bg.small-padding .listing-filters.gallery-filters {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
}
html[dir="rtl"] section.gray-bg.small-padding .listing-filters.gallery-filters {
    justify-content: flex-start;
}
section.gray-bg.small-padding .listing-filters .gallery-filter {
    margin: 0 !important;
}
/* Vertically centre the section-title with the filters row */
section.gray-bg.small-padding .row {
    align-items: center;
}
section.gray-bg.small-padding .section-title {
    margin-bottom: 0 !important;
}

/* ── 33g. AGENTS SECTION LAYOUT ─────────────────────────────────────────────
   Tighten the carousel wrapper and ensure cards don't overflow on mobile.    */
section#Agent .listing-carousel-wrapper.lc_hero {
    padding: 0 !important;
}
section#Agent .section-title {
    margin-bottom: 20px !important;
}
section#Agent .geodir-category-img.agent_card {
    padding: 10px 10px 0 !important;
}

/* ── 33h. HALF-CAROUSEL (EXPLORE PROPERTY TYPES) ───────────────────────────
   The section has class `no-padding-section` so padding is 0 — fine.
   We just ensure the title panel and container height is proportionate.      */
.half-carousel-conatiner {
    height: clamp(320px, 42vw, 520px) !important;
}
.half-carousel-item {
    height: clamp(320px, 42vw, 520px) !important;
}
.half-carousel-title-item {
    /* vertical centring instead of fixed top:200px */
    top: 50% !important;
    transform: translateY(-50%);
    padding: 0 36px !important;
}
@media (max-width: 768px) {
    /* Stack title + carousel vertically */
    .half-carousel-wrap {
        display: flex;
        flex-direction: column;
    }
    .half-carousel-title {
        position: relative !important;
        width: 100% !important;
        min-height: 120px;
        border-radius: 0 !important;
    }
    .half-carousel-conatiner {
        float: none !important;
        width: 100% !important;
        height: clamp(220px, 55vw, 360px) !important;
    }
    .half-carousel-item {
        height: clamp(220px, 55vw, 360px) !important;
    }
    .half-carousel-title-item {
        top: 50% !important;
        transform: translateY(-50%);
    }
    html[dir="rtl"] .half-carousel-title.color-bg {
        border-radius: 0 !important;
    }
}

/* ── 33i. RTL GLOBAL ALIGNMENT CLEANUP ─────────────────────────────────────
   Ensure text-align, flex direction, and float resets work in RTL.           */
html[dir="rtl"] .main-search-input {
    padding: 0 !important;
}
html[dir="rtl"] .main-search-input-item {
    float: none !important;
}
html[dir="rtl"] .listing-filters.gallery-filters {
    float: none !important;
    direction: rtl;
}
html[dir="rtl"] .gallery-filter { float: none !important; }
html[dir="rtl"] .section-title h1,
html[dir="rtl"] .section-title h2 {
    text-align: right !important;
}
html[dir="rtl"] .section-title h1::after,
html[dir="rtl"] .section-title h2::after {
    left: auto !important;
    right: 0 !important;
}

/* ── 33j. GLOBAL "VIEW ALL" BUTTON ─────────────────────────────────────────
   Reduce top margin from 18px to 12px so it doesn't add extra whitespace.   */
.aj-view-all-wrap {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

/* ── 33k. BREADCRUMBS REMOVAL FROM HOMEPAGE ────────────────────────────────
   The breadcrumbs partial renders with empty content on the homepage but
   still adds vertical space. Collapse it to zero height.                     */
.breadcrumbs.fl-wrap:empty,
.breadcrumbs-fixed.fl-wrap:empty {
    display: none !important;
}

/* ============================================================================
   34. UNIFIED HERO + SEARCH SECTION  (May 2026 – r5)
   ----------------------------------------------------------------------------
   Replaces the old hero-section + aj-search-hero-wrap split layout with a
   single <section class="aj-hero-search-section"> that contains:
     • .aj-hero-bg   – full-cover background image with overlay
     • .aj-hero-content – centred title + subtitle
     • .aj-hero-search-card – frosted-glass search bar card, bottom-pinned
       and overlapping 50 % into the next section via negative margin-bottom
   All colours are CSS-var-driven. Full RTL + responsive.
   ============================================================================ */

/* ── Section shell ─────────────────────────────────────────────────────────── */

/* ── "Why Choose Our Properties" section enhancement ───────────────────────── */

/* Parent section – clean gradient */
section:has(.about-wrap) {
    position: relative;
    background:
        linear-gradient(
            180deg,
            #f9fafb 0%,
            #f3f4f6 50%,
            #eef0f3 100%
        );
    padding: 48px 0 56px !important;
    overflow: hidden;
}

/* Subtle grid texture */
section:has(.about-wrap)::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(0,0,0,0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,0.02) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
}

/* Petra/Jordan – covers full right half of section */
section:has(.about-wrap)::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-image: url('/Content/img/landing-petra.webp');
    background-size: cover;
    background-position: center center;
    opacity: 0.22;
    z-index: 0;
    pointer-events: none;
}

section:has(.about-wrap) .container {
    position: relative;
    z-index: 1;
}

/* Row – vertically center */
.about-wrap > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
}

/* ── Text side – compact ───────────────────────────────────────────────────── */
.about-wrap .about-title h2 {
    color: #111827 !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}
.about-wrap .about-title p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 8px;
}

.about-wrap .services-opions {
    color: #374151;
    line-height: 1.65;
    font-size: 13.5px;
}
.about-wrap .services-opions h3,
.about-wrap .services-opions h4,
.about-wrap .services-opions strong,
.about-wrap .services-opions b {
    color: #878c9f;
    font-weight: 600;
    margin-top: 14px;
    margin-bottom: 4px;
    display: block;
    font-size: 14px;
}
.about-wrap .services-opions p {
    margin-bottom: 6px;
    line-height: 1.7;
}

/* ── Image column – clean, no extra pseudo-elements ────────────────────────── */
.about-wrap > .row > .col-md-6 {
    position: relative;
    min-height: 320px;
}

/* Logo image */
.about-wrap .about-img {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border-radius: 0;
    padding: 16px;
    box-shadow: none;
    transition: transform 300ms ease;
    min-height: 320px;
    margin: auto 0;
}
.about-wrap .about-img:hover {
    transform: scale(1.02);
    box-shadow: none;
}

/* ── Vertical divider ──────────────────────────────────────────────────────── */
.about-wrap > .row > .col-md-1 {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.about-wrap > .row > .col-md-1::after {
    content: '';
    display: block;
    width: 1px;
    height: 60%;
    min-height: 120px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.08) 30%,
        rgba(0, 0, 0, 0.08) 70%,
        transparent 100%
    );
    border-radius: 1px;
}

/* Mobile */
@media (max-width: 991px) {
    .about-wrap > .row > .col-md-1::after {
        display: none;
    }
    section:has(.about-wrap) {
        padding: 32px 0 40px !important;
    }
    .about-wrap > .row > .col-md-6 {
        min-height: 240px;
    }
}

/* ============================================================================
   37. DISCOVER AMMAN – Photo Grid Section
   ============================================================================ */

.aj-discover-amman {
    padding: 56px 0 64px;
    background: #ffffff;
}

.aj-discover-amman .section-title h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 8px !important;
}

.aj-discover-subtitle {
    color: #6b7280;
    font-size: 15px;
    text-align: center;
    margin-bottom: 32px;
    letter-spacing: 0.3px;
}

/* ── CSS Grid – 4 columns, auto rows ──────────────────────────────────────── */
.aj-amman-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 220px;
    gap: 12px;
}

/* Wide items span 2 columns */
.aj-amman-wide {
    grid-column: span 2;
}

/* Featured items span 2 columns + 2 rows */
.aj-grid-featured {
    grid-column: span 2;
    grid-row: span 2;
}

/* Tall items span 2 rows */
.aj-grid-tall {
    grid-row: span 2;
}

/* ── Individual items ──────────────────────────────────────────────────────── */
.aj-amman-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
}

.aj-amman-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 500ms ease;
}

.aj-amman-item:hover img {
    transform: scale(1.08);
}

/* ── Hover overlay ─────────────────────────────────────────────────────────── */
.aj-amman-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 40%,
        rgba(0, 0, 0, 0.55) 100%
    );
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 16px;
    opacity: 0;
    transition: opacity 300ms ease;
}

.aj-amman-item:hover .aj-amman-overlay {
    opacity: 1;
}

.aj-amman-overlay span {
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.3px;
}

/* RTL overlay alignment */
html[dir="rtl"] .aj-amman-overlay {
    justify-content: flex-end;
}

/* ── Full overlay with title + button (property type cards) ────────────────── */
.aj-amman-overlay--full {
    opacity: 1;
    background: linear-gradient(
        180deg,
        transparent 20%,
        rgba(0, 0, 0, 0.6) 100%
    );
    align-items: flex-end;
    justify-content: flex-start;
    padding: 20px;
}

.aj-amman-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.aj-amman-title {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    line-height: 1.3;
}

.aj-amman-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff !important;
    background: rgba(183, 205, 39, 0.85);
    border-radius: 8px;
    text-decoration: none !important;
    transition: all 250ms ease;
    width: fit-content;
    letter-spacing: 0.3px;
}
.aj-amman-btn:hover {
    background: rgba(183, 205, 39, 1);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.4);
}

/* RTL for property cards */
html[dir="rtl"] .aj-amman-overlay--full {
    justify-content: flex-end;
}
html[dir="rtl"] .aj-amman-info {
    align-items: flex-end;
    text-align: right;
}

/* ── Tablet ────────────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .aj-amman-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 180px;
        gap: 10px;
    }
    .aj-amman-wide {
        grid-column: span 2;
    }
    .aj-grid-featured {
        grid-column: span 2;
        grid-row: span 2;
    }
    .aj-grid-tall {
        grid-row: span 2;
    }
}

/* ── Mobile ────────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .aj-amman-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 150px;
        gap: 8px;
    }
    .aj-amman-wide {
        grid-column: span 2;
    }
    .aj-grid-featured {
        grid-column: span 2;
        grid-row: span 1;
    }
    .aj-grid-tall {
        grid-row: span 1;
    }
    .aj-discover-amman {
        padding: 40px 0 48px;
    }
    .aj-amman-overlay {
        opacity: 1;
    }
}

/* ============================================================================
   HERO + SEARCH CARD  (premium polish – May 2026)
   ============================================================================ */

/* ── Hero section ──────────────────────────────────────────────────────────── */
.aj-hero-search-section {
    position: relative;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px 100px;
    overflow: hidden;
}

.aj-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    z-index: 0;
}

.aj-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0, 0, 0, 0.08) 30%,
        rgba(0, 0, 0, 0.22) 60%,
        rgba(0, 0, 0, 0.35) 80%,
        rgba(0, 0, 0, 0.45) 100%
    );
    z-index: 1;
}

.aj-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 32px;
}

.aj-hero-title {
    color: #ffffff;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    margin: 0 0 8px;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
    letter-spacing: -0.5px;
}

.aj-hero-subtitle {
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(14px, 1.8vw, 18px);
    font-weight: 400;
    margin: 0;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}

/* ── Search card ───────────────────────────────────────────────────────────── */
.aj-hero-search-card {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 18px;
    padding: 16px 20px 12px;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.08),
        0 12px 40px rgba(0, 0, 0, 0.06);
}

/* ── Search row – single line, tight spacing ───────────────────────────────── */
.aj-srow {
    display: flex;
    align-items: stretch;
    gap: 8px;
    width: 100%;
}

/* ── Fields – equal sizing, same height ────────────────────────────────────── */
.aj-sfield {
    flex: 1;
    min-width: 0;
    position: relative;
    background: #f7f8fa;
    border: 1px solid #e8eaef;
    border-radius: 10px;
    display: flex;
    align-items: center;
    height: 44px;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.aj-sfield:hover {
    border-color: #d1d5db;
}

.aj-sfield:focus-within {
    border-color: var(--aj-primary, #b7cd27);
    box-shadow: 0 0 0 3px rgba(183, 205, 39, 0.12);
}

/* Text input field slightly wider */
.aj-sfield--text {
    flex: 1.3;
}

/* ── Search icon ───────────────────────────────────────────────────────────── */
.aj-sicon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 14px;
    pointer-events: none;
    z-index: 1;
}

/* RTL icon */
html[dir="rtl"] .aj-sicon {
    left: auto;
    right: 12px;
}

/* ── Text input ────────────────────────────────────────────────────────────── */
.aj-sinput {
    width: 100%;
    height: 100%;
    border: none !important;
    background: transparent !important;
    padding: 0 12px 0 36px !important;
    font-size: 15px !important;
    font-weight: 400;
    color: #878c9f !important;
    outline: none !important;
    box-shadow: none !important;
}

html[dir="rtl"] .aj-sinput {
    padding: 0 36px 0 12px !important;
}

.aj-sinput::placeholder {
    color: #6b7280 !important;
    opacity: 1;
}

/* ── Dropdowns ─────────────────────────────────────────────────────────────── */
.aj-sselect,
.aj-sfield select,
.aj-sfield .chosen-container,
.aj-sfield .chosen-container .chosen-single {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 12px !important;
    font-size: 15px !important;
    color: #878c9f !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    display: flex !important;
    align-items: center;
}

.aj-sfield .chosen-container .chosen-single span {
    font-size: 15px !important;
    line-height: 44px !important;
}

.aj-sfield .chosen-container .chosen-single div b {
    background-position: center !important;
}

/* ── Search button (CTA) ──────────────────────────────────────────────────── */
.aj-sbtn {
    flex-shrink: 0;
    min-width: 140px;
    height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 24px;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer;
    letter-spacing: 0.3px;
    white-space: nowrap;
    transition: all 200ms ease !important;
    box-shadow: 0 2px 8px rgba(183, 205, 39, 0.25);
}

.aj-sbtn:hover {
    filter: brightness(0.92);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(183, 205, 39, 0.35);
}

.aj-sbtn i {
    font-size: 14px;
}

/* ── Quick links below search ──────────────────────────────────────────────── */
.aj-slinks {
    display: flex;
    gap: 16px;
    justify-content: center;
    padding-top: 10px;
}

.aj-slinks a {
    font-size: 13px;
    color: #6b7280;
    text-decoration: none;
    transition: color 200ms ease;
    font-weight: 500;
}

.aj-slinks a:hover {
    color: var(--aj-primary, #8ba61e);
}

/* ── Tablet ────────────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .aj-srow {
        flex-wrap: wrap;
        gap: 8px;
    }
    .aj-sfield {
        flex: 1 1 calc(50% - 4px);
    }
    .aj-sfield--text {
        flex: 1 1 100%;
    }
    .aj-sbtn {
        flex: 1 1 100%;
        min-width: unset;
    }
    .aj-hero-search-card {
        max-width: 600px;
    }
}

/* ── Mobile ────────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .aj-hero-search-section {
        min-height: 260px;
        padding-bottom: 50px;
    }
    .aj-sfield {
        flex: 1 1 100%;
    }
    .aj-hero-search-card {
        padding: 14px 14px 12px;
        border-radius: 14px;
    }
    .aj-hero-search-section + * { margin-top: 72px; }
}

/* Small phones */
@media (max-width: 400px) {
    .aj-hero-content .aj-hero-title { font-size: 22px; }
    .aj-hero-content .aj-hero-subtitle { font-size: 13px; }
}

/* ── Dark mode ──────────────────────────────────────────────────────────────── */
body.aj-dark .aj-hero-search-card {
    background: var(--aj-bg-card, #1e293b);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
body.aj-dark .aj-srow { background: rgba(255, 255, 255, 0.05); border-color: rgba(255,255,255,0.08); }
body.aj-dark .aj-sfield { background: var(--aj-bg-card, #1e293b); border-color: rgba(255,255,255,0.06); }
body.aj-dark .aj-sinput,
body.aj-dark .aj-sselect { color: var(--aj-text, #e5e7eb) !important; }
body.aj-dark .aj-slinks a { color: var(--aj-text-muted, #94a3b8); }

/* Hide slider pager/arrows – single static banner */
.aj-hero-search-section .slideshow-container,
.aj-hero-search-section .slide-progress-wrap,
.aj-hero-search-section .sp-buttons,
.aj-hero-search-section .sp-arrows,
.aj-hero-search-section .sp-previous-arrow,
.aj-hero-search-section .sp-next-arrow,
.aj-hero-search-section .pager,
.aj-hero-search-section .slider-pager,
.aj-hero-search-section .swiper-pagination,
.aj-hero-search-section .swiper-button-prev,
.aj-hero-search-section .swiper-button-next,
.aj-hero-search-section .slick-dots,
.aj-hero-search-section .slick-prev,
.aj-hero-search-section .slick-next,
.aj-hero-search-section .lc-wbtn {
    display: none !important;
}

/* Latest Properties – title + filters on same baseline */
.gray-bg.small-padding > .container > .row {
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.gray-bg.small-padding .section-title {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.gray-bg.small-padding .section-title h1,
.gray-bg.small-padding .section-title h2 {
    margin-bottom: 0 !important;
}
.gray-bg.small-padding .listing-filters.gallery-filters {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.aj-hero-search-section {
    position: relative;
    width: 100%;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 60px;
    overflow: visible;
    padding-top: 0 !important;
    background: transparent;
    float: none;
}

/* ── Background image ───────────────────────────────────────────────────────── */
.aj-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: 0;
    /* Brand-tinted fallback so the hero never looks blank if banner.jpg is
       missing or 404s in production (May 2026 fix). The inline-style
       background-image overrides this when the asset is present. */
    background-color: #0f172a;
}

/* Dark gradient overlay – transparent at top, darkest at bottom.
   Sits between background image and slide text for readability.
   ONLY applied to the hero/slider section (.aj-hero-overlay). */
.aj-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0, 0, 0, 0.08) 30%,
        rgba(0, 0, 0, 0.22) 60%,
        rgba(0, 0, 0, 0.35) 80%,
        rgba(0, 0, 0, 0.45) 100%
    );
    z-index: 1;
}

/* ── Title block – visible always so the hero is readable even if the
       background image is missing/blocked in production (May 2026 fix). ── */
.aj-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 80px 24px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 860px;
}

.aj-hero-content .aj-hero-title {
    color: #ffffff;
    font-size: clamp(26px, 4vw, 52px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 14px;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.55);
}

.aj-hero-content .aj-hero-subtitle {
    color: rgba(255, 255, 255, 0.90);
    font-size: clamp(13px, 1.7vw, 20px);
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.4px;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

/* RTL title alignment */
html[dir="rtl"] .aj-hero-content { text-align: center; }

/* ── Search card ────────────────────────────────────────────────────────────── */
.aj-hero-search-card {
    position: relative;
    z-index: 10;
    width: calc(100% - 48px);
    max-width: 900px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow:
        0 4px 12px rgba(15, 23, 42, 0.08),
        0 12px 32px rgba(15, 23, 42, 0.12),
        0 24px 48px rgba(15, 23, 42, 0.06);
    padding: 24px 28px 20px;
    margin-top: auto;
    transform: translateY(50%);
}

/* ── Search row (CSS grid – 2 rows on desktop) ──────────────────────────────── */
/*   Row 1: text input spanning full width
     Row 2: 4 select fields + search button                                    */
.aj-srow {
    display: grid;
    grid-template-columns: repeat(4, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 0;
    border: 1px solid #e8ecf2;
    border-radius: 12px;
    overflow: hidden;
    background: #f9fafb;
}

/* Each field cell */
.aj-sfield {
    position: relative;
    background: #ffffff;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f0f2f7;
    border-right: 1px solid #f0f2f7;
    min-height: 48px;
    transition: background 200ms ease;
}
.aj-sfield:hover {
    background: #fafbfd;
}

/* Text field spans the entire first row */
.aj-sfield--text {
    grid-column: 1 / -1;   /* span all columns */
    grid-row: 1;
    border-right: none;
}

/* Select fields sit in row 2 */
.aj-sfield:not(.aj-sfield--text) {
    grid-row: 2;
    border-bottom: none;   /* last row has no bottom border */
}
/* Last select before button */
.aj-sfield:not(.aj-sfield--text):last-of-type {
    border-right: none;
}

/* RTL: flip right borders to left */
html[dir="rtl"] .aj-sfield {
    border-right: none;
    border-left: 1px solid #f0f2f7;
}
html[dir="rtl"] .aj-sfield--text { border-left: none; }
html[dir="rtl"] .aj-sfield:not(.aj-sfield--text):first-of-type { border-left: none; }

/* Search icon inside text field */
.aj-sicon {
    position: absolute;
    color: var(--aj-primary, #b7cd27);
    font-size: 14px;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
}
html[dir="rtl"] .aj-sicon { left: auto; right: 14px; }

/* Text input */
.aj-sinput {
    width: 100%;
    height: 48px;
    border: none !important;
    background: transparent !important;
    padding: 0 14px 0 36px !important;
    font-size: 13.5px;
    color: #878c9f;
    outline: none;
    font-family: inherit;
}
html[dir="rtl"] .aj-sinput { padding: 0 36px 0 14px !important; text-align: right; }

/* Native <select> elements */
.aj-sselect {
    width: 100% !important;
    height: 48px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    color: #878c9f !important;
    outline: none;
    cursor: pointer;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
}
html[dir="rtl"] .aj-sselect { text-align: right; }

/* Select2 overrides inside the new search card */
.aj-hero-search-card .select2-container {
    width: 100% !important;
}
.aj-hero-search-card .select2-container--default .select2-selection--single {
    height: 48px !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center;
}
.aj-hero-search-card .select2-container--default
    .select2-selection--single .select2-selection__rendered {
    line-height: 48px !important;
    padding-left: 12px !important;
    padding-right: 28px !important;
    color: #878c9f !important;
    font-size: 13px !important;
}
.aj-hero-search-card .select2-container--default
    .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    right: 6px !important;
}
html[dir="rtl"] .aj-hero-search-card .select2-container--default
    .select2-selection--single .select2-selection__rendered {
    padding-right: 12px !important;
    padding-left: 28px !important;
    text-align: right !important;
}
html[dir="rtl"] .aj-hero-search-card .select2-container--default
    .select2-selection--single .select2-selection__arrow {
    right: auto !important;
    left: 6px !important;
}

/* Search button – grid row 2, rightmost cell */
.aj-sbtn {
    grid-row: 2;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    min-height: 48px;
    padding: 0 32px;
    border: none;
    border-radius: 0 0 12px 0;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    letter-spacing: 0.3px;
    transition: background 200ms ease, box-shadow 200ms ease, transform 200ms ease;
    color: #ffffff;
}
.aj-sbtn:hover {
    background: #9aad1f !important;
    box-shadow: 0 4px 16px rgba(154, 173, 31, 0.4);
    transform: translateY(-1px);
}
html[dir="rtl"] .aj-sbtn { border-radius: 0 0 0 12px; }

/* ── Quick-links row under the search bar ───────────────────────────────────── */
.aj-slinks {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 12px;
    padding: 0 4px;
    flex-wrap: wrap;
}
.aj-slinks a {
    font-size: 13px;
    font-weight: 500;
    color: #878c9f;
    text-decoration: none;
    transition: color 180ms ease;
}
.aj-slinks a:hover { color: var(--aj-primary-dark, #a7bd1b); }
html[dir="rtl"] .aj-slinks { flex-direction: row-reverse; }

/* ── Space compensation: next section must clear the overlapping card ─────── */
.aj-hero-search-section + section,
.aj-hero-search-section + .section,
.aj-hero-search-section + * {
    margin-top: 80px;  /* matches the card's translateY(50%) overhang */
}

/* ── Remove the thin green top border from the footer / section rule ────────
   The .aj-search-hero-wrap used to have a box-shadow that created the
   apparent "green line". Now that container is gone, but the old rule in
   section 33b (aj-search-hero-wrap) is harmless dead code.
   The actual thin line sometimes comes from footer::before — keep it on the
   footer but make sure it never appears between hero and the next section.   */
.aj-hero-search-section::after { display: none !important; }

/* ── Responsive ──────────────────────────────────────────────────────────────── */

/* Tablet: 2 select columns + full-width button */
@media (max-width: 1024px) {
    .aj-srow {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto auto auto;  /* text | 2x2 selects | button */
    }
    .aj-sfield--text { grid-column: 1 / -1; }
    .aj-sfield:not(.aj-sfield--text) {
        grid-row: auto;       /* flow naturally into 2-col grid */
        border-bottom: 1px solid #eef0f5;
    }
    .aj-sbtn {
        grid-column: 1 / -1;
        grid-row: auto;
        border-radius: 0 0 10px 10px;
        min-height: 46px;
    }
    html[dir="rtl"] .aj-sbtn { border-radius: 0 0 10px 10px; }
    .aj-hero-search-card {
        width: calc(100% - 32px);
        padding: 16px 16px 14px;
    }
}

/* Mobile: single-column stack */
@media (max-width: 640px) {
    .aj-hero-search-section {
        min-height: 360px;
        padding-bottom: 72px;
    }
    .aj-hero-content {
        padding: 60px 16px 20px;
    }
    .aj-srow {
        grid-template-columns: 1fr;
    }
    .aj-sfield--text { grid-column: 1; }
    .aj-sfield:not(.aj-sfield--text) {
        grid-row: auto;
        border-right: none;
    }
    html[dir="rtl"] .aj-sfield:not(.aj-sfield--text) { border-left: none; }
    .aj-sbtn {
        grid-column: 1;
        border-radius: 0 0 12px 12px;
    }
    .aj-hero-search-card {
        width: calc(100% - 24px);
        padding: 14px 14px 12px;
        border-radius: 12px;
    }
    .aj-hero-search-section + * { margin-top: 72px; }
}

/* Very small phones */
@media (max-width: 400px) {
    .aj-hero-content .aj-hero-title { font-size: 22px; }
    .aj-hero-content .aj-hero-subtitle { font-size: 13px; }
}

/* ── Dark mode ──────────────────────────────────────────────────────────────── */
body.aj-dark .aj-hero-search-card {
    background: var(--aj-bg-card, #1e293b);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}
body.aj-dark .aj-srow { background: rgba(255, 255, 255, 0.05); border-color: rgba(255,255,255,0.08); }
body.aj-dark .aj-sfield { background: var(--aj-bg-card, #1e293b); border-color: rgba(255,255,255,0.06); }
body.aj-dark .aj-sinput,
body.aj-dark .aj-sselect { color: var(--aj-text, #e5e7eb) !important; }
body.aj-dark .aj-slinks a { color: var(--aj-text-muted, #94a3b8); }

/* ============================================================================
   35. NAVBAR / HEADER POLISH  (May 2026 – final)
   ============================================================================ */

/* ── Header base alignment ─────────────────────────────────────────────────── */
header.main-header {
    display: flex !important;
    align-items: center !important;
    padding: 0 24px !important;
    min-height: 56px;
    height: 56px;
    gap: 10px;
}

/* ── Logo – oversized premium card ─────────────────────────────────────────── */
header.main-header .logo-holder {
    position: relative !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    z-index: 100;
    align-self: flex-start;
}

header.main-header .logo-holder a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 100px;
    background: #ffffff;
    border-radius: 0 0 14px 14px;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.08),
        0 8px 24px rgba(0, 0, 0, 0.05);
    padding: 10px;
    transition: box-shadow 300ms ease, transform 300ms ease;
}

header.main-header .logo-holder a:hover {
    box-shadow:
        0 6px 16px rgba(0, 0, 0, 0.1),
        0 12px 32px rgba(0, 0, 0, 0.07);
    transform: translateY(2px);
}

header.main-header .logo-holder img {
    max-height: 70px !important;
    height: auto !important;
    width: auto !important;
    max-width: 70px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block;
    object-fit: contain;
}

body.aj-dark header.main-header .logo-holder a {
    background: rgba(30, 41, 59, 0.95);
}

/* ── Nav menu – takes remaining space, centers items ───────────────────────── */
header.main-header .nav-holder.main-menu {
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
header.main-header .nav-holder.main-menu nav > ul {
    display: flex !important;
    align-items: center;
    gap: 2px;
}

/* ── Menu items – polished, vertically centered ────────────────────────────── */
header.main-header .nav-holder.main-menu nav > ul > li > a {
    padding: 6px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    border-radius: 6px;
    transition: background 200ms ease, color 200ms ease !important;
    position: relative;
}
header.main-header .nav-holder.main-menu nav > ul > li > a:hover {
    background: rgba(0, 0, 0, 0.04) !important;
    color: var(--aj-primary, #8ba61e) !important;
}
/* Active page highlight */
header.main-header .nav-holder.main-menu nav > ul > li.current-menu-item > a,
header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-home {
    color: var(--aj-primary, #8ba61e) !important;
    font-weight: 600 !important;
}

/* ── Dropdown caret ────────────────────────────────────────────────────────── */
header.main-header .nav-holder.main-menu nav > ul > li > a .fa-caret-down,
header.main-header .nav-holder.main-menu nav > ul > li > a .fa-angle-down {
    font-size: 13px !important;
    margin-inline-start: 4px;
    opacity: 0.6;
    transition: transform 200ms ease, opacity 200ms ease;
    line-height: 1;
    vertical-align: middle;
}
header.main-header .nav-holder.main-menu nav > ul > li:hover > a .fa-caret-down,
header.main-header .nav-holder.main-menu nav > ul > li:hover > a .fa-angle-down {
    opacity: 1;
    transform: rotate(180deg);
}

/* ── "Add Property" primary CTA button ─────────────────────────────────────── */
header.main-header .add-list_wrap {
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
}
.aj-add-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 7px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    letter-spacing: 0.3px;
    white-space: nowrap;
    transition: background 200ms ease, box-shadow 200ms ease, transform 200ms ease !important;
}
.aj-add-btn:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.3);
}
.aj-add-btn .fal.fa-plus {
    font-size: 12px !important;
    font-weight: 700;
}

/* ── Language toggle pill ──────────────────────────────────────────────────── */
.aj-lang-toggle {
    display: inline-flex;
    align-items: center;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e0e3ea;
    background: #f4f5f7;
    flex-shrink: 0;
}
.aj-lang-opt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    color: #6b7280;
    transition: all 200ms ease;
    letter-spacing: 0.5px;
    line-height: 1.4;
}
.aj-lang-opt--active {
    background: var(--aj-primary, #b7cd27);
    color: #ffffff !important;
    border-radius: 20px;
    box-shadow: 0 1px 4px rgba(183, 205, 39, 0.3);
}

/* ── RTL ───────────────────────────────────────────────────────────────────── */
html[dir="rtl"] header.main-header {
    flex-direction: row-reverse;
}

/* ── Mobile logo ───────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    header.main-header .logo-holder a {
        width: 64px;
        height: 72px;
        border-radius: 0 0 10px 10px;
        padding: 6px;
    }
    header.main-header .logo-holder img {
        max-height: 50px !important;
        max-width: 50px !important;
    }
}

/* ============================================================================
   LIGHTGALLERY MODAL UI REFACTOR  (additive overrides, prefixed aj-lg-*)
   Goals:
     1. Overlay covers full page, z-index above sticky header (9000)
     2. Toolbar icons are centered (flexbox + translateX trick)
     3. Dark semi-transparent pill background on icons for visibility
     4. Larger icon size + more padding for comfort
     5. Gap between icons via flexbox gap
   ============================================================================ */

/* --- 1. Raise the full lightbox stack above the sticky header (z-index 9000) --- */
.lg-backdrop {
    z-index: 10050 !important;
}
.lg-outer {
    z-index: 10060 !important;
}
.lg-toolbar,
.lg-actions .lg-next,
.lg-actions .lg-prev,
.lg-sub-html,
.lg-progress-bar {
    z-index: 10080 !important;
}

/* --- 2. Center the toolbar icons using flexbox + translateX(-50%) --- */
/*
   The original toolbar uses `float: right` on each .lg-icon.
   We switch the toolbar to flexbox and anchor the icon group
   to horizontal center via left:50% + translateX(-50%).
   Counter-element shows at left (unchanged). Everything else stays.
*/
.lg-toolbar {
    display: flex !important;
    align-items: center;
    /* keep original absolute positioning */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* Subtle gradient bg for the whole toolbar strip */
    background: linear-gradient(to bottom, rgba(0,0,0,0.60) 0%, transparent 100%) !important;
    padding: 6px 0;
    box-sizing: border-box;
}

/* The icon group (close, zoom-in, zoom-out, download) is centered */
.lg-toolbar .lg-icon {
    float: none !important;          /* neutralise legacy float */
    order: 2;                        /* sits in the middle flex zone */
    /* Icon sizing */
    width: 46px !important;
    height: 46px !important;
    line-height: 46px !important;
    padding: 0 !important;
    font-size: 22px !important;
    /* Dark pill background for visibility */
    background: rgba(0, 0, 0, 0.55) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    transition: background 220ms ease, transform 220ms ease, color 220ms ease;
    cursor: pointer;
    text-decoration: none !important;
    text-align: center;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
.lg-toolbar .lg-icon:hover {
    background: rgba(183, 205, 39, 0.85) !important; /* brand color on hover */
    color: #878c9f !important;
    transform: scale(1.12);
}

/* Center the icons as a group using a pseudo-wrapper technique.
   We wrap them in a centred absolute block via an injected flex trick:
   move all .lg-icon into a visually centred row */
.lg-toolbar {
    /* Push icons into a centred strip */
    justify-content: center;
    gap: 12px;                       /* spacing between icons */
}

/* The counter (#lg-counter) should float left as before */
#lg-counter {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    padding: 0 !important;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    letter-spacing: 0.5px;
    /* Ensure counter doesn't push icons off-center */
    z-index: 1;
}

/* --- 3. Bump up the next/prev navigation arrows --- */
.lg-actions .lg-next,
.lg-actions .lg-prev {
    width: 52px !important;
    height: 52px !important;
    line-height: 52px !important;
    margin-top: -26px !important;
    font-size: 16px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.55) !important;
    color: #ffffff !important;
    transition: background 220ms ease, transform 220ms ease;
}
.lg-actions .lg-next:hover,
.lg-actions .lg-prev:hover {
    background: rgba(183, 205, 39, 0.85) !important;
    color: #878c9f !important;
    transform: translateY(-50%) scale(1.1) !important;
    /* override the absolute top:50% already on these */
}
/* keep left/right positions intact */
.lg-actions .lg-next { right: 20px; }
.lg-actions .lg-prev { left: 20px; }

/* --- 4. RTL safety: icons stay centred regardless of dir --- */
html[dir="rtl"] .lg-toolbar {
    flex-direction: row-reverse;
}
html[dir="rtl"] #lg-counter {
    left: auto !important;
    right: 16px !important;
}
/* ============================================================================
   END LIGHTGALLERY MODAL UI REFACTOR
   ============================================================================ */

/* ============================================================================
   35. NAVBAR / HEADER POLISH  (May 2026 – final)
   ============================================================================ */

/* ── Header base alignment ─────────────────────────────────────────────────── */
header.main-header {
    display: flex !important;
    align-items: center !important;
    padding: 0 24px !important;
    min-height: 56px;
    height: 56px;
    gap: 10px;
}

/* ── Logo – prominent but balanced ─────────────────────────────────────────── */
header.main-header .logo-holder {
    position: relative !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
header.main-header .logo-holder img {
    max-height: 46px !important;
    height: 46px !important;
    width: auto !important;
    padding: 4px 8px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
    display: block;
    transition: transform 200ms ease, box-shadow 200ms ease !important;
}
header.main-header .logo-holder a:hover img {
    transform: scale(1.03) !important;
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.1),
        0 6px 20px rgba(0, 0, 0, 0.06) !important;
}
body.aj-dark header.main-header .logo-holder img {
    background: rgba(30, 41, 59, 0.9) !important;
}

/* ── Nav menu – takes remaining space, centers items ───────────────────────── */
header.main-header .nav-holder.main-menu {
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
header.main-header .nav-holder.main-menu nav > ul {
    display: flex !important;
    align-items: center;
    gap: 2px;
}

/* ── Menu items – polished, vertically centered ────────────────────────────── */
header.main-header .nav-holder.main-menu nav > ul > li > a {
    padding: 6px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    border-radius: 6px;
    transition: background 200ms ease, color 200ms ease !important;
    position: relative;
}
header.main-header .nav-holder.main-menu nav > ul > li > a:hover {
    background: rgba(0, 0, 0, 0.04) !important;
    color: var(--aj-primary, #8ba61e) !important;
}
/* Active page highlight */
header.main-header .nav-holder.main-menu nav > ul > li.current-menu-item > a,
header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-home {
    color: var(--aj-primary, #8ba61e) !important;
    font-weight: 600 !important;
}

/* ── Dropdown caret – bigger, vertically centered, better spacing ──────────── */
header.main-header .nav-holder.main-menu nav > ul > li > a .fa-caret-down,
header.main-header .nav-holder.main-menu nav > ul > li > a .fa-angle-down {
    font-size: 13px !important;
    margin-inline-start: 4px;
    opacity: 0.6;
    transition: transform 200ms ease, opacity 200ms ease;
    line-height: 1;
    vertical-align: middle;
}
header.main-header .nav-holder.main-menu nav > ul > li:hover > a .fa-caret-down,
header.main-header .nav-holder.main-menu nav > ul > li:hover > a .fa-angle-down {
    opacity: 1;
    transform: rotate(180deg);
}

/* ── "Add Property" primary CTA button ─────────────────────────────────────── */
header.main-header .add-list_wrap {
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
}
.aj-add-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 7px 18px !important;
    background: var(--aj-primary, #b7cd27) !important;
    color: #1a2e05 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: none !important;
    white-space: nowrap;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(183, 205, 39, 0.25);
    transition: all 200ms ease !important;
    cursor: pointer;
}
.aj-add-btn:hover {
    background: #a5b825 !important;
    box-shadow: 0 4px 14px rgba(183, 205, 39, 0.35);
    transform: translateY(-1px);
}
.aj-add-btn i {
    font-size: 12px;
    font-weight: 400;
}

/* ── Language toggle pill ──────────────────────────────────────────────────── */
.aj-lang-toggle {
    display: inline-flex;
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
    flex-shrink: 0;
}
.aj-lang-opt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-decoration: none !important;
    color: #64748b;
    background: transparent;
    transition: all 200ms ease;
    cursor: pointer;
    line-height: 1;
    white-space: nowrap;
    font-family: 'Jost', 'Inter', system-ui, sans-serif;
}
.aj-lang-opt:hover {
    color: #1e293b;
    background: rgba(255, 255, 255, 0.8);
}
.aj-lang-opt--active,
.aj-lang-opt--active:hover {
    background: var(--aj-primary, #b7cd27) !important;
    color: #878c9f !important;
    box-shadow: 0 2px 6px rgba(183, 205, 39, 0.3);
    pointer-events: none;
}
body.aj-dark .aj-lang-toggle {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
}
body.aj-dark .aj-lang-opt { color: #94a3b8; }
body.aj-dark .aj-lang-opt:hover { color: #e2e8f0; background: rgba(255, 255, 255, 0.08); }
body.aj-dark .aj-lang-opt--active,
body.aj-dark .aj-lang-opt--active:hover {
    background: var(--aj-primary, #b7cd27) !important;
    color: #878c9f !important;
}

/* ── Sign-in / Dashboard alignment ─────────────────────────────────────────── */
header.main-header .show-reg-form {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
header.main-header .show-reg-form a {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 500;
}

/* Bell/notification alignment */
header.main-header .cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}

/* Hide old globe button and modal */
header.main-header .header-opt_btn,
header.main-header .header-opt,
.header-opt-modal {
    display: none !important;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 992px) {
    header.main-header {
        padding: 0 14px !important;
        min-height: 54px;
        height: auto;
    }
    header.main-header .logo-holder img {
        max-height: 42px !important;
        height: 42px !important;
    }
    header.main-header .nav-holder.main-menu nav > ul > li > a {
        padding: 6px 10px !important;
        font-size: 13px !important;
    }
    .aj-add-btn span { display: none; }
    .aj-add-btn { padding: 7px 12px !important; }
    .aj-lang-toggle { order: 10; }
}

@media (max-width: 600px) {
    header.main-header {
        padding: 0 10px !important;
        min-height: 50px;
        gap: 6px;
    }
    header.main-header .logo-holder img {
        max-height: 38px !important;
        height: 38px !important;
        padding: 4px 8px !important;
    }
    .aj-lang-opt { padding: 4px 10px; font-size: 11px; }
}

/* Hero responsive */
@media (max-width: 640px) {
    .aj-hero-search-section {
        min-height: 260px;
        padding-bottom: 50px;
    }
}


/* ============================================================================
   36. VALUATION CTA SECTION POLISH
   ============================================================================ */

/* Remove hard green bottom border line */
.hidden-section.single-par2 {
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
}
.hidden-section.single-par2::after,
.hidden-section.single-par2::before {
    display: none !important;
}

/* More breathing space */
.hidden-section.single-par2 {
    padding: 80px 0 !important;
    min-height: 360px;
    display: flex;
    align-items: center;
}

/* Soften the overlay – lighter on right so house image shows through */
.hidden-section.single-par2 .bg-wrap.bg-parallax-wrap-gradien::after,
.hidden-section.single-par2 > .bg-wrap::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.55) 0%,
        rgba(0, 0, 0, 0.40) 50%,
        rgba(0, 0, 0, 0.25) 100%
    ) !important;
    z-index: 1 !important;
    pointer-events: none;
}
/* Override any existing heavy dark overlay */
.hidden-section.single-par2 .bg-wrap.bg-parallax-wrap-gradien {
    position: absolute;
    inset: 0;
}
.hidden-section.single-par2 .bg-wrap .bg {
    background-size: cover !important;
    background-position: center center !important;
}

/* Ensure content sits above overlay */
.hidden-section.single-par2 > .container {
    position: relative;
    z-index: 2;
}

/* ── Title + subtitle – sharper text ───────────────────────────────────────── */
.hidden-section.single-par2 .section-title.center-align {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.hidden-section.single-par2 .section-title h2 {
    color: #ffffff !important;
    font-size: clamp(24px, 3.5vw, 38px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4) !important;
    margin-bottom: 12px !important;
}
.hidden-section.single-par2 .section-title h2 span {
    color: inherit !important;
}

.hidden-section.single-par2 .section-title h3 {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: clamp(14px, 1.8vw, 18px) !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.3) !important;
    margin-bottom: 28px !important;
}

/* ── CTA button – perfectly centered, premium hover ────────────────────────── */
.hidden-section.single-par2 .section-title .btn.color-bg {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    margin-top: 8px !important;
    text-decoration: none !important;
    letter-spacing: 0.3px;
    transition: all 250ms ease !important;
    box-shadow: 0 4px 16px rgba(183, 205, 39, 0.3);
}
.hidden-section.single-par2 .section-title .btn.color-bg:hover {
    background: #9aad1f !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(154, 173, 31, 0.45);
}

/* ── Hide noisy decorative elements ────────────────────────────────────────── */
.hidden-section.single-par2 .mrb_dec,
.hidden-section.single-par2 .mrb_dec3,
.hidden-section.single-par2 .pwh_bg,
.hidden-section.single-par2 .section-dec,
.hidden-section.single-par2 .circle-wrap,
.hidden-section.single-par2 .dec-circle {
    display: none !important;
    opacity: 0 !important;
}

/* Remove green border/line from parent */
.hidden-section.single-par2,
.hidden-section.single-par2 * {
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
}
/* But restore normal borders for actual content */
.hidden-section.single-par2 .btn {
    border-color: transparent !important;
}

/* ── Mobile ────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .hidden-section.single-par2 {
        padding: 56px 16px !important;
        min-height: 280px;
    }
    .hidden-section.single-par2 .section-title h2 {
        font-size: 22px !important;
    }
    .hidden-section.single-par2 .section-title h3 {
        font-size: 14px !important;
        margin-bottom: 20px !important;
    }
    .hidden-section.single-par2 .section-title .btn.color-bg {
        padding: 10px 24px !important;
        font-size: 14px !important;
    }
}

/* ============================================================================
   35. PROPERTY FILTER BAR - ONE-LINE SEARCH (.aj-fbar)
   ----------------------------------------------------------------------------
   Compact horizontal search row used at the top of /Property.
   DOM order: Category - RealestateType - City - Neighberhood - Search button.
   In LTR this reads left-to-right; with dir="rtl" flexbox reverses the visual
   order so the same DOM produces the requested RTL layout naturally.
   ============================================================================ */
.aj-fbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
    margin: 0 0 22px;
    padding: 10px 12px;
    background: #ffffff;
    border: 1px solid var(--aj-border, #e5e7eb);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}
.aj-fbar__field {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
}
.aj-fbar__btn {
    flex: 0 0 auto;
    min-width: 130px;
    height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 10px;
    background: var(--aj-primary, #b7cd27);
    color: #ffffff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.3px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.30);
    transition: background 200ms ease, box-shadow 200ms ease, transform 200ms ease;
    white-space: nowrap;
}
.aj-fbar__btn:hover,
.aj-fbar__btn:focus-visible {
    background: var(--aj-primary-dark, #a7bd1b);
    box-shadow: 0 6px 18px rgba(183, 205, 39, 0.45);
    transform: translateY(-1px);
    color: #ffffff;
    outline: none;
}
.aj-fbar__btn:active { transform: translateY(0); }
.aj-fbar__btn i { font-size: 13px; }

/* Native <select> baseline (when chosen / select2 haven't initialised yet). */
.aj-fbar select.aj-fbar__select {
    width: 100% !important;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--aj-border, #e5e7eb);
    border-radius: 10px;
    background: #ffffff;
    color: var(--aj-text, #878c9f);
    font-size: 14px;
    line-height: 1.2;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.aj-fbar select.aj-fbar__select:focus {
    outline: none;
    border-color: var(--aj-primary, #b7cd27);
    box-shadow: 0 0 0 3px var(--aj-primary-soft, rgba(183, 205, 39, 0.20));
}

/* Chosen.js single-select widget overrides (full width inside flex item) */
.aj-fbar .chosen-container,
.aj-fbar .chosen-container-single {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 14px;
}
.aj-fbar .chosen-container-single .chosen-single {
    height: 44px !important;
    line-height: 42px !important;
    padding: 0 32px 0 14px;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: var(--aj-text, #878c9f);
}
.aj-fbar .chosen-container-active.chosen-with-drop .chosen-single,
.aj-fbar .chosen-container-active .chosen-single {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 3px var(--aj-primary-soft, rgba(183, 205, 39, 0.20)) !important;
}
.aj-fbar .chosen-container-single .chosen-single div {
    top: 0;
    height: 44px;
    width: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aj-fbar .chosen-container-single .chosen-single div b {
    background-position: 0 12px;
}
.aj-fbar .chosen-container .chosen-drop {
    border: 1px solid var(--aj-border, #e5e7eb);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    margin-top: 4px;
}
.aj-fbar .chosen-container .chosen-results li.highlighted {
    background: var(--aj-primary, #b7cd27);
    color: #ffffff;
}

/* Select2 widget overrides */
.aj-fbar .select2-container,
.aj-fbar .select2 {
    width: 100% !important;
    min-width: 0 !important;
}
.aj-fbar .select2-container .select2-selection--single {
    height: 44px !important;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}
.aj-fbar .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding: 0 32px 0 14px;
    color: var(--aj-text, #878c9f);
}
.aj-fbar .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    top: 1px;
}
.aj-fbar .select2-container--default.select2-container--open .select2-selection--single,
.aj-fbar .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 3px var(--aj-primary-soft, rgba(183, 205, 39, 0.20)) !important;
}

/* RTL: chosen / select2 widgets put the caret on the opposite side */
html[dir="rtl"] .aj-fbar .chosen-container-single .chosen-single,
[dir="rtl"]     .aj-fbar .chosen-container-single .chosen-single {
    padding: 0 14px 0 32px;
}
html[dir="rtl"] .aj-fbar .chosen-container-single .chosen-single div,
[dir="rtl"]     .aj-fbar .chosen-container-single .chosen-single div {
    right: auto;
    left: 4px;
}
html[dir="rtl"] .aj-fbar .select2-container--default .select2-selection--single .select2-selection__rendered,
[dir="rtl"]     .aj-fbar .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 14px 0 32px;
    text-align: right;
}
html[dir="rtl"] .aj-fbar .select2-container--default .select2-selection--single .select2-selection__arrow,
[dir="rtl"]     .aj-fbar .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: auto;
    left: 6px;
}

/* Tablet: keep one row but allow a tighter scale */
@media (max-width: 991px) {
    .aj-fbar { gap: 6px; padding: 8px 10px; }
    .aj-fbar__btn { min-width: 110px; padding: 0 16px; }
}

/* Mobile: stack vertically; each control fills the row */
@media (max-width: 767px) {
    .aj-fbar {
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px;
    }
    .aj-fbar__field {
        flex: 1 1 100%;
        min-width: 100%;
    }
    .aj-fbar__btn {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }
}

/* Dark mode token alignment */
body.aj-dark .aj-fbar {
    background: var(--aj-bg-card, #1e293b);
    border-color: var(--aj-border, #334155);
}
body.aj-dark .aj-fbar select.aj-fbar__select,
body.aj-dark .aj-fbar .chosen-container-single .chosen-single,
body.aj-dark .aj-fbar .select2-container .select2-selection--single {
    background: var(--aj-bg-soft, #1e293b) !important;
    border-color: var(--aj-border, #334155) !important;
    color: var(--aj-text, #e5e7eb) !important;
}

/* ============================================================================
   36. PROPERTY CARD UNIFIED (home only)  — May 2026
   ----------------------------------------------------------------------------
   Polished property-listing card for the home page latest-properties grid
   (Default/Index.cshtml). All selectors are scoped under .aj-home-section so
   these rules NEVER apply to the /Property listings grid, which keeps its
   original pre-unification visual.
   ============================================================================ */

/* Shared card shell - subtle elevation + lift on hover */
.aj-home-section .geodir-category-listing.aj-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    transition: transform 240ms ease, box-shadow 240ms ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.aj-home-section .geodir-category-listing.aj-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
}

/* Image media: locked aspect ratio, cover fit, smooth zoom on hover */
.aj-home-section .geodir-category-listing.aj-card .geodir-category-img {
    position: relative;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: #f1f5f9;
    flex: 0 0 auto;
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-img > .geodir-category-img_item {
    display: block;
    width: 100%;
    height: 100%;
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
    transition: transform 600ms ease;
}
.aj-home-section .geodir-category-listing.aj-card:hover .geodir-category-img img {
    transform: scale(1.04);
}

/* Empty / fallback media state */
.aj-home-section .geodir-category-listing.aj-card .geodir-category-img.aj-card-media--empty {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-img.aj-card-media--empty img {
    display: none !important;
}
.aj-home-section .geodir-category-listing.aj-card .aj-card-media-fallback {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(15, 23, 42, 0.18);
    font-size: 64px;
    text-decoration: none;
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-img:not(.aj-card-media--empty) .aj-card-media-fallback {
    display: none !important;
}

/* Location pill on the image (white text on overlay) */
.aj-home-section .geodir-category-listing.aj-card .geodir-category-location b {
    color: #ffffff !important;
}

/* Content area: even spacing, push details row to the bottom */
.aj-home-section .geodir-category-listing.aj-card .geodir-category-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 18px 20px !important;
    background: #ffffff;
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-content .title-sin_item {
    margin: 0 0 10px !important;
    min-height: 2.6em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-content_price {
    margin-bottom: 12px !important;
}
.aj-home-section .geodir-category-listing.aj-card .geodir-category-content-details {
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px solid #e5e7eb;
}

/* RTL content alignment */
html[dir="rtl"] .aj-home-section .geodir-category-listing.aj-card .geodir-category-content,
[dir="rtl"]     .aj-home-section .geodir-category-listing.aj-card .geodir-category-content {
    text-align: right;
}
html[dir="rtl"] .aj-home-section .geodir-category-listing.aj-card .geodir-category-content-details ul,
[dir="rtl"]     .aj-home-section .geodir-category-listing.aj-card .geodir-category-content-details ul {
    padding-right: 0;
}

/* Smaller phones - tighten paddings */
@media (max-width: 480px) {
    .aj-home-section .geodir-category-listing.aj-card .geodir-category-content {
        padding: 14px 16px !important;
    }
}

/* Dark-mode parity */
body.aj-dark .aj-home-section .geodir-category-listing.aj-card,
body.aj-dark .aj-home-section .geodir-category-listing.aj-card .geodir-category-content {
    background: var(--aj-bg-card, #1e293b) !important;
}
body.aj-dark .aj-home-section .geodir-category-listing.aj-card .geodir-category-content-details {
    border-top-color: rgba(255, 255, 255, 0.06);
}
body.aj-dark .aj-home-section .geodir-category-listing.aj-card .geodir-category-img.aj-card-media--empty {
    background: linear-gradient(135deg, #1e293b 0%, #878c9f 100%);
}
body.aj-dark .aj-home-section .geodir-category-listing.aj-card .aj-card-media-fallback {
    color: rgba(241, 245, 249, 0.18);
}

/* ----------------------------------------------------------------------------
   Home compact filter bar (.aj-fbar--home) - sits directly under the banner.
   Reuses the base .aj-fbar layout from section 35; just tweaks the wrapper
   spacing and a soft drop-shadow so it visually attaches to the hero.
   ---------------------------------------------------------------------------- */
.aj-home-fbar-wrap {
    position: relative;
    z-index: 5;
    margin: 0;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
    margin-top: -28px;
    margin-bottom: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10);
}

/* Trim the now-redundant bottom padding on the hero (the old in-hero search
   card used to sit there; without it the gap is visually too large). */
.aj-hero-search-section {
    padding-bottom: 48px;
}

@media (max-width: 991px) {
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
        margin-top: -20px;
    }
}
@media (max-width: 767px) {
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
        margin-top: 0;
        margin-bottom: 14px;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    }
    .aj-hero-search-section {
        padding-bottom: 24px;
    }
}

/* ============================================================================
   37. HOME RHYTHM (spacing + separators)
   ----------------------------------------------------------------------------
   Premium vertical rhythm for the home page: comfortable padding between every
   major home section + a clean hairline-and-pill separator at each boundary.
   The "Why Choose" section keeps its own dedicated separator from
   abujudom-home-why.css; .aj-why is intentionally NOT marked .aj-home-section
   so this ruleset never double-applies to it.
   ============================================================================ */

.aj-home-section {
    position: relative;
    border-block-start: 1px solid var(--aj-border, rgba(15, 23, 42, 0.08));
}

.aj-home-section::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    width: 56px;
    height: 4px;
    margin-inline: auto;
    border-radius: 999px;
    background: var(--aj-primary, #b7cd27);
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 3;
}

.aj-home-section.gray-bg.small-padding,
.aj-home-section.gray-bg:not(.small-padding),
.aj-home-section.aj-discover-amman,
section#Agent.aj-home-section {
    padding-block: clamp(56px, 7vw, 96px) !important;
}

.aj-home-section .section-title.st-center {
    margin-block-end: clamp(20px, 2.4vw, 32px);
}

.aj-home-fbar-wrap {
    padding-block: 0 clamp(20px, 4vw, 36px);
}

.aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
    background: #ffffff;
    border-radius: var(--aj-radius, 14px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    padding: clamp(10px, 1.4vw, 14px);
}

@media (max-width: 600px) {
    .aj-home-section.gray-bg.small-padding,
    .aj-home-section.gray-bg:not(.small-padding),
    .aj-home-section.aj-discover-amman,
    section#Agent.aj-home-section {
        padding-block: clamp(40px, 8vw, 56px) !important;
    }
    .aj-home-section::before {
        width: 48px;
        height: 3px;
    }
    .aj-home-fbar-wrap {
        padding-block: 0 24px;
    }
}

/* ============================================================================
   38. FOOTER (logo + city silhouette)  -- May 2026
   Decorative skyline silhouette behind .main-footer + sized footer brand mark.
   ============================================================================ */
.main-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.main-footer::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: clamp(120px, 14vw, 220px);
    background: url("/Content/SiteAr/images/city-bg.png") center bottom / contain no-repeat;
    opacity: 0.10;
    filter: brightness(1.2) saturate(0.7);
    pointer-events: none;
    z-index: 0;
}

.main-footer > * {
    position: relative;
    z-index: 1;
}

.aj-footer-brand .aj-footer-logo,
.aj-footer-logo {
    display: block;
    max-width: 180px;
    height: auto;
    width: auto;
    margin-block-end: 16px;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
    transition: transform var(--aj-transition);
}

.aj-footer-brand .aj-footer-logo:hover,
.aj-footer-logo:hover {
    transform: translateY(-2px);
}

@media (max-width: 600px) {
    .aj-footer-brand .aj-footer-logo,
    .aj-footer-logo {
        max-width: 140px;
    }
    .main-footer::before {
        height: clamp(90px, 22vw, 160px);
        opacity: 0.06;
    }
}

/* ============================================================================
   39. LIST CARD POLISH (May 2026 - trimmed r58)
   ----------------------------------------------------------------------------
   Safe cosmetic-only enhancements for /Property and /Project list pages.
   Scoped to #aj-property-grid and #aj-project-grid only so home cards
   (Default/Index.cshtml) and the details views are never affected.

   The prior Section 39 attempted a full layout rewrite (aspect-ratio image,
   flex content column, absolute-positioned location strip, pinned
   save/compare buttons) that fought with the CSS-Grid masonry layout from
   Section 26 and forced the listing into a single full-width column. This
   r58 version keeps ONLY the low-risk styling so the existing masonry /
   CSS-grid layout continues to render correctly:
     - Card border-radius + soft shadow + hover lift
     - Status pill (.blue-bg) + Type pill (.color-bg) brand colours
     - Save / Compare circular dark button visuals (no positioning overrides)
     - Location strip + price + stats row colour tints (no layout overrides)
   Bilingual + RTL parity is preserved because nothing in this section uses
   physical left/right offsets to position anything.
   ============================================================================ */

#aj-property-grid .listing-item .geodir-category-listing,
#aj-project-grid  .listing-item .geodir-category-listing {
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06) !important;
    overflow: hidden;
    transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease !important;
}
#aj-property-grid .listing-item:hover .geodir-category-listing,
#aj-project-grid  .listing-item:hover .geodir-category-listing {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.10) !important;
    border-color: rgba(183, 205, 39, 0.30) !important;
}

/* Status pill (.blue-bg) + Type pill (.color-bg) brand colours */
#aj-property-grid .listing-item .list-single-opt_header_cat li a.cat-opt.blue-bg,
#aj-project-grid  .listing-item .list-single-opt_header_cat li a.cat-opt.blue-bg {
    background: #878c9f !important;
    color: #ffffff !important;
}
#aj-property-grid .listing-item .list-single-opt_header_cat li a.cat-opt.color-bg,
#aj-project-grid  .listing-item .list-single-opt_header_cat li a.cat-opt.color-bg {
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
}

/* Save + Compare circular dark button visuals - visuals only, no position */
#aj-property-grid .listing-item .geodir_save-btn,
#aj-property-grid .listing-item .compare-btn,
#aj-project-grid  .listing-item .geodir_save-btn,
#aj-project-grid  .listing-item .compare-btn {
    background: #878c9f !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
    transition: transform 220ms ease, background 220ms ease !important;
}
#aj-property-grid .listing-item .geodir_save-btn:hover,
#aj-project-grid  .listing-item .geodir_save-btn:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
    transform: scale(1.08);
}
#aj-property-grid .listing-item .compare-btn:hover,
#aj-project-grid  .listing-item .compare-btn:hover {
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    transform: scale(1.08);
}
#aj-property-grid .listing-item .geodir_save-btn i,
#aj-property-grid .listing-item .compare-btn i,
#aj-project-grid  .listing-item .geodir_save-btn i,
#aj-project-grid  .listing-item .compare-btn i {
    color: #ffffff !important;
}

/* Location strip - colour tint only, leave position to theme + Section 26 */
#aj-property-grid .listing-item .geodir-category-location b,
#aj-project-grid  .listing-item .geodir-category-location b {
    color: #ffffff !important;
}
#aj-property-grid .listing-item .geodir-category-location i,
#aj-project-grid  .listing-item .geodir-category-location i {
    color: var(--aj-primary, #b7cd27) !important;
}

/* Price tint - brand olive/lime */
#aj-property-grid .listing-item .geodir-category-content_price,
#aj-project-grid  .listing-item .geodir-category-content_price {
    color: var(--aj-primary, #b7cd27) !important;
}
#aj-property-grid .listing-item .geodir-category-content_price a,
#aj-project-grid  .listing-item .geodir-category-content_price a {
    color: var(--aj-primary, #b7cd27) !important;
}

/* Stats row icon tint - colour only, no layout */
#aj-property-grid .listing-item .geodir-category-content-details i,
#aj-project-grid  .listing-item .geodir-category-content-details i {
    color: var(--aj-primary, #b7cd27) !important;
}

/* Dark-mode parity - card surface only */
body.aj-dark #aj-property-grid .listing-item .geodir-category-listing,
body.aj-dark #aj-project-grid  .listing-item .geodir-category-listing {
    background: var(--aj-bg-card, #1e293b) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* ============================================================================
   40. HOME POLISH (search bar contrast + section-head band)  -- May 2026
   ----------------------------------------------------------------------------
   Two CSS-only refinements scoped to the home page (Default/Index.cshtml):

     A. Dark, readable compact search bar (.aj-fbar.aj-fbar--home).
        Section 35 set a white surface; section 36/37 nudged it. Here we
        tighten the selector with .aj-home-fbar-wrap so we beat both without
        leaning on !important except where chosen.js / select2 plugin styles
        already use it.

     B. Unified "section head" band on the Latest Properties section
        (<section class="aj-home-section gray-bg small-padding">) -- title
        and category filter buttons share one balanced row, then a hairline +
        brand-olive pill divider sits between the head and the cards grid.

   No --aj-navy token exists in the codebase (verified); we use #0e2340 with
   a documented fallback. All spacing uses logical properties so RTL works
   without dir-specific overrides.
   ============================================================================ */

/* -------------------------------------------------------------------- 40.A */
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
    background: var(--aj-navy, #0e2340);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--aj-radius, 14px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
    padding: clamp(10px, 1.4vw, 14px);
}

.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__field + .aj-fbar__field {
    border-inline-start: 1px solid rgba(255, 255, 255, 0.12);
}

.aj-home-fbar-wrap .aj-fbar.aj-fbar--home select.aj-fbar__select {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-weight: 500;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home select.aj-fbar__select::placeholder {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 500;
}

.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-single {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    font-weight: 500;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-default,
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-default span {
    color: rgba(255, 255, 255, 0.78) !important;
    font-weight: 500;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-single span {
    color: #ffffff;
    opacity: 1;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-single div b {
    border-top-color: rgba(255, 255, 255, 0.85);
    filter: brightness(0) invert(1) opacity(0.85);
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-active.chosen-with-drop .chosen-single,
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-active .chosen-single {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 2px var(--aj-primary, #b7cd27) !important;
    outline: 2px solid var(--aj-primary, #b7cd27);
    outline-offset: 2px;
}

.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container .select2-selection--single {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container--default .select2-selection--single .select2-selection__rendered {
    
    font-weight: 500;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: rgba(255, 255, 255, 0.78) !important;
    font-weight: 500;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-top-color: rgba(255, 255, 255, 0.85) !important;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container--default.select2-container--open .select2-selection--single,
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 2px var(--aj-primary, #b7cd27) !important;
    outline: 2px solid var(--aj-primary, #b7cd27);
    outline-offset: 2px;
}

.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__btn {
    background: var(--aj-primary, #b7cd27);
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.4px;
}
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__btn:hover,
.aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__btn:focus-visible {
    background: var(--aj-primary-dark, #a7bd1b);
    color: #ffffff;
}

@media (max-width: 600px) {
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
        padding: 10px;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__field + .aj-fbar__field {
        border-inline-start: 0;
    }
}

/* -------------------------------------------------------------------- 40.B */
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding {
    padding-block: clamp(40px, 4.8vw, 56px) !important;
    z-index: 0;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .aj-latest-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding-block-end: clamp(14px, 1.8vw, 22px);
    margin-block-end: 0;
    position: relative;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .aj-latest-head::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(15, 23, 42, 0.10), transparent);
    pointer-events: none;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .aj-latest-title-col {
    flex: 0 0 auto;
    max-width: 100%;
}
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .aj-latest-tabs-col {
    flex: 1 1 0;
    max-width: 100%;
    display: flex;
    justify-content: flex-end;
}
html[dir="rtl"] .aj-home-section.aj-latest-properties-section.gray-bg.small-padding .aj-latest-tabs-col {
    justify-content: flex-start;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .aj-latest-title {
    margin: 0 !important;
    padding: 0 !important;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .section-title h1,
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .section-title h2 {
    padding-block-end: 12px;
    margin-block-end: 0;
}
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .section-title h1::after,
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .section-title h2::after {
    height: 4px;
    width: 56px;
    border-radius: 999px;
    background: var(--aj-primary, #b7cd27);
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters.gallery-filters {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    align-items: center;
    width: 100%;
    float: none !important;
    border: 0;
    border-radius: 0;
    overflow: visible;
    margin: 0 !important;
    padding: 0 !important;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter {
    display: inline-flex;
    float: none !important;
    align-items: center;
    height: 32px;
    padding-inline: 14px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid var(--aj-border, #e5e7eb);
    color: var(--aj-text, #878c9f);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background var(--aj-transition, 200ms ease),
                border-color var(--aj-transition, 200ms ease),
                color var(--aj-transition, 200ms ease),
                box-shadow var(--aj-transition, 200ms ease);
}
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter:hover,
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter:focus-visible {
    background: var(--aj-primary-soft, rgba(183, 205, 39, 0.12));
    border-color: var(--aj-primary, #b7cd27);
    color: var(--aj-primary-dark, #a7bd1b);
    outline: none;
}
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter.gallery-filter-active {
    background: var(--aj-primary, #b7cd27);
    border-color: var(--aj-primary, #b7cd27);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.30);
}
.aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter span {
    color: inherit;
    font-weight: inherit;
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .grid-item-holder {
    margin-block-start: clamp(10px, 1.6vw, 16px);
}

.aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .grid-item-holder::before {
    display: none;
}

@media (max-width: 600px) {
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding {
        padding-block: clamp(30px, 6vw, 40px) !important;
    }
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .aj-latest-head {
        gap: 10px;
        padding-block-end: 16px;
    }
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding .section-title h1,
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding .section-title h2 {
        padding-block-end: 10px;
    }
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters.gallery-filters {
        gap: 8px;
    }
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter {
        height: 30px;
        padding-inline: 12px;
        font-size: 12px;
    }
    .aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .grid-item-holder {
        margin-block-start: 8px;
    }
}

body.aj-dark .aj-home-section.aj-latest-properties-section.gray-bg.small-padding > .container > .aj-latest-head::after {
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.08), transparent);
}
body.aj-dark .aj-home-section.aj-latest-properties-section.gray-bg.small-padding .listing-filters .gallery-filter {
    background: var(--aj-bg-card, #1e293b);
    border-color: var(--aj-border, #334155);
    color: var(--aj-text, #e5e7eb);
}

/* ============================================================================
   41. SINCE 1950 BADGES (home + footer)  -- May 2026
   ----------------------------------------------------------------------------
   Heritage tagline pills used in two prominent places:

     A. Home hero – under the brand title, inside .aj-hero-content.
        Premium pill with brand-olive accent line on the inline-start side,
        white surface, thin --aj-border, brand-olive icon, dark text.

     B. Footer – directly under the brand logo (.aj-footer-brand). The
        footer surface is light (#f8fafc, set in section 7), so we mirror
        the home badge treatment for cleanest contrast and brand cohesion.

   All spacing uses logical properties so RTL parity is automatic.
   ============================================================================ */

.aj-since-badge,
.aj-footer-since {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-block: 6px;
    padding-inline: 16px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--aj-text, #878c9f);
    border: 1px solid var(--aj-border, #e5e7eb);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    position: relative;
    max-width: 100%;
}

.aj-since-badge::before,
.aj-footer-since::before {
    content: "";
    position: absolute;
    inset-block: 5px;
    inset-inline-start: 5px;
    width: 3px;
    border-radius: 999px;
    background: var(--aj-primary, #b7cd27);
}

.aj-since-badge i,
.aj-footer-since i {
    color: var(--aj-primary, #b7cd27);
    font-size: 14px;
    line-height: 1;
}

.aj-since-badge__year,
.aj-footer-since__year {
    color: var(--aj-text, #878c9f);
}

.aj-since-badge__sep,
.aj-footer-since__sep {
    color: var(--aj-text-muted, #6b7280);
}

.aj-since-badge__copy,
.aj-footer-since__copy {
    color: var(--aj-text-muted, #6b7280);
    text-transform: none;
    font-weight: 500;
    letter-spacing: 0;
}

.aj-since-badge {
    margin-block: clamp(6px, 1.4vw, 14px);
}

.aj-footer-since {
    margin-block-start: 12px;
}

.aj-hero-content .aj-since-badge {
    background: rgba(255, 255, 255, 0.94);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

@media (max-width: 600px) {
    .aj-since-badge,
    .aj-footer-since {
        font-size: 11px;
        padding-inline: 14px 12px;
        gap: 6px;
    }
    .aj-since-badge__copy,
    .aj-footer-since__copy {
        display: none;
    }
}

body.aj-dark .aj-since-badge,
body.aj-dark .aj-footer-since {
    background: var(--aj-bg-card, #1e293b);
    color: var(--aj-text, #e5e7eb);
    border-color: var(--aj-border, #334155);
}
body.aj-dark .aj-since-badge__year,
body.aj-dark .aj-footer-since__year {
    color: var(--aj-text, #e5e7eb);
}
body.aj-dark .aj-since-badge__copy,
body.aj-dark .aj-footer-since__copy,
body.aj-dark .aj-since-badge__sep,
body.aj-dark .aj-footer-since__sep {
    color: var(--aj-text-muted, #94a3b8);
}

/* ============================================================================
   42. POLISH PASS - 3-col list, mobile fbar, slider track  -- May 2026
   ----------------------------------------------------------------------------
   CSS-only refinements requested after r58:

     A. /Property and /Project listing grids (#aj-property-grid,
        #aj-project-grid) render 3 cards per row on >= 1200px, 2 on tablet,
        1 on phone. Home masonry is left untouched.

     B. Compact home search bar (.aj-fbar.aj-fbar--home) on phones (<= 600px)
        becomes a 2x2 grid with the Search button as a full-width row, so
        the bar no longer dominates the viewport on mobile.

     C. Slick slider pagination dots (.slick-dots) are restyled into clean
        brand pills that are 100% visible (the legacy default barely showed).
        Slick is loaded via plugins.js so this applies wherever a Slick
        carousel renders on the home page (hero + sub-carousels).

   All spacing uses logical properties so RTL parity is automatic.
   ============================================================================ */

/* -------------------------------------------------------------------- 42.A */
.listing-item-container#aj-property-grid,
.listing-item-container#aj-project-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.listing-item-container#aj-property-grid > .listing-item,
.listing-item-container#aj-project-grid  > .listing-item {
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.listing-item-container#aj-property-grid > .pagination,
.listing-item-container#aj-project-grid  > .pagination {
    grid-column: 1 / -1;
}

@media (max-width: 1199px) {
    .listing-item-container#aj-property-grid,
    .listing-item-container#aj-project-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .listing-item-container#aj-property-grid,
    .listing-item-container#aj-project-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.listing-item-container#aj-property-grid.aj-list-view,
.listing-item-container#aj-project-grid.aj-list-view {
    grid-template-columns: 1fr !important;
    gap: 16px;
}

/* -------------------------------------------------------------------- 42.B */
@media (max-width: 600px) {
    .aj-home-fbar-wrap {
        padding-block: 0 16px;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 8px;
        margin-block-end: 10px;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__field {
        flex: unset;
        min-width: 0;
        width: auto;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__btn {
        grid-column: 1 / -1;
        width: 100%;
        height: 40px;
        min-width: 0;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home select.aj-fbar__select,
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-single,
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container .select2-selection--single {
        height: 38px !important;
        line-height: 36px !important;
        font-size: 13px;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-single {
        padding-inline: 12px 28px;
    }
}

/* -------------------------------------------------------------------- 42.C */
.slick-slider .slick-dots,
.slick-dots {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding-block: 16px 4px;
    overflow: visible;
    bottom: auto;
}

.slick-dots li {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}

.slick-dots li button {
    width: 24px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--aj-border, #e5e7eb) !important;
    opacity: 0.85;
    cursor: pointer;
    text-indent: -9999px;
    overflow: hidden;
    transition: var(--aj-transition, 200ms ease);
    box-shadow: none;
}

.slick-dots li button:before {
    content: "";
    color: transparent;
    opacity: 0;
}

.slick-dots li button:hover,
.slick-dots li button:focus-visible {
    background: var(--aj-primary-dark, #a7bd1b) !important;
    opacity: 1;
    outline: none;
}

.slick-dots li.slick-active button {
    width: 32px;
    background: var(--aj-primary, #b7cd27) !important;
    opacity: 1;
    box-shadow: 0 2px 8px rgba(183, 205, 39, 0.40);
}

.listing-carousel-wrapper,
.testimonials-slider,
.text-carousel,
.slick-slider {
    padding-block-end: 12px;
}

.listing-carousel .slick-dots {
    bottom: auto;
    margin-block-start: 12px;
}

.slick-prev,
.slick-next,
.slick-arrow {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    transition: var(--aj-transition, 200ms ease);
    z-index: 4;
}

.slick-prev:hover,
.slick-next:hover,
.slick-arrow:hover,
.slick-prev:focus-visible,
.slick-next:focus-visible,
.slick-arrow:focus-visible {
    background: var(--aj-primary, #b7cd27);
    border-color: var(--aj-primary, #b7cd27);
    color: #ffffff;
    outline: none;
}

.slick-prev:before,
.slick-next:before,
.slick-arrow:before {
    color: inherit;
    opacity: 1;
    font-size: 14px;
}

body.aj-dark .slick-dots li button {
    background: rgba(255, 255, 255, 0.18) !important;
}
body.aj-dark .slick-dots li.slick-active button {
    background: var(--aj-primary, #b7cd27) !important;
}

/* ============================================================================
   43. LISTING FILTER BAR — dark navy parity with home  -- May 2026
   ============================================================================ */
.aj-fbar:not(.aj-fbar--home) {
    background: var(--aj-navy, #0e2340);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--aj-radius, 14px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
    padding: clamp(10px, 1.4vw, 14px);
}

.aj-fbar:not(.aj-fbar--home) .aj-fbar__field label,
.aj-fbar:not(.aj-fbar--home) .chosen-container-single .chosen-single span,
.aj-fbar:not(.aj-fbar--home) .select2-selection__placeholder,
.aj-fbar:not(.aj-fbar--home) .select2-selection__rendered {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 500;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-single .chosen-single,
.aj-fbar:not(.aj-fbar--home) .select2-container--default .select2-selection {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-single .chosen-single div b {
    filter: brightness(0) invert(1) opacity(0.85);
}
.aj-fbar:not(.aj-fbar--home) .select2-selection__arrow b {
    border-top-color: rgba(255, 255, 255, 0.85) !important;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-active.chosen-with-drop .chosen-single,
.aj-fbar:not(.aj-fbar--home) .chosen-container-active .chosen-single,
.aj-fbar:not(.aj-fbar--home) .select2-container--open .select2-selection,
.aj-fbar:not(.aj-fbar--home) .select2-container--focus .select2-selection {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 2px var(--aj-primary, #b7cd27) !important;
}

.aj-fbar:not(.aj-fbar--home) .aj-fbar__btn {
    background: var(--aj-primary, #b7cd27);
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.4px;
}
.aj-fbar:not(.aj-fbar--home) .aj-fbar__btn:hover,
.aj-fbar:not(.aj-fbar--home) .aj-fbar__btn:focus-visible {
    background: var(--aj-primary-dark, #a7bd1b);
    color: #ffffff;
}

/* ============================================================================
   44. MUTED TEXT + ICON COLOR — #878c9f
   ============================================================================ */
:root {
    --aj-text-muted: #878c9f;
    --aj-icon-muted: #878c9f;
}

body.aj-dark {
    --aj-text-muted: #c2c8d6;
    --aj-icon-muted: #c2c8d6;
}

.geodir-category-content p,
.geodir-category-content_loc,
.geodir-category-content-details li span,
.geodir-category-location b,
.aj-results-sub,
.aj-results-page,
.aj-discover-amman p,
.aj-why__head .aj-why__lede,
.aj-why-card p,
.aj-stat-tile__label,
.aj-step-card p,
.aj-pillar-card p,
.section-title h4,
.section-title p,
.about-content p,
.about-content li,
.contact-content p,
.contact-content li,
.contact-info p,
.list-single-content p,
.list-single-stats li,
.fl-wrap p:not(.aj-results-title):not(.text-brand),
.footer-widget-list a,
.footer-info-widget p,
.footer-widget li {
    color: var(--aj-text-muted, #878c9f) !important;
}

.geodir-category-content-details li i,
.list-single-stats li i,
.geodir-category-content-details i,
.list-single-content i:not(.color-bg):not(.brand-icon),
.contact-info-item i,
.contact-info i,
.footer-contacts-widget i,
.footer-widget i:not(.brand-icon),
.aj-meta i,
.aj-stats i,
.aj-results-eyebrow i,
.aj-card-meta i,
.fl-wrap-section .section-title i {
    color: var(--aj-icon-muted, #878c9f) !important;
}

.breadcrumbs li,
.breadcrumbs li a:not(:hover):not(:focus),
.aj-breadcrumb a:not(:hover):not(:focus) {
    color: var(--aj-text-muted, #878c9f) !important;
}

.listsearch-input-item label,
.aj-fbar:not([class*="--home"]):not([class*="--listing"]) .aj-fbar__field label {
    color: var(--aj-text-muted, #878c9f);
}

/* ============================================================================
   45. LISTING FILTER BAR — readable dropdown text
   ============================================================================ */
.aj-fbar:not(.aj-fbar--home) .chosen-container-single .chosen-single,
.aj-fbar:not(.aj-fbar--home) .select2-container--default .select2-selection {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    color: #878c9f !important;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-single .chosen-single span,
.aj-fbar:not(.aj-fbar--home) .select2-selection__rendered,
.aj-fbar:not(.aj-fbar--home) .select2-selection__placeholder {
    color: #878c9f !important;
    font-weight: 500;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-single.chosen-default .chosen-single span,
.aj-fbar:not(.aj-fbar--home) .select2-selection__placeholder {
    color: #878c9f !important;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-single .chosen-single div b {
    filter: none !important;
    border-top-color: #6b7280 !important;
}
.aj-fbar:not(.aj-fbar--home) .select2-selection__arrow b {
    border-top-color: #6b7280 !important;
}

.aj-fbar:not(.aj-fbar--home) .chosen-container-active.chosen-with-drop .chosen-single,
.aj-fbar:not(.aj-fbar--home) .chosen-container-active .chosen-single,
.aj-fbar:not(.aj-fbar--home) .select2-container--open .select2-selection,
.aj-fbar:not(.aj-fbar--home) .select2-container--focus .select2-selection {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 2px var(--aj-primary, #b7cd27) !important;
}

/* ============================================================================
   46. PAGE HERO + ADVANCED FILTERS
   ============================================================================ */
.aj-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-block: clamp(56px, 9vw, 120px);
    background:
        radial-gradient(circle at 12% 35%, rgba(183, 205, 39, 0.18), transparent 55%),
        radial-gradient(circle at 88% 65%, rgba(20, 66, 115, 0.10), transparent 60%),
        linear-gradient(180deg, #f3f6e8 0%, #eef2dc 100%);
    border-block-end: 1px solid rgba(15, 23, 42, 0.06);
}
.aj-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/Content/SiteAr/images/city-bg.png") center bottom / cover no-repeat;
    opacity: 0.10;
    filter: brightness(1.4) saturate(0.7);
    pointer-events: none;
    z-index: 0;
}
.aj-page-hero > .container { position: relative; z-index: 1; }
.aj-page-hero__title {
    margin: 0;
    color: #878c9f;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 1.2;
    text-align: end;
}
.aj-page-hero__title::after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    border-radius: 999px;
    background: var(--aj-primary, #b7cd27);
    margin-block-start: 14px;
    margin-inline-start: auto;
    margin-inline-end: 0;
}
.aj-page-hero__sub {
    margin: 12px 0 0;
    color: var(--aj-text-muted, #878c9f);
    font-size: 14px;
    text-align: end;
    max-width: 680px;
    margin-inline-start: auto;
}
html[dir="ltr"] .aj-page-hero__title,
html[dir="ltr"] .aj-page-hero__sub { text-align: start; }
html[dir="ltr"] .aj-page-hero__title::after { margin-inline-start: 0; margin-inline-end: auto; }
@media (max-width: 600px) {
    .aj-page-hero { padding-block: clamp(40px, 12vw, 64px); }
}

.aj-fbar__advanced-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-block-start: 12px;
    padding-block: 8px;
    padding-inline: 14px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--aj-transition, 200ms ease), border-color var(--aj-transition, 200ms ease);
}
.aj-fbar__advanced-toggle:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.32);
}
.aj-fbar__advanced-toggle .aj-fbar__chevron {
    transition: transform 250ms ease;
    margin-inline-start: auto;
}
.aj-fbar__advanced-toggle[aria-expanded="true"] .aj-fbar__chevron {
    transform: rotate(180deg);
}

.aj-advanced-filters {
    margin-block-start: 16px;
    padding: clamp(14px, 2vw, 18px);
    background: #ffffff;
    border-radius: var(--aj-radius, 14px);
    border: 1px solid var(--aj-border, #e5e7eb);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    animation: aj-advanced-in 250ms ease both;
}
.aj-advanced-filters[hidden] { display: none !important; }
.aj-advanced-filters__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
}
.aj-advanced-filters__field { display: flex; flex-direction: column; gap: 6px; }
.aj-advanced-filters__field label {
    font-size: 12px;
    font-weight: 600;
    color: var(--aj-text-muted, #878c9f);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.aj-advanced-filters__field input,
.aj-advanced-filters__field select {
    height: 42px;
    padding-inline: 12px;
    border-radius: 10px;
    border: 1px solid var(--aj-border, #e5e7eb);
    color: #878c9f;
    font-size: 14px;
    background: #fafafa;
    box-sizing: border-box;
}
/* Normalize Chosen plugin containers to match input height */
.aj-advanced-filters__field .chosen-container,
.aj-advanced-filters__field .chosen-container .chosen-single,
.aj-advanced-filters__field .chosen-container-single .chosen-single {
    height: 42px !important;
    line-height: 42px !important;
    border-radius: 10px !important;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    background: #fafafa !important;
    font-size: 14px !important;
    box-shadow: none !important;
    padding-inline: 12px !important;
    box-sizing: border-box !important;
}
.aj-advanced-filters__field .chosen-container-single .chosen-single span {
    line-height: 40px !important;
}
.aj-advanced-filters__field .chosen-container-single .chosen-single div {
    top: 0 !important;
    height: 42px !important;
    display: flex; align-items: center;
}
.aj-advanced-filters__field input:focus,
.aj-advanced-filters__field select:focus {
    outline: 2px solid var(--aj-primary, #b7cd27);
    outline-offset: 2px;
    border-color: var(--aj-primary, #b7cd27);
    background: #ffffff;
}
.aj-advanced-filters__reset {
    justify-content: flex-end;
    align-items: flex-end;
}
.aj-advanced-filters .aj-fbar__reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.04);
    color: var(--aj-text-muted, #878c9f);
    font-size: 0; /* hide text */
    font-weight: 600;
    text-decoration: none;
    transition: background 250ms ease, color 250ms ease, transform 250ms ease;
}
/* Show sync icon via ::before */
.aj-advanced-filters .aj-fbar__reset::before {
    content: "\f2f1"; /* fa-sync-alt */
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    font-size: 15px;
    color: inherit;
    -webkit-font-smoothing: antialiased;
}
.aj-advanced-filters .aj-fbar__reset:hover {
    background: rgba(220, 38, 38, 0.08);
    color: #dc2626;
    transform: rotate(-180deg);
}
@keyframes aj-advanced-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
    .aj-advanced-filters__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}

/* ============================================================================
   47. ADVANCED FILTERS — full-width below bar
   ============================================================================ */
.aj-fbar {
    flex-wrap: wrap !important;
}
.aj-fbar > .aj-advanced-filters {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-block-start: 16px;
    align-self: stretch;
}
.aj-fbar__advanced-toggle {
    flex: 0 0 auto;
}
.aj-advanced-filters__grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}
@media (min-width: 1200px) {
    .aj-advanced-filters__grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 991px) {
    .aj-advanced-filters__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 600px) {
    .aj-advanced-filters__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ============================================================================
   48. EMPTY STATE — premium "No Results" experience
   ============================================================================ */
.aj-empty-state {
    width: 100%;
    max-width: 620px;
    margin: 48px auto 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    animation: aj-empty-fade-in 700ms cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes aj-empty-fade-in {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: none; }
}

/* ---------- Illustration ---------- */
.aj-empty-state__illustration {
    width: 260px;
    height: auto;
    margin-bottom: 28px;
}
.aj-empty-svg {
    width: 100%;
    height: auto;
    display: block;
}

/* Gentle float animation on the magnifying glass */
.aj-empty-magnifier {
    animation: aj-magnifier-float 3s ease-in-out infinite;
    transform-origin: center center;
}
@keyframes aj-magnifier-float {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    50%      { transform: translate(-4px, -6px) rotate(-3deg); }
}

/* Subtle pulse on the house roof */
.aj-empty-roof {
    animation: aj-roof-pulse 4s ease-in-out infinite;
}
@keyframes aj-roof-pulse {
    0%, 100% { stroke-opacity: 1; }
    50%      { stroke-opacity: 0.5; }
}

/* Ground subtle breathing */
.aj-empty-ground {
    animation: aj-ground-breathe 4s ease-in-out infinite;
}
@keyframes aj-ground-breathe {
    0%, 100% { rx: 120; }
    50%      { rx: 125; }
}

/* ---------- Title + Subtitle ---------- */
.aj-empty-state__title {
    font-size: 26px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 12px;
    letter-spacing: -0.3px;
    line-height: 1.3;
}
.aj-empty-state__subtitle {
    font-size: 15px;
    color: #64748b;
    line-height: 1.65;
    margin: 0 0 28px;
    max-width: 500px;
}

/* ---------- Tips ---------- */
.aj-empty-state__tips {
    background: rgba(183, 205, 39, 0.07);
    border: 1px solid rgba(183, 205, 39, 0.2);
    border-radius: 14px;
    padding: 18px 24px;
    margin-bottom: 28px;
    text-align: left;
    width: 100%;
    max-width: 460px;
}
html[dir="rtl"] .aj-empty-state__tips { text-align: right; }

.aj-empty-state__tips-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--aj-primary-dark, #a7bd1b);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}
.aj-empty-state__tips-label i {
    font-size: 15px;
    color: var(--aj-primary, #b7cd27);
}
.aj-empty-state__tips ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.aj-empty-state__tips ul li {
    position: relative;
    padding-left: 18px;
    padding-inline-start: 18px;
    padding-inline-end: 0;
    font-size: 13.5px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 2px;
}
.aj-empty-state__tips ul li::before {
    content: "";
    position: absolute;
    left: 0;
    inset-inline-start: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--aj-primary, #b7cd27);
    opacity: 0.6;
}

/* ---------- Browse All Button ---------- */
.aj-empty-state__browse-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 32px;
    border-radius: 999px;
    background: var(--aj-primary, #b7cd27);
    color: #fff !important;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(183, 205, 39, 0.25);
    transition: transform 280ms cubic-bezier(.2, .8, .2, 1),
                background 280ms ease,
                box-shadow 280ms ease;
}
.aj-empty-state__browse-btn:hover {
    transform: translateY(-2px);
    background: var(--aj-primary-dark, #a7bd1b);
    box-shadow: 0 10px 24px rgba(183, 205, 39, 0.35);
    color: #fff !important;
    text-decoration: none;
}
.aj-empty-state__browse-btn i {
    font-size: 15px;
}

/* ---------- Divider ---------- */
.aj-empty-state__divider {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 400px;
    margin: 28px 0;
    gap: 16px;
}
.aj-empty-state__divider::before,
.aj-empty-state__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #d1d5db 50%, transparent);
}
.aj-empty-state__divider span {
    font-size: 13px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ---------- Contact Card (refined) ---------- */
.aj-empty-state__contact-card {
    width: 100%;
    max-width: 540px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 20px;
    padding: 30px 34px 34px;
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06),
                0 2px 8px rgba(15, 23, 42, 0.03);
    animation: aj-empty-card-in 700ms 200ms cubic-bezier(.2, .8, .2, 1) both;
}
@keyframes aj-empty-card-in {
    from { opacity: 0; transform: translateY(16px) scale(0.98); }
    to   { opacity: 1; transform: none; }
}

.aj-empty-state__contact-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 26px;
    text-align: left;
}
html[dir="rtl"] .aj-empty-state__contact-header {
    text-align: right;
    flex-direction: row-reverse;
}

.aj-empty-state__contact-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(183, 205, 39, 0.18), rgba(183, 205, 39, 0.06));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--aj-primary, #b7cd27);
    box-shadow: 0 2px 8px rgba(183, 205, 39, 0.1);
}

.aj-empty-state__contact-header h4 {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 4px;
    line-height: 1.3;
}
.aj-empty-state__contact-header p {
    font-size: 13.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.45;
}

/* ---------- Form ---------- */
.aj-empty-state__form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

.aj-empty-state__input-group {
    position: relative;
    display: flex;
    align-items: center;
}
.aj-empty-state__input-group > i {
    position: absolute;
    inset-inline-start: 16px;
    font-size: 15px;
    color: #94a3b8;
    pointer-events: none;
    z-index: 2;
    transition: color 200ms ease;
}
html[dir="rtl"] .aj-empty-state__input-group > i {
    left: auto;
    right: 16px;
}
.aj-empty-state__input-group input {
    width: 100%;
    height: 48px;
    padding: 0 16px 0 46px;
    padding-inline-start: 46px;
    padding-inline-end: 16px;
    border: 1.5px solid #e2e5ea;
    border-radius: 14px;
    font-size: 14px;
    font-family: inherit;
    color: #1e293b;
    background: #f8fafc;
    outline: none;
    transition: border-color 250ms ease, box-shadow 250ms ease, background 250ms ease;
}
.aj-empty-state__input-group input::placeholder {
    color: #94a3b8;
    font-weight: 400;
}
.aj-empty-state__input-group input:focus {
    border-color: var(--aj-primary, #b7cd27);
    box-shadow: 0 0 0 4px rgba(183, 205, 39, 0.10);
    background: #fff;
}
.aj-empty-state__input-group:focus-within > i {
    color: var(--aj-primary, #b7cd27);
}

.aj-empty-state__submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 50px;
    padding: 0 24px;
    border: none;
    border-radius: 14px;
    background: linear-gradient(135deg, #1e293b, #334155);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    letter-spacing: 0.3px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
    transition: transform 280ms cubic-bezier(.2, .8, .2, 1),
                box-shadow 280ms ease,
                background 280ms ease;
}
.aj-empty-state__submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.20);
    background: linear-gradient(135deg, #0f172a, #1e293b);
}
.aj-empty-state__submit-btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
}
.aj-empty-state__submit-btn i {
    font-size: 14px;
    transition: transform 280ms ease;
}
.aj-empty-state__submit-btn:hover i {
    transform: translateX(3px) translateY(-2px);
}
html[dir="rtl"] .aj-empty-state__submit-btn:hover i {
    transform: translateX(-3px) translateY(-2px);
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
    .aj-empty-state {
        margin: 32px auto 24px;
        padding: 0 8px;
    }
    .aj-empty-state__illustration { width: 200px; }
    .aj-empty-state__title { font-size: 22px; }
    .aj-empty-state__subtitle { font-size: 14px; }
    .aj-empty-state__form-row { grid-template-columns: 1fr; }
    .aj-empty-state__contact-card { padding: 22px 18px 26px; border-radius: 16px; }
    .aj-empty-state__tips { padding: 14px 16px; }
    .aj-empty-state__contact-header { gap: 14px; }
    .aj-empty-state__contact-icon { width: 48px; height: 48px; font-size: 20px; border-radius: 12px; }
}

/* ---------- Dark mode support ---------- */
body.aj-dark .aj-empty-state__title { color: #e5e7eb; }
body.aj-dark .aj-empty-state__subtitle { color: #94a3b8; }
body.aj-dark .aj-empty-state__tips {
    background: rgba(183, 205, 39, 0.06);
    border-color: rgba(183, 205, 39, 0.15);
}
body.aj-dark .aj-empty-state__tips ul li { color: #94a3b8; }
body.aj-dark .aj-empty-state__contact-card {
    background: #1e293b;
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
body.aj-dark .aj-empty-state__contact-header h4 { color: #e5e7eb; }
body.aj-dark .aj-empty-state__contact-header p { color: #94a3b8; }
body.aj-dark .aj-empty-state__input-group input {
    background: #0f172a;
    border-color: #334155;
    color: #e5e7eb;
}
body.aj-dark .aj-empty-state__input-group input::placeholder { color: #64748b; }
body.aj-dark .aj-empty-state__divider span { color: #64748b; }
body.aj-dark .aj-empty-state__divider::before,
body.aj-dark .aj-empty-state__divider::after {
    background: linear-gradient(90deg, transparent, #334155 50%, transparent);
}
body.aj-dark .aj-empty-house { fill: #334155; stroke: #475569; }
body.aj-dark .aj-empty-ground { fill: #1e293b; }

/* ============================================================================
   Results header – light background bar
   ============================================================================ */
.list-main-wrap-header.fl-wrap.fixed-listing-header {
    background: #f4f6f8;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    padding: 10px 6px;
    margin-bottom: 0;
}

/* ============================================================================
   Details page – fix sidebar dropping below main content
   Use flexbox on the row to prevent float-based quirks from dropping
   the col-md-4 sidebar below the col-md-8 main content.
   ============================================================================ */
@media (min-width: 992px) {
    .gray-bg.small-padding > .container > .row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
    }
    .gray-bg.small-padding > .container > .row > .col-md-8,
    .gray-bg.small-padding > .container > .row > .col-md-4 {
        float: none !important;
    }
    .gray-bg.small-padding > .container > .row > .col-md-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .gray-bg.small-padding > .container > .row > .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    /* Elements after the two columns (limit-box, Similar Properties carousel)
       must span full width on a new line */
    .gray-bg.small-padding > .container > .row > .limit-box,
    .gray-bg.small-padding > .container > .row > .listing-carousel-wrapper {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ============================================================================
   LightGallery – Premium Lightbox Modal Polish
   ============================================================================ */

/* Overlay */
.lg-backdrop {
    background: rgba(10, 15, 25, 0.72) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
}

/* Main container – must be above .lg-backdrop (10050) */
.lg-outer {
    z-index: 10060 !important;
}

/* Image container */
.lg-outer .lg-inner {
    padding: 20px;
}

.lg-outer .lg-image {
    border-radius: 12px !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35),
                0 4px 16px rgba(0, 0, 0, 0.2) !important;
    max-height: 85vh !important;
    object-fit: contain;
}

/* Loading spinner */
.lg-outer .lg-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Close button */
.lg-toolbar .lg-close {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 12px !important;
    transition: background 200ms ease, transform 200ms ease !important;
}
.lg-toolbar .lg-close:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    transform: scale(1.05) !important;
}
.lg-toolbar .lg-close::after {
    font-size: 20px !important;
    color: #fff !important;
}

/* Toolbar */
.lg-toolbar {
    background: transparent !important;
    padding: 8px !important;
}
.lg-toolbar .lg-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.10) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 0 4px !important;
    transition: background 200ms ease !important;
}
.lg-toolbar .lg-icon:hover {
    background: rgba(255, 255, 255, 0.20) !important;
    color: #fff !important;
}

/* Prev/Next arrows */
.lg-actions .lg-prev,
.lg-actions .lg-next {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 200ms ease, transform 200ms ease !important;
}
.lg-actions .lg-prev:hover,
.lg-actions .lg-next:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    transform: scale(1.05) !important;
}
.lg-actions .lg-prev::after,
.lg-actions .lg-next::after {
    font-size: 18px !important;
    color: #fff !important;
}

/* Counter */
.lg-counter {
    background: rgba(255, 255, 255, 0.10) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 8px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Missing image fallback */
.lg-outer .lg-object[src=""],
.lg-outer .lg-object:not([src]) {
    display: none;
}
.lg-outer .lg-item.lg-loaded .lg-img-wrap:empty::after,
.lg-outer .lg-item .lg-img-wrap img[src=""]::after {
    content: "\f03e";
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", sans-serif;
    font-weight: 300;
    font-size: 72px;
    color: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 300px;
}

/* Sub-HTML caption */
.lg-sub-html {
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.5)) !important;
    padding: 16px 24px !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ============================================================================
   Nav – Scroll/Sticky header alignment for eval label
   ============================================================================ */
header.main-header.vis_secnav .aj-nav-eval__label {
    font-size: 8.5px !important;
    margin-bottom: 0 !important;
}
header.main-header.vis_secnav .aj-nav-eval {
    gap: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

/* ============================================================================
   LISTING PAGE REFINEMENTS — tighter, balanced, premium
   ============================================================================ */

/* 1. Logo card: reduce the excessive overflow below the navbar */
html body header.main-header .logo-holder .aj-logo-card {
    margin-bottom: -30px !important;
}
html header.main-header .logo-holder .aj-logo-card img {
    height: 80px !important;
    max-height: 80px !important;
    width: 80px !important;
    max-width: 80px !important;
}

/* 2. Breadcrumb strip: tighter spacing */
.breadcrumbs.fw-breadcrumbs.sp-brd {
    padding: 10px 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    border: none !important;
}



/* 4. Filter bar: slightly reduce height, tighten gaps */
.aj-fbar {
    margin-bottom: 16px !important;
    padding: 8px 10px !important;
    gap: 6px !important;
    border-radius: 14px !important;
}
.aj-fbar__btn {
    height: 40px !important;
    min-width: 120px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
}
.aj-fbar select.aj-fbar__select,
.aj-fbar .chosen-container-single .chosen-single,
.aj-fbar .select2-container .select2-selection--single {
    height: 40px !important;
    line-height: 40px !important;
}

/* 5. Results toolbar: clean single row */
.aj-results-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 16px !important;
    margin: 0 0 16px !important;
    background: #f4f6f8 !important;
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}
.aj-results-header-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.aj-results-sub {
    margin: 0 !important;
    font-size: 13px !important;
    color: #64748b !important;
}
.aj-results-count strong {
    color: #1e293b !important;
    font-weight: 700 !important;
}
.aj-results-viewtoggle ul {
    background: #fff !important;
    border-radius: 10px !important;
    padding: 3px !important;
    gap: 2px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06) !important;
}
.aj-results-viewtoggle span {
    width: 34px !important;
    height: 30px !important;
    border-radius: 8px !important;
}
.aj-results-viewtoggle span.act-grid-opt {
    background: var(--aj-primary, #b7cd27) !important;
    color: #fff !important;
}

/* RTL alignment */
html[dir="rtl"] .aj-results-header {
    flex-direction: row-reverse;
}
html[dir="rtl"] .aj-results-sub {
    text-align: right;
}

/* ============================================================================
   LOGIN / REGISTER PAGES — Premium split-card layout
   ============================================================================ */

/* Outer wrapper: full page photo background */
.main-register-wrap {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 20px !important;
    position: relative !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}
/* Login page: Petra background */
.main-register-wrap.aj-page-login {
    background-image: url('/Content/img/loginbg.jpg') !important;
}
/* Register page: Amman night background */
.main-register-wrap.aj-page-register {
    background-image: url('/Content/img/amman.jpg') !important;
}
/* Fallback for pages without specific class */
.main-register-wrap:not(.aj-page-login):not(.aj-page-register) {
    background: linear-gradient(135deg, #f0f2f5 0%, #e8eaed 50%, #f4f6f8 100%) !important;
}
/* Dark overlay for readability */
.main-register-wrap .reg-overlay {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(15, 23, 42, 0.55) !important;
    z-index: 0 !important;
}

/* Card container: the main split card */
.main-register-wrap .main-register-holder {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    max-width: 860px !important;
    width: 100% !important;
    min-height: 480px !important;
    background: #ffffff !important;
    border-radius: 24px !important;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08),
                0 8px 24px rgba(15, 23, 42, 0.04) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
    margin: 0 auto !important;
    float: none !important;
    top: auto !important;
    left: auto !important;
    z-index: 5 !important;
}

.main-register-wrap .main-register-wrapper {
    display: flex !important;
    width: 100% !important;
    float: none !important;
    margin-bottom: 0 !important;
    min-height: 480px !important;
}

/* ---- Logo/Brand Panel (left side) ---- */
.main-register-wrap .main-register-header {
    flex: 0 0 280px !important;
    width: 280px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(150deg, rgba(233, 236, 242, 0.96) 0%, rgba(222, 226, 234, 0.96) 100%) !important;
    background-image: linear-gradient(150deg, rgba(233, 236, 242, 0.96) 0%, rgba(222, 226, 234, 0.96) 100%), url('/Content/img/logo-480.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: cover, min(230px, 78%) !important;
    background-position: center, center !important;
    padding: 32px 24px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}
.main-register-wrap .main-register-header .main-register-logo {
    position: relative !important;
    z-index: 2 !important;
    float: none !important;
    width: auto !important;
    top: 0 !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Gray shape behind the logo — like production */
.main-register-wrap .main-register-header .main-register-logo::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.02);
    z-index: -1;
    pointer-events: none;
}
.main-register-wrap .main-register-header .main-register-logo img {
    height: 100px !important;
    width: auto !important;
    max-width: 160px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.06)) !important;
    position: relative;
    z-index: 1;
    opacity: 0 !important;
}
/* Decorative elements - show circles and city-bg like production */
.main-register-wrap .main-register-header .main-register-bg {
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 200px !important;
    z-index: 0 !important;
    opacity: 0.18 !important;
}
.main-register-wrap .main-register-header .mrb_dec,
.main-register-wrap .main-register-header .mrb_dec2 {
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    opacity: 0.07 !important;
    background: rgba(140, 160, 60, 0.3) !important;
    border-radius: 50% !important;
}
.main-register-wrap .main-register-header .mrb_pin {
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    background: rgba(140, 160, 60, 0.25) !important;
}

/* ---- Form Panel (right side) ---- */
.main-register-wrap .main-register {
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 32px 36px !important;
    min-height: 0 !important;
    float: none !important;
    width: auto !important;
}

/* Login/Register toggle buttons */
.main-register-wrap .main-register > .custom-form:first-child {
    display: flex !important;
    gap: 0 !important;
    margin-bottom: 24px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1.5px solid rgba(0, 0, 0, 0.08) !important;
    padding: 0 !important;
}
.main-register-wrap .main-register > .custom-form:first-child .log_btn {
    flex: 1 !important;
    height: 42px !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 200ms ease !important;
    margin: 0 !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
.main-register-wrap .main-register > .custom-form:first-child .log_btn:not(.color-bg) {
    background: #f8fafc !important;
    color: #64748b !important;
}
.main-register-wrap .main-register > .custom-form:first-child .log_btn:not(.color-bg):hover {
    background: #f0f2f5 !important;
    color: #1e293b !important;
}
.main-register-wrap .main-register > .custom-form:first-child .log_btn.color-bg {
    background: var(--aj-primary, #b7cd27) !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Form area — override base theme (style.css uses .main-register-holder prefix) */
.main-register-holder .tabs-container {
    width: 100% !important;
    padding: 0 !important;
    float: none !important;
    margin-top: 0 !important;
}
.main-register-holder .tabs-container .custom-form {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}
.main-register-holder .tabs-container .tab,
.main-register-holder .tabs-container .tab-content,
.main-register-holder .tabs-container .first-tab {
    width: 100% !important;
    padding: 0 !important;
}
.main-register-holder .main-register .custom-form {
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
}
.main-register-holder .main-register form {
    width: 100% !important;
    float: none !important;
}
/* nuclear: override ALL floats inside the form panel */
.main-register-holder .main-register *,
.main-register-holder .main-register .fl-wrap {
    float: none !important;
}
.main-register-holder .tabs-menu {
    padding: 0 !important;
    margin: 0 !important;
}

/* Labels */
.main-register-wrap .custom-form label {
    display: block !important;
    position: relative !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    z-index: 10 !important;
}
.main-register-wrap .custom-form label .dec-icon {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    margin-top: 4px !important;
    color: #94a3b8 !important;
    font-size: 14px !important;
    text-align: center !important;
    border-right: 1px solid #e5e7f2 !important;
    border-left: none !important;
    z-index: 11 !important;
}

/* Inputs */
.main-register-wrap .custom-form input[type="text"],
.main-register-wrap .custom-form input[type="email"],
.main-register-wrap .custom-form input[type="password"],
.main-register-wrap .custom-form input[type="tel"] {
    width: 100% !important;
    height: 44px !important;
    border-radius: 10px !important;
    border: 1.5px solid #e2e5ea !important;
    padding: 0 14px 0 50px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    background: #f8fafc !important;
    transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
}
.main-register-wrap .custom-form input:focus {
    border-color: var(--aj-primary, #b7cd27) !important;
    box-shadow: 0 0 0 3px rgba(183, 205, 39, 0.12) !important;
    background: #fff !important;
    outline: none !important;
}

/* Password wrapper */
.main-register-wrap .pass-input-wrap {
    position: relative !important;
    float: none !important;
    width: 100% !important;
}
.main-register-wrap .pass-input-wrap.fl-wrap {
    float: none !important;
    width: 100% !important;
}
.main-register-wrap .pass-input-wrap .eye {
    position: absolute !important;
    top: 36px !important;
    inset-inline-end: 14px !important;
    cursor: pointer !important;
    color: #94a3b8 !important;
    font-size: 15px !important;
    z-index: 2 !important;
    transition: color 200ms ease !important;
}
.main-register-wrap .pass-input-wrap .eye:hover {
    color: var(--aj-primary, #b7cd27) !important;
}

/* Lost password + remember me */
.main-register-wrap .lost_password {
    margin-bottom: 10px !important;
}
.main-register-wrap .lost_password a {
    font-size: 13px !important;
    color: var(--aj-primary-dark, #6b7a3a) !important;
    font-weight: 500 !important;
}
.main-register-wrap .filter-tags,
.main-register-wrap .filter-tags.ft-list {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.main-register-wrap .filter-tags input[type="checkbox"] {
    flex-shrink: 0 !important;
    margin-top: 3px !important;
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--aj-primary, #b7cd27) !important;
}
.main-register-wrap .filter-tags label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    margin-bottom: 0 !important;
    line-height: 1.4 !important;
}
.main-register-wrap .filter-tags label a {
    color: var(--aj-primary-dark, #6b7a3a) !important;
    font-weight: 600 !important;
}

/* Submit button */
.main-register-wrap .custom-form .log_btn.color-bg[type="submit"],
.main-register-wrap .custom-form button[type="submit"].log_btn {
    height: 46px !important;
    width: 100% !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    background: linear-gradient(135deg, #1e293b, #334155) !important;
    border: none !important;
    color: #fff !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12) !important;
    transition: transform 200ms ease, box-shadow 200ms ease !important;
    margin-top: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.main-register-wrap .custom-form .log_btn.color-bg[type="submit"]:hover,
.main-register-wrap .custom-form button[type="submit"].log_btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.18) !important;
}

/* Error messages */
.main-register-wrap .errorLogin {
    color: #dc2626 !important;
    font-size: 12px !important;
    margin-top: -12px !important;
    margin-bottom: 8px !important;
    display: block !important;
}
.main-register-wrap .alert-danger {
    border-radius: 10px !important;
    border: 1px solid rgba(220, 38, 38, 0.15) !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    margin-bottom: 16px !important;
}

/* RTL adjustments */
html[dir="rtl"] .main-register-wrap .custom-form label {
    text-align: right !important;
}
html[dir="rtl"] .main-register-wrap .custom-form label .dec-icon {
    left: auto !important;
    right: 0 !important;
    border-right: none !important;
    border-left: 1px solid #e5e7f2 !important;
}
html[dir="rtl"] .main-register-wrap .custom-form input[type="text"],
html[dir="rtl"] .main-register-wrap .custom-form input[type="email"],
html[dir="rtl"] .main-register-wrap .custom-form input[type="password"],
html[dir="rtl"] .main-register-wrap .custom-form input[type="tel"] {
    padding: 0 50px 0 14px !important;
    text-align: right !important;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .main-register-wrap {
        padding: 20px 12px !important;
    }
    .main-register-wrap .main-register-holder {
        flex-direction: column !important;
        max-width: 420px !important;
        min-height: 0 !important;
    }
    .main-register-wrap .main-register-wrapper {
        flex-direction: column !important;
    }
    .main-register-wrap .main-register-header {
        flex: 0 0 auto !important;
        padding: 24px 20px !important;
    }
    .main-register-wrap .main-register-header .main-register-logo img {
        height: 80px !important;
    }
    .main-register-wrap .main-register {
        padding: 24px 20px !important;
    }
}

@media (max-width: 991px) {
    .main-register-wrap {
        background-attachment: scroll !important;
        padding: 20px 12px !important;
    }
    .main-register-wrap .main-register-holder {
        flex-direction: column !important;
        max-width: 460px !important;
        min-height: 0 !important;
    }
    .main-register-wrap .main-register-wrapper {
        flex-direction: column !important;
        min-height: 0 !important;
    }
    .main-register-wrap .main-register-header {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-height: 220px !important;
        padding: 24px 20px !important;
        background-size: cover, min(220px, 72%) !important;
    }
    .main-register-wrap .main-register {
        padding: 24px 20px !important;
    }
}

@media (max-width: 480px) {
    .main-register-wrap .main-register-holder {
        border-radius: 16px !important;
    }
    .main-register-wrap .main-register {
        padding: 20px 16px !important;
    }
    .main-register-wrap .main-register-header {
        padding: 20px 16px !important;
    }
    .main-register-wrap .main-register-header .main-register-logo img {
        height: 60px !important;
    }
}

/* ============================================================================
   DASHBOARD — Premium Modern Styling (v2)
   Targets: #wrapper > .dashbard-menu-wrap > .dashbard-menu-container + .dashboard-content
   ============================================================================ */

/* ── Layout Container ── */
.dashbard-menu-wrap {
    display: flex !important;
    min-height: calc(100vh - 100px);
    background: #f1f4f9 !important;
}

/* ── Sidebar Panel ── */
.dashbard-menu-container {
    flex: 0 0 270px !important;
    width: 270px !important;
    background: #ffffff !important;
    border-right: 1px solid rgba(0,0,0,0.04) !important;
    padding: 0 0 24px !important;
    box-shadow: 1px 0 8px rgba(15,23,42,0.03) !important;
    overflow-y: auto;
    z-index: 2;
}
html[dir="rtl"] .dashbard-menu-container {
    border-right: none !important;
    border-left: 1px solid rgba(0,0,0,0.04) !important;
    box-shadow: -1px 0 8px rgba(15,23,42,0.03) !important;
}

/* Sidebar Logo */
.dashbard-menu-container .logo-holder {
    padding: 22px 24px 18px !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    margin-bottom: 6px !important;
    background: #fafbfc !important;
}
.dashbard-menu-container .logo-holder a {
    padding: 0 !important; margin: 0 !important; background: none !important;
    border: none !important; box-shadow: none !important;
}
.dashbard-menu-container .logo-holder img {
    max-height: 52px !important;
    width: auto !important;
    display: block !important;
}

/* Section Labels (LISTINGS, MAIN) */
.dashbard-menu-container .user-profile-menu > h3,
.dashbard-menu-container h3 {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.4px !important;
    color: #94a3b8 !important;
    padding: 18px 20px 6px !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Sidebar Links */
.dashbard-menu-container .user-profile-menu ul {
    list-style: none !important;
    padding: 0 8px !important;
    margin: 0 !important;
}
.dashbard-menu-container .user-profile-menu ul li {
    margin: 1px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.dashbard-menu-container .user-profile-menu ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 16px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    text-decoration: none !important;
    transition: all 180ms ease !important;
    border-radius: 8px !important;
    position: relative;
    margin: 0 !important;
    line-height: 1.4 !important;
    border: none !important;
    background: transparent !important;
}
.dashbard-menu-container .user-profile-menu ul li a:hover {
    background: rgba(107,122,58,0.06) !important;
    color: #4a5d28 !important;
}
.dashbard-menu-container .user-profile-menu ul li.active a,
.dashbard-menu-container .user-profile-menu ul li a.active {
    background: rgba(107,122,58,0.09) !important;
    color: #4a5d28 !important;
    font-weight: 600 !important;
}
.dashbard-menu-container .user-profile-menu ul li.active a::before,
.dashbard-menu-container .user-profile-menu ul li a.active::before {
    content: "";
    position: absolute; left: 0; top: 6px; bottom: 6px; width: 3px;
    background: linear-gradient(180deg, #8fa440, #6b7a3a);
    border-radius: 0 3px 3px 0;
}
html[dir="rtl"] .dashbard-menu-container .user-profile-menu ul li.active a::before,
html[dir="rtl"] .dashbard-menu-container .user-profile-menu ul li a.active::before {
    left: auto; right: 0; border-radius: 3px 0 0 3px;
}

/* Sidebar Icons */
.dashbard-menu-container .user-profile-menu ul li a i,
.dashbard-menu-container .user-profile-menu ul li a .fa {
    font-size: 15px !important;
    width: 20px;
    text-align: center;
    color: #94a3b8 !important;
    transition: color 180ms ease;
    flex-shrink: 0;
}
.dashbard-menu-container .user-profile-menu ul li a:hover i,
.dashbard-menu-container .user-profile-menu ul li a:hover .fa {
    color: #6b7a3a !important;
}

/* Sidebar Badge Pills */
.dashbard-menu-container .user-profile-menu ul li a span.badge,
.dashbard-menu-container .user-profile-menu ul li a .notification {
    margin-inline-start: auto !important;
    font-size: 10.5px !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    background: rgba(183,205,39,0.12) !important;
    color: #6b7a3a !important;
    font-weight: 700 !important;
    min-width: 18px;
    text-align: center;
    line-height: 1.5;
}

/* Sidebar Divider between sections */
.dashbard-menu-container .user-profile-menu + .user-profile-menu {
    border-top: 1px solid rgba(0,0,0,0.04) !important;
    margin-top: 6px !important;
    padding-top: 0 !important;
}

/* ── Dashboard Top Navbar Refinements ── */
.dashbard-menu-wrap ~ header,
#wrapper > header,
.dashboard-content header {
    background: #ffffff !important;
}

/* ── Main Content Area ── */
.dashboard-content {
    flex: 1 1 0 !important;
    padding: 28px 36px 40px !important;
    min-width: 0;
    background: #f1f4f9 !important;
}

/* Dashboard Title Row ("YOUR LISTINGS") */
.dashboard-content .dashboard-title,
.dashboard-content .dasboard-container > h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 0 20px !important;
    letter-spacing: -0.2px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Welcome Card (avatar + name) */
.dashboard-content .dashbard-menu-header,
.dashboard-content .dashboard-header-card {
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 18px 24px !important;
    box-shadow: 0 1px 3px rgba(15,23,42,0.03), 0 3px 12px rgba(15,23,42,0.04) !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    width: fit-content !important;
    float: none !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
}
.dashboard-content .dashbard-menu-header img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid rgba(183,205,39,0.18) !important;
    flex-shrink: 0;
}
.dashboard-content .dashbard-menu-header a {
    color: #4a5d28 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

/* Options Row (Add New button area) */
.dasboard-opt {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-bottom: 20px !important;
    gap: 12px;
}

/* Add New Button — Premium CTA */
.gradient-bg.dashboard-addnew_btn,
a.dashboard-addnew_btn,
.dasboard-opt a[class*="gradient"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 11px 26px !important;
    background: linear-gradient(135deg, #8fa440 0%, #6b7a3a 100%) !important;
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(107,122,58,0.20), 0 1px 2px rgba(0,0,0,0.06) !important;
    transition: all 220ms ease !important;
    letter-spacing: 0.2px;
    white-space: nowrap;
}
.gradient-bg.dashboard-addnew_btn:hover,
a.dashboard-addnew_btn:hover,
.dasboard-opt a[class*="gradient"]:hover {
    background: linear-gradient(135deg, #7a8e35 0%, #5a6930 100%) !important;
    box-shadow: 0 4px 14px rgba(107,122,58,0.28), 0 2px 4px rgba(0,0,0,0.08) !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

/* Listing Box / Cards Container */
.dasboard-listing-box {
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 24px !important;
    box-shadow: 0 1px 3px rgba(15,23,42,0.03), 0 3px 12px rgba(15,23,42,0.04) !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
}

/* Dashboard Listings Wrapper */
.dashboard-listings-wrap {
    min-height: 120px;
}

/* Empty state — when no listings */
.dashboard-listings-wrap:empty::after,
.dashboard-listings-wrap > .no-results::after {
    content: "You haven't added any listings yet. Click 'Add New' to get started.";
    display: block;
    text-align: center;
    padding: 48px 24px;
    color: #94a3b8;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}
html[dir="rtl"] .dashboard-listings-wrap:empty::after {
    content: "لم تقم بإضافة أي عقارات بعد. انقر على 'إضافة جديد' للبدء.";
}

/* Listing Cards in Dashboard */
.dashboard-content .geodir-category-listing,
.dashboard-content .listing-item .geodir-category-listing {
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04), 0 4px 12px rgba(15,23,42,0.04) !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
    transition: transform 300ms ease, box-shadow 300ms ease !important;
    background: #ffffff !important;
}
.dashboard-content .geodir-category-listing:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 12px rgba(15,23,42,0.06), 0 12px 28px rgba(15,23,42,0.08) !important;
}

/* Dashboard Footer */
.dashboard-content footer,
.dashboard-content .footer-inner {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.05);
    font-size: 12px;
    color: #94a3b8;
}

/* ── Notification icon in dashboard header ── */
.dashboard-content .notification-count,
header .notification-count {
    position: absolute;
    top: -4px; right: -4px;
    min-width: 16px; height: 16px;
    border-radius: 8px;
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    padding: 0 4px;
    line-height: 1;
}

/* ── Dashboard Responsive ── */
@media (max-width: 1199px) {
    .dashbard-menu-container {
        flex: 0 0 240px !important; width: 240px !important;
    }
    .dashboard-content { padding: 24px 28px !important; }
}
@media (max-width: 991px) {
    .dashbard-menu-wrap { flex-direction: column !important; }
    .dashbard-menu-container {
        flex: none !important; width: 100% !important;
        height: auto !important; border-right: none !important;
        border-bottom: 1px solid rgba(0,0,0,0.05) !important;
        padding: 10px !important;
    }
    .dashbard-menu-container .logo-holder { display: none !important; }
    .dashbard-menu-container .user-profile-menu > h3 {
        padding: 6px 12px 4px !important; font-size: 9px !important;
    }
    .dashbard-menu-container .user-profile-menu ul {
        display: flex !important; flex-wrap: wrap !important; gap: 4px !important; padding: 0 4px !important;
    }
    .dashbard-menu-container .user-profile-menu ul li a {
        padding: 7px 14px !important; font-size: 12.5px !important;
        border: 1px solid rgba(0,0,0,0.06) !important; border-radius: 8px !important;
    }
    .dashboard-content { padding: 20px 16px !important; }
    .dasboard-listing-box { padding: 16px !important; border-radius: 12px !important; }
}
@media (max-width: 600px) {
    .dashboard-content { padding: 14px 10px !important; }
    .dashboard-content .dashbard-menu-header {
        flex-direction: column !important; text-align: center !important; width: 100% !important;
    }
    .dasboard-opt { justify-content: center !important; }
}




/* ============================================================================
   Global UI/UX foundation (May 2026 go-live baseline)
   - Cross-platform focus visibility
   - Better mobile tap targets
   - Consistent card/form rhythm
   ============================================================================ */

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1 { font-size: clamp(1.65rem, 1.2rem + 1.7vw, 2.45rem); line-height: 1.2; }
h2 { font-size: clamp(1.35rem, 1.05rem + 1vw, 1.95rem); line-height: 1.25; }
h3 { font-size: clamp(1.15rem, 0.98rem + 0.6vw, 1.45rem); line-height: 1.3; }
p, li { line-height: 1.65; }

a,
button,
input,
select,
textarea,
[role="button"] {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(183, 205, 39, 0.55) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.2) !important;
}

.geodir-category-listing,
.listing-item,
.dashboard-content .geodir-category-listing,
.main-register-holder,
.aj-results-header {
    border-radius: 14px !important;
}

.dashboard-content .geodir-category-listing,
.listing-item .geodir-category-listing {
    transition: transform 220ms ease, box-shadow 220ms ease !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
select,
.chosen-container-single .chosen-single,
.select2-container .select2-selection--single {
    border-radius: 10px !important;
}

@media (max-width: 991px) {
    button,
    .log_btn,
    .btn,
    .aj-fbar__btn,
    .add-list,
    .aj-add-btn,
    .show-reg-form a,
    .cart-btn,
    .aj-search-trigger {
        min-height: 44px !important;
    }

    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="number"],
    select,
    textarea {
        min-height: 44px !important;
        font-size: 16px !important; /* avoids iOS zoom-in */
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ============================================================================
   Phase 2 UI polish (May 2026)
   - Hero readability + CTA hierarchy
   - Property card rhythm and metadata clarity
   - Button state consistency and mobile comfort
   ============================================================================ */

.aj-hero-overlay {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.30) 0%, rgba(15, 23, 42, 0.55) 100%) !important;
}

.aj-hero-content {
    position: relative;
    z-index: 2;
    max-width: min(860px, 92vw);
    margin-inline: auto;
}

.aj-hero-content .aj-hero-title {
    color: #ffffff !important;
    letter-spacing: 0.2px;
    line-height: 1.16 !important;
    margin-bottom: 12px !important;
    text-shadow: 0 3px 14px rgba(2, 6, 23, 0.45);
}

.aj-hero-content .aj-hero-subtitle {
    color: rgba(255, 255, 255, 0.94) !important;
    max-width: 64ch;
    margin-inline: auto;
    line-height: 1.65 !important;
    text-shadow: 0 2px 10px rgba(2, 6, 23, 0.4);
}

.btn,
.aj-fbar__btn,
.aj-view-all-wrap .aj-view-all-btn,
.single-par2 .section-title a.btn,
.single-par2 a.btn.color-bg {
    border-radius: 12px !important;
    min-height: 44px;
    font-weight: 600;
    letter-spacing: 0.15px;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.btn:hover,
.aj-fbar__btn:hover,
.aj-view-all-wrap .aj-view-all-btn:hover,
.single-par2 .section-title a.btn:hover,
.single-par2 a.btn.color-bg:hover {
    transform: translateY(-1px);
}

.btn:focus-visible,
.aj-fbar__btn:focus-visible,
.aj-view-all-wrap .aj-view-all-btn:focus-visible {
    outline: 3px solid rgba(183, 205, 39, 0.62) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.22) !important;
}

.btn:disabled,
.btn[aria-disabled="true"],
.aj-fbar__btn:disabled,
.aj-fbar__btn[aria-disabled="true"] {
    opacity: 0.56 !important;
    filter: saturate(0.7);
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

.gallery-item .geodir-category-listing,
.listing-item .geodir-category-listing {
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05), 0 10px 28px rgba(15, 23, 42, 0.07);
    transition: transform 260ms cubic-bezier(.2, .8, .2, 1), box-shadow 260ms cubic-bezier(.2, .8, .2, 1), border-color 220ms ease;
}

.gallery-item:hover .geodir-category-listing,
.listing-item:hover .geodir-category-listing {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08), 0 18px 40px rgba(15, 23, 42, 0.12);
}

.gallery-item .geodir-category-content,
.listing-item .geodir-category-content {
    padding: 20px 20px 18px !important;
    gap: 4px;
}

.gallery-item .geodir-category-content .title-sin_item,
.listing-item .geodir-category-content .title-sin_item,
.gallery-item .geodir-category-content h2.title-sin_item,
.listing-item .geodir-category-content h2.title-sin_item {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    margin-bottom: 10px !important;
    overflow-wrap: anywhere;
}

.gallery-item .geodir-category-content_price,
.listing-item .geodir-category-content_price {
    margin-bottom: 12px !important;
}

.gallery-item .geodir-category-content-details ul,
.listing-item .geodir-category-content-details ul {
    gap: 14px;
    flex-wrap: wrap;
}

.gallery-item .geodir-category-content-details li,
.listing-item .geodir-category-content-details li {
    font-size: 13.5px !important;
    line-height: 1.35;
}

.gallery-item .geodir-category-location,
.listing-item .geodir-category-location {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-inline-end: 12px;
}

@media (max-width: 991px) {
    .aj-hero-content .aj-hero-title {
        line-height: 1.2 !important;
    }

    .aj-hero-content .aj-hero-subtitle {
        max-width: 90%;
    }

    .gallery-item .geodir-category-content,
    .listing-item .geodir-category-content,
    .listing-item.has_one_column .geodir-category-content,
    .listing-item-container.aj-list-view .listing-item .geodir-category-content {
        padding: 16px 16px 15px !important;
    }

    .gallery-item .geodir_save-btn,
    .gallery-item .compare-btn,
    .listing-item .geodir_save-btn,
    .listing-item .compare-btn {
        width: 40px !important;
        height: 40px !important;
    }
}

@media (max-width: 600px) {
    .btn,
    .aj-fbar__btn,
    .aj-view-all-wrap .aj-view-all-btn {
        width: 100%;
    }

    .gallery-item .geodir-category-content-details ul,
    .listing-item .geodir-category-content-details ul {
        gap: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gallery-item .geodir-category-listing,
    .listing-item .geodir-category-listing,
    .gallery-item .geodir-category-img img,
    .listing-item .geodir-category-img img,
    .btn,
    .aj-fbar__btn,
    .aj-view-all-wrap .aj-view-all-btn {
        transition: none !important;
        transform: none !important;
    }
}

/* ============================================================================
   49. FOOTER UI/UX FIXES — layout, responsiveness, bottom bar, FABs
   (May 2026)
   ============================================================================ */

/* ---------- 49a. FOOTER LAYOUT ALIGNMENT ---------- */
footer.main-footer .footer-inner > .container > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
footer.main-footer .footer-inner > .container > .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}
footer.main-footer .footer-widget {
    flex: 1;
}

/* ---------- 49b. TYPOGRAPHY HIERARCHY ---------- */
footer.main-footer .footer-widget-title h2 {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--aj-primary, #b7cd27);
    display: inline-block;
}
footer.main-footer .footer-widget-title h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--aj-primary, #b7cd27);
    display: inline-block;
}
footer.main-footer .footer-list li {
    margin-bottom: 8px;
}
footer.main-footer .footer-list li a {
    font-size: 14px;
    line-height: 1.6;
    color: #475569 !important;
}
footer.main-footer .footer-list li a:hover {
    color: var(--aj-primary, #b7cd27) !important;
}
footer.main-footer .footer-contacts li {
    margin-bottom: 10px;
    line-height: 1.5;
}
footer.main-footer .footer-contacts li span {
    font-size: 13px;
    color: #64748b !important;
    display: block;
    margin-bottom: 2px;
}
footer.main-footer .footer-contacts li span i {
    color: var(--aj-primary, #b7cd27) !important;
    margin-inline-end: 6px;
    width: 16px;
    text-align: center;
}
footer.main-footer .footer-contacts li a {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b !important;
    word-break: break-word;
}
footer.main-footer .footer-contacts li a:hover {
    color: var(--aj-primary, #b7cd27) !important;
}
footer.main-footer .fw_hours {
    margin-top: 8px;
}
footer.main-footer .fw_hours span {
    font-size: 13.5px;
    color: #64748b !important;
}
footer.main-footer .fw_hours strong {
    color: #1e293b !important;
    font-weight: 600;
}

/* ---------- 49c. CONTACT SECTION ALIGNMENT ---------- */
footer.main-footer .footer-social {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}
footer.main-footer .footer-social .footer-widget-title p {
    font-size: 13.5px;
    color: #475569 !important;
    margin-bottom: 12px;
    line-height: 1.6;
}
footer.main-footer .footer-social .footer-widget-title p i {
    color: var(--aj-primary, #b7cd27) !important;
    margin-inline-end: 6px;
}
footer.main-footer .footer-social .footer-widget-title p a {
    color: #1e293b !important;
    font-weight: 500;
}
footer.main-footer .footer-social .footer-widget-title p a:hover {
    color: var(--aj-primary, #b7cd27) !important;
}
footer.main-footer .footer-social .footer-widget-title h2 {
    font-size: 15px;
    margin-bottom: 14px;
    padding-bottom: 0;
    border-bottom: none;
}
footer.main-footer .footer-social ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ---------- 49d. SUBSCRIPTION COLUMN ---------- */
footer.main-footer .footer-widget .api-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}
footer.main-footer .footer-widget .api-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
}
footer.main-footer .footer-widget > p {
    font-size: 14px;
    line-height: 1.65;
    color: #475569 !important;
}

/* ---------- 49e. SUB-FOOTER (BOTTOM BAR) ---------- */
.sub-footer.gray-bg {
    background: #eef2f7 !important;
}
.sub-footer.gray-bg .container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-block: 14px;
}
.sub-footer .copyright {
    font-size: 13px;
    color: #64748b !important;
    margin: 0;
    line-height: 1.5;
}
.sub-footer .floatRight {
    float: none !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
}
.sub-footer .floatRight img {
    height: 28px;
    width: auto;
    opacity: 0.7;
    transition: opacity var(--aj-transition);
}
.sub-footer .floatRight img:hover {
    opacity: 1;
}

/* ---------- 49f. FLOATING ACTION BUTTONS (secondary-nav) ---------- */
.secondary-nav {
    right: 20px !important;
    bottom: 100px !important;
    z-index: 50;
}
.secondary-nav ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.secondary-nav ul li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.10),
                0 1px 4px rgba(15, 23, 42, 0.06) !important;
    color: #334155 !important;
    font-size: 17px;
    transition: transform 200ms ease, box-shadow 200ms ease,
                background 200ms ease, color 200ms ease !important;
}
.secondary-nav ul li a:hover {
    transform: translateY(-2px) !important;
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(183, 205, 39, 0.30),
                0 2px 6px rgba(183, 205, 39, 0.15) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
}
html[dir="rtl"] .secondary-nav {
    right: auto !important;
    left: 20px !important;
}

.to-top.color-bg {
    right: 20px !important;
    bottom: 46px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(183, 205, 39, 0.25) !important;
    z-index: 50;
}
html[dir="rtl"] .to-top.color-bg {
    right: auto !important;
    left: 20px !important;
}

/* ---------- 49g. MOBILE RESPONSIVE ---------- */
@media (max-width: 991px) {
    footer.main-footer .footer-inner {
        padding-block: 40px 20px;
    }
    footer.main-footer .footer-inner > .container > .row > [class*="col-"] {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 28px;
    }
}
@media (max-width: 767px) {
    footer.main-footer .footer-inner > .container > .row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 24px;
    }
    footer.main-footer .footer-inner > .container > .row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }
    footer.main-footer .footer-widget-title h2,
    footer.main-footer .footer-widget-title h4 {
        margin-bottom: 12px;
        padding-bottom: 8px;
    }
    footer.main-footer .footer-social ul {
        justify-content: center;
    }
    footer.main-footer .footer-social {
        text-align: center;
    }
    footer.main-footer .footer-social .footer-widget-title p {
        text-align: center;
    }
    footer.main-footer .footer-social .footer-widget-title h2 {
        display: block;
        text-align: center;
    }

    .sub-footer.gray-bg .container {
        justify-content: center;
        text-align: center;
    }

    .secondary-nav {
        right: 12px !important;
        bottom: 80px !important;
    }
    html[dir="rtl"] .secondary-nav {
        left: 12px !important;
    }
    .secondary-nav ul li a {
        width: 42px !important;
        height: 42px !important;
        font-size: 15px;
    }
    .to-top.color-bg {
        right: 12px !important;
        bottom: 28px !important;
        width: 40px !important;
        height: 40px !important;
    }
    html[dir="rtl"] .to-top.color-bg {
        left: 12px !important;
    }
}
@media (max-width: 480px) {
    footer.main-footer .footer-inner {
        padding-block: 30px 16px;
    }
    footer.main-footer .footer-widget .api-links {
        flex-direction: row;
        flex-wrap: wrap;
    }
    footer.main-footer .footer-contacts li a {
        font-size: 13px;
    }
}

/* ---------- 49h. FAB footer-overlap guard ---------- */
@media (max-width: 767px) {
    footer.main-footer {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .secondary-nav,
    .to-top.color-bg {
        position: fixed !important;
    }
}

/* ---------- 49i. DARK MODE FOOTER FIXES ---------- */
body.aj-dark footer.main-footer .footer-widget-title h2,
body.aj-dark footer.main-footer .footer-widget-title h4 {
    color: #e5e7eb !important;
    border-bottom-color: var(--aj-primary, #b7cd27);
}
body.aj-dark footer.main-footer .footer-list li a,
body.aj-dark footer.main-footer .footer-contacts li a {
    color: #cbd5e1 !important;
}
body.aj-dark footer.main-footer .footer-contacts li span,
body.aj-dark footer.main-footer .fw_hours span {
    color: #94a3b8 !important;
}
body.aj-dark footer.main-footer .footer-social {
    border-top-color: rgba(255, 255, 255, 0.08);
}
body.aj-dark .sub-footer.gray-bg {
    background: var(--aj-bg-card, #1e293b) !important;
}
body.aj-dark .sub-footer .copyright {
    color: #94a3b8 !important;
}
body.aj-dark .secondary-nav ul li a {
    background: var(--aj-bg-card, #1e293b) !important;
    color: #e5e7eb !important;
    border-color: var(--aj-border, #334155) !important;
}

/* ============================================================================
   Z-INDEX NORMALIZATION & MOBILE SCROLL FIX — May 2026 hotfix
   ============================================================================ */
html body header.main-header {
    z-index: 9000 !important;
    position: relative !important;
}
html body header.main-header.aj-sticky-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
}
.aj-hero-search-section,
.hero-section {
    z-index: 1 !important;
    position: relative;
}
.aj-hero-search-card {
    z-index: 3 !important;
}

@media (max-width: 991px) {
    html, body {
        overflow-x: hidden !important;
    }
}
/* ---------- LIGHTGALLERY POLISH v2: bigger arrows, RTL direction, actual-size glyph ---------- */
.lg-actions .lg-prev,
.lg-actions .lg-next {
    width: 56px !important;
    height: 56px !important;
}
.lg-prev::after,
.lg-next::before,
.lg-actions .lg-prev::after,
.lg-actions .lg-next::before {
    font-size: 28px !important;
}
/* RTL: buttons keep their physical sides (prev=right, next=left),
   so the glyphs must point outward, not inward */
html[dir="rtl"] .lg-prev::after,
html[dir="rtl"] .lg-actions .lg-prev::after {
    content: "\f105" !important;
}
html[dir="rtl"] .lg-next::before,
html[dir="rtl"] .lg-actions .lg-next::before {
    content: "\f104" !important;
}
/* actual-size toolbar button rendered with no glyph at all */
.lg-outer #lg-actual-size::after,
.lg-toolbar .lg-actual-size::after {
    content: "\f065" !important;
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 15px !important;
}

/* ---------- LIGHTGALLERY POLISH v3: toolbar icon centering + uniform sizes ---------- */
.lg-toolbar {
    padding: 12px 10px !important;
}
.lg-toolbar .lg-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    margin: 0 4px !important;
}
.lg-toolbar .lg-icon::before,
.lg-toolbar .lg-icon::after {
    line-height: 1 !important;
    display: block !important;
}
/* expand glyph renders visually larger per em - balance with the zoom icons */
.lg-outer #lg-actual-size::after,
.lg-toolbar .lg-actual-size::after {
    font-size: 19px !important;
}

/* register: terms agreement notice (replaces the old checkbox) */
.aj-terms-notice {
    margin: 14px 0 4px;
    font-size: 12.5px;
    line-height: 1.6;
    color: #6b7280;
    text-align: center;
}

/* ============================================================================
   AbuJudom — Unified header action cluster
   ----------------------------------------------------------------------------
   Loaded in BOTH LTR (SiteEn) and RTL (SiteAr). Both copies are byte-identical.

   Goal:
   - The four header actions (Add Property, Language, Favorites bell, Login or
     Dashboard) live inside a single `.aj-header-actions` flex container and
     render as a cohesive group of pill buttons:
       * Add Property   -> primary filled pill (var(--aj-primary))
       * Language       -> outline segmented pill (EN / AR)
       * Favorites bell -> outline icon-pill circle
       * Login/Dashboard-> outline pill (icon + label)
   - All four share the same height, radius, hover treatment and icon size.
   - The cluster is pinned to the inline-end of the header (RIGHT in LTR,
     LEFT in RTL). The logo stays at the inline-start, the primary nav fills
     the middle. This is achieved with flex `order` on the wrapper so the
     DOM order does not need to change.

   Tokens used (defined by abujudom-enhancements.css):
     --aj-primary, --aj-primary-dark, --aj-primary-soft,
     --aj-text, --aj-text-muted, --aj-border,
     --aj-shadow, --aj-shadow-hover, --aj-radius, --aj-transition.
   ============================================================================ */

:root {
    --aj-action-h: 30px;
    --aj-action-pad-x: 11px;
    --aj-action-icon: 14px;
    --aj-action-radius: 999px;
}

/* -- 1. Header layout: logo | menu | action cluster ------------------------ */
header.main-header .logo-holder        { order: 1; }
header.main-header .nav-holder.main-menu { order: 5; }
header.main-header .aj-header-actions  { order: 9; }
header.main-header .nav-button-wrap    { order: 10; }

/* -- 2. Cluster wrapper ---------------------------------------------------- */
header.main-header .aj-header-actions {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    flex-shrink: 0;
    margin: 0;
}

/* Neutralise legacy float / margin rules from the original template that
   would otherwise scatter the cluster children. */
header.main-header .aj-header-actions > .add-list_wrap,
header.main-header .aj-header-actions > .aj-lang-toggle,
header.main-header .aj-header-actions > .show-reg-form,
header.main-header .aj-header-actions > .cart-btn {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: var(--aj-action-h);
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: auto;
}

/* -- 3. Primary CTA: Add Property ----------------------------------------- */
header.main-header .aj-header-actions .add-list_wrap {
    display: inline-flex !important;
    align-items: center;
}
header.main-header .aj-header-actions .add-list_wrap .add-list,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: var(--aj-action-h);
    padding: 0 var(--aj-action-pad-x) !important;
    border: 1px solid var(--aj-primary, #b7cd27) !important;
    border-radius: var(--aj-action-radius) !important;
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px;
    line-height: 1 !important;
    white-space: nowrap;
    text-decoration: none !important;
    box-shadow: var(--aj-shadow, 0 4px 12px rgba(15, 23, 42, 0.06));
    transition: background var(--aj-transition, 280ms ease),
                border-color var(--aj-transition, 280ms ease),
                color var(--aj-transition, 280ms ease),
                box-shadow var(--aj-transition, 280ms ease),
                transform var(--aj-transition, 280ms ease);
}
header.main-header .aj-header-actions .add-list_wrap .add-list:hover,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn:hover,
header.main-header .aj-header-actions .add-list_wrap .add-list:focus-visible,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn:focus-visible {
    background: var(--aj-primary-dark, #a7bd1b) !important;
    border-color: var(--aj-primary-dark, #a7bd1b) !important;
    color: #ffffff !important;
    box-shadow: var(--aj-shadow-hover, 0 12px 28px rgba(15, 23, 42, 0.14));
}
header.main-header .aj-header-actions .add-list_wrap .add-list i,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn i {
    font-size: var(--aj-action-icon);
 
    color: inherit;
    margin: 0 !important;
}

/* -- 4. Secondary segmented pill: Language toggle ------------------------- */
header.main-header .aj-header-actions .aj-lang-toggle {
    display: inline-flex !important;
    align-items: center;
    height: var(--aj-action-h);
    padding: 2px;
    gap: 0;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: var(--aj-action-radius) !important;
    background: transparent !important;
    overflow: hidden;
    transition: background var(--aj-transition, 280ms ease),
                border-color var(--aj-transition, 280ms ease);
}
header.main-header .aj-header-actions .aj-lang-toggle:hover {
    background: var(--aj-primary-soft, rgba(183, 205, 39, 0.12)) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
}
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: calc(var(--aj-action-h) - 6px);
    min-width: 30px;
    padding: 0 8px;
    border-radius: var(--aj-action-radius);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-decoration: none !important;
    color: var(--aj-text-muted, #6b7280);
    background: transparent;
    transition: background var(--aj-transition, 280ms ease),
                color var(--aj-transition, 280ms ease);
}
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt:hover {
    color: var(--aj-text, #1f2937);
}
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active,
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active:hover {
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(183, 205, 39, 0.3);
    pointer-events: none;
}

/* -- 5. Secondary outline pill: Login / Dashboard ------------------------- */
header.main-header .aj-header-actions .show-reg-form {
    display: inline-flex !important;
    align-items: center;
    background: transparent;
    width: auto;
}
header.main-header .aj-header-actions .show-reg-form a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: var(--aj-action-h);
    padding: 0 var(--aj-action-pad-x) !important;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: var(--aj-action-radius) !important;
    background: transparent !important;
    color: var(--aj-text, #1f2937) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap;
    text-decoration: none !important;
    transition: background var(--aj-transition, 280ms ease),
                border-color var(--aj-transition, 280ms ease),
                color var(--aj-transition, 280ms ease),
                box-shadow var(--aj-transition, 280ms ease);
}
header.main-header .aj-header-actions .show-reg-form a:hover,
header.main-header .aj-header-actions .show-reg-form a:focus-visible {
    background: var(--aj-primary-soft, rgba(183, 205, 39, 0.12)) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
    color: var(--aj-primary-dark, #a7bd1b) !important;
}
header.main-header .aj-header-actions .show-reg-form a i {
    font-size: var(--aj-action-icon);
    line-height: 1;
    color: inherit;
    margin: 0 !important;
}
header.main-header .aj-header-actions .show-reg-form a span {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: inherit;
}

/* -- 6. Secondary outline icon-pill: Favorites bell ----------------------- */
header.main-header .aj-header-actions .cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: var(--aj-action-h);
    min-width: var(--aj-action-h);
    height: var(--aj-action-h);
    padding: 0 !important;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: var(--aj-action-radius) !important;
    background: transparent !important;
    color: var(--aj-text, #1f2937) !important;
    cursor: pointer;
    position: relative;
    overflow: visible !important;
    box-shadow: none;
    transition: background var(--aj-transition, 280ms ease),
                border-color var(--aj-transition, 280ms ease),
                color var(--aj-transition, 280ms ease),
                transform var(--aj-transition, 280ms ease);
}
header.main-header .aj-header-actions .cart-btn:hover,
header.main-header .aj-header-actions .cart-btn:focus-visible {
    background: var(--aj-primary-soft, rgba(183, 205, 39, 0.12)) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
    color: var(--aj-primary-dark, #a7bd1b) !important;
}
header.main-header .aj-header-actions .cart-btn i {
    font-size: var(--aj-action-icon);
    line-height: 1;
    color: inherit;
    margin: 0 !important;
}
header.main-header .aj-header-actions .cart-btn .cart-btn_counter {
    position: absolute;
    top: -4px;
    inset-inline-end: -4px;
    inset-inline-start: auto;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    line-height: 18px;
    font-size: 10px;
    font-weight: 700;
    color: #ffffff;
    background: var(--aj-primary, #b7cd27);
    border-radius: 9px;
    border: 2px solid #ffffff;
    text-align: center;
    box-sizing: content-box;
}

/* -- 7. Focus visibility -------------------------------------------------- */
header.main-header .aj-header-actions .add-list_wrap .add-list:focus-visible,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn:focus-visible,
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt:focus-visible,
header.main-header .aj-header-actions .show-reg-form a:focus-visible,
header.main-header .aj-header-actions .cart-btn:focus-visible {
    outline: 2px solid var(--aj-primary, #b7cd27);
    outline-offset: 2px;
}

/* -- 8. Dark mode parity -------------------------------------------------- */
body.aj-dark header.main-header .aj-header-actions .aj-lang-toggle,
body.aj-dark header.main-header .aj-header-actions .show-reg-form a,
body.aj-dark header.main-header .aj-header-actions .cart-btn {
    border-color: var(--aj-border, #334155) !important;
    color: var(--aj-text, #e5e7eb) !important;
    background: transparent !important;
}
body.aj-dark header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
    color: var(--aj-text-muted, #94a3b8);
}
body.aj-dark header.main-header .aj-header-actions .aj-lang-toggle:hover,
body.aj-dark header.main-header .aj-header-actions .show-reg-form a:hover,
body.aj-dark header.main-header .aj-header-actions .cart-btn:hover {
    background: rgba(183, 205, 39, 0.18) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
}
body.aj-dark header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active,
body.aj-dark header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active:hover {
    background: var(--aj-primary, #b7cd27) !important;
    color: #0f172a !important;
}

/* -- 9. RTL: cluster pinned to the LEFT of the header --------------------- */
/* The order values above already place the cluster at the inline-end edge,
   which is LEFT under `dir="rtl"`. These rules only flip a few directional
   tweaks (the bell counter position, any directional margins). */
html[dir="rtl"] header.main-header .aj-header-actions {
    margin-inline-start: 0;
    margin-inline-end: 0;
}
html[dir="rtl"] header.main-header .aj-header-actions .cart-btn .cart-btn_counter {
    inset-inline-end: -4px;
    inset-inline-start: auto;
}

/* -- 10. Responsive ------------------------------------------------------- */
@media (max-width: 991px) {
    :root {
        --aj-action-h: 26px;
        --aj-action-pad-x: 9px;
        --aj-action-icon: 13px;
    }
    header.main-header .aj-header-actions { gap: 4px; }
    header.main-header .aj-header-actions .add-list_wrap .add-list span,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn span,
    header.main-header .aj-header-actions .show-reg-form a span {
        display: none;
    }
    header.main-header .aj-header-actions .add-list_wrap .add-list,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn,
    header.main-header .aj-header-actions .show-reg-form a {
        width: var(--aj-action-h);
        min-width: var(--aj-action-h);
        padding: 0 !important;
    }
}

@media (max-width: 600px) {
    :root { --aj-action-h: 24px; }
    header.main-header .aj-header-actions { gap: 3px; }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
        min-width: 24px;
        padding: 0 6px;
        font-size: 10px;
    }
}

/* -- 10.b Mobile nav hardening ---------------------------------------------
   Keep desktop nav hidden on small screens and only show it when the
   template toggles `.vismobmenu` from the hamburger button. */
@media (max-width: 991px) {
    html header.main-header {
        position: relative !important;
    }
    header.main-header .nav-button-wrap {
        display: block !important;
        margin-inline-start: 8px;
    }
    header.main-header .nav-holder.main-menu {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        inset-inline-end: 0 !important;
        inset-inline-start: auto !important;
        width: min(92vw, 320px) !important;
        height: auto !important;
        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        z-index: 9999 !important;
    }
    header.main-header .nav-holder.main-menu nav > ul {
        display: block !important;
    }
    header.main-header .nav-holder.main-menu:not(.vismobmenu) nav > ul {
        display: none !important;
    }
    header.main-header .nav-holder.main-menu.vismobmenu {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    header.main-header .nav-holder.main-menu nav > ul > li {
        display: block !important;
        width: 100%;
    }
    header.main-header .nav-holder.main-menu nav > ul > li > a {
        display: flex !important;
        width: 100%;
        justify-content: space-between;
        padding: 12px 10px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
    header.main-header .aj-header-actions {
        margin-inline-start: auto;
        max-width: calc(100% - 140px);
        overflow-x: auto;
        scrollbar-width: none;
    }
    header.main-header .aj-header-actions::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 600px) {
    header.main-header .aj-header-actions .add-list_wrap {
        display: none !important;
    }
}

/* JS-assisted fallback for mobile emulation environments where viewport
   breakpoints may not apply early enough. */
body.aj-mobile-nav-force header.main-header .nav-button-wrap {
    display: flex !important;
    align-items: center;
}
body.aj-mobile-nav-force header.main-header .nav-holder.main-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    inset-inline-end: 0 !important;
    inset-inline-start: auto !important;
    width: min(92vw, 320px) !important;
    height: auto !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 9999 !important;
}
body.aj-mobile-nav-force header.main-header .nav-holder.main-menu nav > ul {
    display: none !important;
}
body.aj-mobile-nav-force header.main-header .nav-holder.main-menu.vismobmenu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
body.aj-mobile-nav-force header.main-header .nav-holder.main-menu.vismobmenu nav > ul {
    display: block !important;
}
body.aj-mobile-nav-force header.main-header .nav-holder.main-menu nav > ul > li {
    display: block !important;
    width: 100%;
}
body.aj-mobile-nav-force header.main-header .nav-holder.main-menu nav > ul > li > a {
    display: flex !important;
    width: 100%;
    justify-content: space-between;
    padding: 12px 10px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
body.aj-mobile-nav-force header.main-header .aj-header-actions {
    margin-inline-start: auto;
    max-width: calc(100% - 140px);
    overflow-x: auto;
    scrollbar-width: none;
}
body.aj-mobile-nav-force header.main-header .aj-header-actions::-webkit-scrollbar {
    display: none;
}
@media (max-width: 600px) {
    body.aj-mobile-nav-force header.main-header .aj-header-actions .add-list_wrap {
        display: none !important;
    }
}

/* -- 11. Brand logo: compact header + big overlapping logo ----------------
   Slim header bar (~68px) with the logo visually big (86px) that slightly
   overflows the bar for a premium, modern feel. Logo has no white-card
   backdrop — just a soft drop-shadow. Uses `overflow: visible` on the
   header and negative margin-block on the logo to keep the header height
   compact while the logo protrudes. The `html` selector prefix raises
   specificity above the rules in `abujudom-enhancements.css`. */
html header.main-header {
    min-height: 0 !important;
    height: 62px !important;
    padding-block: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
}
html header.main-header .header-inner {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    padding-block: 0 !important;
}
html header.main-header .logo-holder {
    position: relative !important;
    top: 0 !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 20;
    overflow: visible !important;
}
html header.main-header .logo-holder a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
html header.main-header .logo-holder a:hover,
html header.main-header .logo-holder a:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
html header.main-header .logo-holder img {
    display: block;
    height: 80px !important;
    max-height: 80px !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: -18px !important;  /* logo overflows downward only — premium drop */
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.12)) !important;
    transition: none !important;
}
body.aj-dark header.main-header .logo-holder a,
body.aj-dark header.main-header .logo-holder a:hover {
    background: transparent !important;
    box-shadow: none !important;
}
body.aj-dark header.main-header .logo-holder img {
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.45)) !important;
}

/* Nav items — tighter for compact header */
html header.main-header .nav-holder {
    top: 8px !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}
html header.main-header .nav-holder nav > ul > li > a {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Sticky-shrunk header */
html header.main-header.aj-sticky-header.aj-shrunk {
    height: 52px !important;
    min-height: 0 !important;
    padding-block: 0 !important;
}
html header.main-header.aj-sticky-header.aj-shrunk .logo-holder img {
    height: 48px !important;
    max-height: 48px !important;
    margin-top: 0 !important;
    margin-bottom: -6px !important;
    transform: none !important;
    transform-origin: center center;
}

@media (max-width: 991px) {
    html header.main-header {
        height: 54px !important;
        min-height: 0 !important;
        padding-block: 0 !important;
    }
    html header.main-header .logo-holder a {
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    html header.main-header .logo-holder img {
        height: 60px !important;
        max-height: 60px !important;
        max-width: none !important;
        margin-top: 0 !important;
        margin-bottom: -10px !important;
    }
}

@media (max-width: 600px) {
    html header.main-header {
        height: 48px !important;
        min-height: 0 !important;
        padding-block: 0 !important;
    }
    html header.main-header .logo-holder img {
        height: 48px !important;
        max-height: 48px !important;
        max-width: none !important;
        padding: 0 !important;
        margin-top: 0 !important;
        margin-bottom: -4px !important;
    }
}

/* -- 12. Icon-only outline pill: Login + Favorites unified --------------
   Both the login (`.show-reg-form a`) and favorites (`.cart-btn`) buttons
   are 36x36 outline circles that show only an icon. The shared marker
   class `.aj-header-actions__icon-btn` raises specificity so the desktop
   text-pill rules in section 5 are flattened to a square circle for the
   login trigger as well. The favorites button additionally renders a
   numeric badge in its top inline-end corner via `.aj-header-actions__badge`
   when the count is greater than zero (the conditional is in Razor). */
header.main-header .aj-header-actions .show-reg-form,
header.main-header .aj-header-actions .show-reg-form .aj-header-actions__icon-btn {
    width: var(--aj-action-h);
    min-width: var(--aj-action-h);
}
header.main-header .aj-header-actions .show-reg-form .aj-header-actions__icon-btn {
    padding: 0 !important;
    gap: 0 !important;
    justify-content: center;
}
header.main-header .aj-header-actions .show-reg-form .aj-header-actions__icon-btn span {
    display: none !important;
}
header.main-header .aj-header-actions a.cart-btn.aj-header-actions__icon-btn,
header.main-header .aj-header-actions a.cart-btn.aj-header-actions__icon-btn:hover,
header.main-header .aj-header-actions a.cart-btn.aj-header-actions__icon-btn:focus-visible {
    text-decoration: none !important;
}
header.main-header .aj-header-actions .cart-btn .aj-header-actions__badge {
    position: absolute;
    top: -4px;
    inset-inline-end: -4px;
    inset-inline-start: auto;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    line-height: 14px;
    font-size: 10px;
    font-weight: 700;
    color: #ffffff;
    background: var(--aj-primary, #b7cd27);
    border-radius: 9px;
    border: 2px solid #ffffff;
    text-align: center;
    box-sizing: content-box;
    pointer-events: none;
}
html[dir="rtl"] header.main-header .aj-header-actions .cart-btn .aj-header-actions__badge {
    inset-inline-end: -4px;
    inset-inline-start: auto;
}
body.aj-dark header.main-header .aj-header-actions .cart-btn .aj-header-actions__badge {
    border-color: #0f172a;
}

/* -- 13. CLUSTER GROUPING -------------------------------------------------
   Sub-grouping the four cluster items into perceptual chunks:
     [ User . Star ]   |   Language   |   Add Property
   The User+Star pair (icon-only "me" circles) sits tighter together; the
   Language pill gets a small extra inline-start margin; a thin vertical
   divider separates Language from the primary CTA so the green Add Property
   button reads as a distinct call-to-action. The cluster baseline gap is
   8px (already set in section 2). DOM order is the source of truth for
   both LTR and RTL — section 9 pins the cluster to the inline-end edge,
   while this section governs only intra-cluster spacing and is therefore
   direction-agnostic via logical properties. */
header.main-header .aj-header-actions > .show-reg-form + .cart-btn {
    margin-inline-start: -3px;
}
header.main-header .aj-header-actions > .cart-btn + .aj-lang-toggle {
    margin-inline-start: 2px;
}
header.main-header .aj-header-actions .aj-header-actions__sep {
    align-self: center;
    width: 1px;
    height: 18px;
    background: var(--aj-border, #d1d5db);
    opacity: 0.5;
    margin-inline: 2px 4px;
    flex-shrink: 0;
}
body.aj-dark header.main-header .aj-header-actions .aj-header-actions__sep {
    background: var(--aj-border, rgba(148, 163, 184, 0.20));
}

@media (max-width: 991px) {
    header.main-header .aj-header-actions .aj-header-actions__sep {
        margin-inline: 2px 4px;
        height: 20px;
    }
}

@media (max-width: 600px) {
    header.main-header .aj-header-actions .aj-header-actions__sep {
        display: none;
    }
}

/* -- 14. HEADER LOGO — disable hover ---------------------------------------
   Neutralize the logo hover/focus effect so the main-header logo is visually
   static. Earlier rules (sections 11 + a legacy enhancement layer) animate
   transform/filter on .logo-holder a:hover img; the rules below win on
   specificity (html-prefixed) and override the !important transforms. The
   static drop-shadow filter, sizing and RTL inset defined in section 11
   remain untouched. */
html header.main-header .logo-holder a:hover img,
html header.main-header .logo-holder a:focus img,
html header.main-header .logo-holder img:hover,
html header.main-header .logo-holder img:focus {
    transform: none !important;
    scale: none !important;
    opacity: 1 !important;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15)) !important;
    box-shadow: none !important;
    transition: none !important;
}
html header.main-header .logo-holder a:hover,
html header.main-header .logo-holder a:focus {
    text-decoration: none !important;
    outline: none !important;
}
/* ============================================================================
   15. HEADER SEARCH — expanding icon -> input
   ============================================================================ */

header.main-header .aj-header-actions .aj-header-search.aj-header-search--open {
    width: clamp(220px, 30vw, 320px);
    background: #ffffff;
    border-color: var(--aj-border, #e5e7eb);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
header.main-header .aj-header-actions .aj-header-search__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    padding-inline: 14px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--aj-text, #1f2937);
    font-size: 14px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 250ms ease 50ms;
}
header.main-header .aj-header-actions .aj-header-search.aj-header-search--open .aj-header-search__input {
    opacity: 1;
    pointer-events: auto;
}
header.main-header .aj-header-actions .aj-header-search__input::placeholder {
    color: var(--aj-text-muted, #878c9f);
    opacity: 1;
}
header.main-header .aj-header-actions .aj-header-search__toggle {
    flex: 0 0 var(--aj-action-h);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: var(--aj-action-h);
    min-width: var(--aj-action-h);
    height: var(--aj-action-h);
    padding: 0 !important;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: var(--aj-action-radius) !important;
    background: transparent !important;
    color: var(--aj-text, #1f2937) !important;
    cursor: pointer;
    transition: background var(--aj-transition, 280ms ease),
                border-color var(--aj-transition, 280ms ease),
                color var(--aj-transition, 280ms ease);
}
header.main-header .aj-header-actions .aj-header-search.aj-header-search--open .aj-header-search__toggle {
    border-color: transparent !important;
    color: var(--aj-primary-dark, #a7bd1b) !important;
}
header.main-header .aj-header-actions .aj-header-search__toggle:hover,
header.main-header .aj-header-actions .aj-header-search__toggle:focus-visible {
    background: var(--aj-primary-soft, rgba(183, 205, 39, 0.12)) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
    color: var(--aj-primary-dark, #a7bd1b) !important;
}
header.main-header .aj-header-actions .aj-header-search__toggle i {
    font-size: var(--aj-action-icon);
    line-height: 1;
    color: inherit;
    margin: 0 !important;
}
header.main-header .aj-header-actions .aj-header-search__icon-close { display: none; }
header.main-header .aj-header-actions .aj-header-search.aj-header-search--open .aj-header-search__icon-search { display: none; }
header.main-header .aj-header-actions .aj-header-search.aj-header-search--open .aj-header-search__icon-close { display: inline-block; }

body.aj-dark header.main-header .aj-header-actions .aj-header-search.aj-header-search--open {
    background: #0f172a;
    border-color: var(--aj-border, #334155);
}
body.aj-dark header.main-header .aj-header-actions .aj-header-search__input {
    color: var(--aj-text, #e5e7eb);
}

@media (max-width: 991px) {
    header.main-header .aj-header-actions .aj-header-search { width: var(--aj-action-h); height: var(--aj-action-h); }
    header.main-header .aj-header-actions .aj-header-search.aj-header-search--open { width: clamp(200px, 40vw, 260px); }
}

@media (max-width: 600px) {
    header.main-header .aj-header-actions .aj-header-search { width: var(--aj-action-h); height: var(--aj-action-h); }
    header.main-header .aj-header-actions .aj-header-search.aj-header-search--open { width: clamp(180px, 60vw, 240px); }
}

/* -- 16. Creative clear brand mark in menu ---------------------------------
   Live-ready treatment: cleaner glass card, stronger contrast, subtle halo. */
html body header.main-header .logo-holder {
    padding-inline: 8px !important;
}
html body header.main-header .logo-holder .aj-logo-card {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 5px 10px !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.95), rgba(245,248,255,0.92)) !important;
    border: 1px solid rgba(183,205,39,0.35) !important;
    box-shadow: 0 8px 22px rgba(15,23,42,0.14), 0 2px 8px rgba(183,205,39,0.22) !important;
    overflow: visible !important;
}
html body header.main-header .logo-holder .aj-logo-card::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 16px;
    background: linear-gradient(120deg, rgba(183,205,39,0.3), rgba(20,66,115,0.25), rgba(183,205,39,0.22));
    opacity: 0.55;
    z-index: -1;
}
html body header.main-header .logo-holder .aj-logo-card a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
html body header.main-header .logo-holder .aj-logo-card img {
    height: 74px !important;
    max-height: 74px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    filter: saturate(1.08) contrast(1.08) drop-shadow(0 5px 14px rgba(0,0,0,0.18)) !important;
}
body.aj-dark html header.main-header .logo-holder .aj-logo-card,
body.aj-dark header.main-header .logo-holder .aj-logo-card {
    background: linear-gradient(145deg, rgba(30,41,59,0.95), rgba(15,23,42,0.92)) !important;
    border-color: rgba(183,205,39,0.45) !important;
}
@media (max-width: 991px) {
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 4px 8px !important;
        border-radius: 12px !important;
    }
    html body header.main-header .logo-holder .aj-logo-card img {
        height: 52px !important;
        max-height: 52px !important;
    }
}
@media (max-width: 600px) {
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 3px 6px !important;
        border-radius: 10px !important;
    }
    html body header.main-header .logo-holder .aj-logo-card img {
        height: 42px !important;
        max-height: 42px !important;
    }
}

/* -- 15. FAVORITES/COMPARE HEADER MODAL (popup) ---------------------------
   Theme positions it with a hardcoded left offset (left: 190px) from the
   original template, detached from the star button and with no card look. */
header.main-header .header-modal,
header.main-header .header-modal.vis-wishlist {
    left: auto !important;
    right: 12px !important;             /* LTR: actions cluster is on the right */
    top: calc(100% + 10px) !important;
    width: min(400px, calc(100vw - 24px)) !important;
    border-radius: 14px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16), 0 4px 12px rgba(15, 23, 42, 0.08) !important;
    background: #ffffff !important;
    overflow: hidden !important;
}
header.main-header .header-modal .tabs-menu {
    background: #ffffff !important;
    padding: 14px 14px 8px !important;
}
header.main-header .header-modal .tabs-menu li a {
    border-radius: 8px !important;
    font-size: 12.5px !important;
}
header.main-header .header-modal .tabs-menu li.current a {
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    border-color: transparent !important;
}
header.main-header .header-modal-container {
    background: #ffffff !important;
    padding: 8px 14px 14px !important;
}
header.main-header .header-modal-top {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}
@media (max-width: 480px) {
    header.main-header .header-modal,
    header.main-header .header-modal.vis-wishlist {
        right: 8px !important;
        width: calc(100vw - 16px) !important;
    }
}

/* -- 16. SHARE POPUP (property details) -----------------------------------
   Theme card was clipped behind the section background and used floated
   45px cells. Rebuild as a modern elevated card next to the share button. */
.share-holder {
    position: relative !important;
    z-index: 60 !important;
}
.share-container {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;
    z-index: 1050 !important;
    display: none;
    min-width: 250px !important;
    padding: 8px !important;
    margin-top: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16), 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}
.share-container.visshare {
    display: flex !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: center !important;
}
.share-container::before {
    display: none !important; /* old misaligned arrow */
}
.share-container .share-icon {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 1 !important;
    border: none !important;
    border-radius: 10px !important;
    color: #4a5264 !important;
    font-size: 17px !important;
    transition: background 180ms ease, color 180ms ease !important;
}
.share-container .share-icon:hover {
    background: var(--aj-primary-soft, rgba(183, 205, 39, 0.14)) !important;
    color: var(--aj-primary-dark, #7f980f) !important;
}

/* -- 17. MAP MODAL (footer) ------------------------------------------------ */
.map-modal-wrap-overlay {
    background: rgba(15, 23, 42, 0.55) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.map-modal-container {
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.30) !important;
    padding-bottom: 0 !important;
}
.map-modal-container h3 {
    padding: 14px 56px 14px 18px !important;
    margin: 0 !important;
    font-size: 15px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    text-align: start !important;
}
.map-modal-close {
    top: 8px !important;
    inset-inline-end: 8px !important;
    inset-inline-start: auto !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    border-radius: 10px !important;
    background: rgba(15, 23, 42, 0.06) !important;
    color: #4a5264 !important;
    text-align: center !important;
    transition: background 180ms ease !important;
}
.map-modal-close:hover {
    background: rgba(15, 23, 42, 0.12) !important;
}

/* ============================================================================
   AbuJudom — Premium Header Redesign v3 (May 2026)
   - Heritage top strip + 75px nav bar + search popup overlay
   ============================================================================ */

:root {
    --aj-gold: #c5a94e;
    --aj-gold-soft: #ddc97a;
    --aj-gold-muted: rgba(197, 169, 78, 0.15);
    --aj-olive: #6b7a3a;
    --aj-olive-dark: #3a3d2e;
    --aj-olive-soft: rgba(107, 122, 58, 0.08);
    --aj-cream: #faf8f0;
    --aj-header-font: 'Tajawal', 'Cairo', 'Inter', system-ui, sans-serif;
    --aj-nav-h: 66px;
}

/* ============================================================================
   1. HERITAGE TOP STRIP
   ============================================================================ */
.aj-top-strip {
    width: 100%;
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(221,201,122,0.20) 0%, rgba(221,201,122,0.00) 52%),
        linear-gradient(135deg, #2b3518 0%, #3f4f26 48%, #566633 100%);
    color: rgba(255, 255, 255, 0.92);
    font-size: 11.5px;
    font-weight: 400;
    letter-spacing: 0.3px;
    position: relative;
    z-index: 9002;
    border-bottom: 1px solid rgba(197, 169, 78, 0.18);
    font-family: var(--aj-header-font);
    box-shadow: inset 0 -1px 0 rgba(197, 169, 78, 0.08);
}

.aj-top-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.22;
    background-image:
        linear-gradient(30deg, rgba(255,255,255,0.07) 1px, transparent 1px),
        linear-gradient(-30deg, rgba(197,169,78,0.08) 1px, transparent 1px);
    background-size: 26px 26px, 34px 34px;
}

.aj-top-strip::after {
    content: "";
    position: absolute;
    bottom: 0; left: 12%; right: 12%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(197,169,78,0.4) 25%, rgba(221,201,122,0.55) 50%, rgba(197,169,78,0.4) 75%, transparent);
    pointer-events: none;
}

.aj-top-strip__inner {
    display: flex; align-items: center; justify-content: space-between;
    max-width: none; width: 100%; margin: 0; padding: 8px 24px; gap: 16px;
}

.aj-top-strip__brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.aj-top-strip__name-ar {
    color: var(--aj-gold-soft); font-weight: 600; font-size: 12px; letter-spacing: 0.4px;
}
.aj-top-strip__name-en {
    color: rgba(255,255,255,0.62); font-weight: 400; font-size: 10.5px;
    letter-spacing: 1px; text-transform: uppercase;
}
.aj-top-strip__name-en.aj-top-strip__name-en--primary {
    color: var(--aj-gold-soft); font-weight: 600; font-size: 12px; letter-spacing: 0.8px;
}
.aj-top-strip__name-ar.aj-top-strip__name-ar--secondary {
    color: rgba(255,255,255,0.58); font-weight: 400; font-size: 11px;
}

.aj-top-strip__sep {
    display: inline-block; width: 1px; height: 11px;
    background: rgba(197,169,78,0.30); flex-shrink: 0;
}

.aj-top-strip__heritage { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.aj-top-strip__est { color: var(--aj-gold); font-weight: 700; font-size: 11px; letter-spacing: 0.8px; }
.aj-top-strip__diamond { color: rgba(197,169,78,0.50); font-size: 10px; line-height: 1; }
.aj-top-strip__tagline { color: rgba(255,255,255,0.56); font-size: 10.5px; }

html[dir="rtl"] .aj-top-strip__inner { flex-direction: row; }

@media (max-width: 768px) {
    .aj-top-strip__inner { padding: 5px 16px; gap: 8px; }
    .aj-top-strip__name-en, .aj-top-strip__tagline { display: none; }
    .aj-top-strip__name-ar { font-size: 11px; }
    .aj-top-strip__est { font-size: 10px; }
}
@media (max-width: 480px) {
    .aj-top-strip__sep, .aj-top-strip__diamond { display: none; }
    .aj-top-strip__inner { padding: 4px 12px; }
}

/* ============================================================================
   2. MAIN HEADER BAR — 75px nav row
   ============================================================================ */

html body header.main-header {
    height: auto !important;
    min-height: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 4px 20px rgba(15,23,42,0.06) !important;
    transition: box-shadow 300ms ease, background 300ms ease !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    overflow: visible !important;
    padding-block: 0 !important;
}

html header.main-header .aj-top-strip {
    order: -1; flex: 0 0 100%; width: 100%;
}

/* All nav-row items: fixed 62px height */
html header.main-header .logo-holder,
html header.main-header .nav-holder.main-menu,
html header.main-header .aj-header-actions {
    height: var(--aj-nav-h);
    display: flex !important;
    align-items: center !important;
}
html header.main-header .nav-holder.main-menu {
    flex: 1 1 auto;
    justify-content: center;
}

html header.main-header .nav-button-wrap {
    display: none !important;
    height: var(--aj-nav-h);
    align-items: center;
}

html header.main-header .header-inner {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    flex-wrap: wrap !important;
    width: 100%;
}

body.aj-sticky-active { padding-top: 95px !important; /* ~33px strip + 62px nav */ }

html header.main-header.aj-sticky-header.aj-shrunk {
    box-shadow: 0 2px 8px rgba(15,23,42,0.06), 0 8px 24px rgba(15,23,42,0.04) !important;
}
html header.main-header.aj-sticky-header.aj-shrunk .aj-top-strip { display: none; }
html header.main-header.aj-sticky-header.aj-shrunk .logo-holder,
html header.main-header.aj-sticky-header.aj-shrunk .nav-holder.main-menu,
html header.main-header.aj-sticky-header.aj-shrunk .aj-header-actions,
html header.main-header.aj-sticky-header.aj-shrunk .nav-button-wrap {
    height: 50px;
}

/* ============================================================================
   3. PREMIUM LOGO — white card, half inside header / half below into slider
   ============================================================================ */

html header.main-header .logo-holder {
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 10px !important;
    position: relative !important;
    top: 0 !important;
    z-index: 20;
    align-self: center !important;
}
html header.main-header .logo-holder img { margin-bottom: 0 !important; }

/* White card block — covers header height, extends below */
html body header.main-header .logo-holder .aj-logo-card {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px 14px !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    box-shadow:
        0 4px 14px rgba(15,23,42,0.06),
        0 8px 28px rgba(15,23,42,0.03) !important;
    z-index: 20;
    margin-bottom: -38px; /* controlled overflow — logo peeks into hero, not excessively */
    transition: box-shadow 320ms ease, transform 320ms ease;
}

/* Gold accent line at the top of the card */
html header.main-header .logo-holder .aj-logo-card::before {
    content: "";
    position: absolute; top: -1px; left: 18%; right: 18%; height: 2.5px;
    border-radius: 0 0 3px 3px;
    background: linear-gradient(90deg, transparent, var(--aj-gold) 25%, var(--aj-gold-soft) 50%, var(--aj-gold) 75%, transparent);
    opacity: 0.5; transition: opacity 320ms ease;
}
html header.main-header .logo-holder .aj-logo-card:hover {
    box-shadow:
        0 8px 24px rgba(15,23,42,0.09),
        0 16px 48px rgba(15,23,42,0.05);
    transform: translateY(-1px);
}
html header.main-header .logo-holder .aj-logo-card:hover::before { opacity: 1; }

html header.main-header .logo-holder .aj-logo-card a {
    display: inline-flex !important; align-items: center; justify-content: center;
    padding: 0 !important; margin: 0 !important;
    background: transparent !important; border: none !important;
    border-radius: 0 !important; box-shadow: none !important;
    text-decoration: none !important; transform: none !important;
    width: auto !important; height: auto !important;
}
html header.main-header .logo-holder .aj-logo-card a:hover,
html header.main-header .logo-holder .aj-logo-card a:focus-visible {
    background: transparent !important; box-shadow: none !important; transform: none !important;
}

/* Logo image inside the white card — large but balanced */
html header.main-header .logo-holder .aj-logo-card img {
    height: 90px !important;
    max-height: 90px !important;
    width: 90px !important;
    max-width: 90px !important;
    object-fit: contain;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transition: filter 320ms ease !important;
}

html header.main-header .logo-holder a:hover img,
html header.main-header .logo-holder a:focus img,
html header.main-header .logo-holder img:hover {
    transform: none !important; scale: none !important; opacity: 1 !important;
}

/* Shrunk sticky — smaller card */
html header.main-header.aj-sticky-header.aj-shrunk .aj-logo-card {
    padding: 6px 10px; border-radius: 10px; margin-bottom: -12px;
}
html header.main-header.aj-sticky-header.aj-shrunk .aj-logo-card img {
    height: 42px !important; max-height: 42px !important;
}

/* ============================================================================
   4. NAVIGATION — clean professional typography
   ============================================================================ */
@media (min-width: 992px) {
    html header.main-header .nav-holder.main-menu nav > ul {
        display: flex !important;
        align-items: center !important;
        gap: 2px !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > a {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #374151 !important;
        letter-spacing: 0.15px;
        padding: 8px 12px !important;
        transition: color 250ms ease, background 250ms ease !important;
        position: relative;
        border-radius: 7px;
        display: inline-flex !important;
        align-items: center;
        gap: 4px;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li:hover > a {
        color: #7f980f !important;
        background: rgba(183, 205, 39, 0.12);
    }

    /* Active underline */
    html header.main-header .nav-holder.main-menu nav > ul > li > a::after {
        content: "";
        position: absolute; bottom: -2px; left: 20%; right: 20%; height: 2.5px;
        border-radius: 2px;
        background: linear-gradient(90deg, var(--aj-gold), var(--aj-gold-soft)) !important;
        opacity: 0; transform: scaleX(0);
        transition: opacity 250ms ease, transform 250ms ease;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li:hover > a::after,
    html header.main-header .nav-holder.main-menu nav > ul > li.current-menu-item > a::after,
    html header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-home::after {
        opacity: 1; transform: scaleX(1);
    }
    html header.main-header .nav-holder.main-menu nav > ul > li.current-menu-item > a,
    html header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-home {
        color: #8aa60e !important;
        background: rgba(183, 205, 39, 0.10) !important;
    }

    /* Icons — static, no hover animation */
    html header.main-header .nav-holder.main-menu nav > ul > li > a .aj-nav-icon,
    html header.main-header .nav-holder.main-menu nav > ul > li > a .fa-home {
        color: var(--aj-olive); font-size: 14px; opacity: 1;
    }

    /* Caret — static, no hover animation */
    html header.main-header .nav-holder.main-menu nav > ul > li > a .fa-caret-down {
        font-size: 10px; opacity: 0.4; margin-inline-start: 3px;
    }

    /* Dropdown panel */
    html header.main-header .nav-holder.main-menu nav > ul > li > ul {
        border-radius: 10px !important;
        border: 1px solid rgba(0,0,0,0.05) !important;
        box-shadow: 0 8px 28px rgba(15,23,42,0.10), 0 2px 6px rgba(15,23,42,0.04) !important;
        padding: 6px !important; overflow: hidden; background: #ffffff !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > ul > li > a {
        border-radius: 6px !important; padding: 9px 16px !important;
        font-size: 13.5px !important; font-weight: 500 !important;
        transition: background 180ms ease, color 180ms ease !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > ul > li > a:hover {
        background: var(--aj-olive-soft) !important; color: var(--aj-olive) !important;
    }

    /* --- ALL nav links: two-line label pattern --- */
    html header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-labeled {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 1px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        line-height: 1.2 !important;
    }
    .aj-nav-eval__label {
        display: block;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 0.8px;
        color: var(--aj-gold, #c5a94e) !important;
        opacity: 0.65;
        line-height: 1 !important;
        transition: opacity 200ms ease;
    }
    html[dir="ltr"] .aj-nav-eval__label {
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 9px !important;
    }
    .aj-nav-eval__main {
        display: block;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        white-space: nowrap;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li:hover > a.aj-nav-labeled .aj-nav-eval__label {
        opacity: 1;
    }

    /* Property Type dropdown — wider panel */
    html header.main-header .nav-holder.main-menu nav > ul > li > ul {
        min-width: 220px !important;
    }
}

/* --- Sticky/Scroll header: compact two-line labels --- */
header.main-header.vis_secnav .aj-nav-eval__label {
    font-size: 7.5px !important;
    opacity: 0.5 !important;
    letter-spacing: 0.6px !important;
}
header.main-header.vis_secnav .nav-holder.main-menu nav > ul > li > a.aj-nav-labeled {
    gap: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

/* --- Mobile: hide labels, show simple nav in hamburger --- */
@media (max-width: 991px) {
    .aj-nav-eval__label {
        display: none !important;
    }
    .nav-holder.main-menu nav > ul > li > a.aj-nav-labeled {
        flex-direction: row !important;
        gap: 6px !important;
        padding: 12px 20px !important;
    }
    .aj-nav-eval__main {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }
}

/* ============================================================================
   5. ACTION CLUSTER — refined hover states
   ============================================================================ */

header.main-header .aj-header-actions .aj-search-trigger,
header.main-header .aj-header-actions .show-reg-form a,
header.main-header .aj-header-actions .cart-btn {
    border-color: rgba(0,0,0,0.07) !important;
    color: #4a5264 !important;
    transition: all 250ms ease !important;
}
header.main-header .aj-header-actions .aj-search-trigger:hover,
header.main-header .aj-header-actions .show-reg-form a:hover,
header.main-header .aj-header-actions .cart-btn:hover {
    border-color: var(--aj-olive) !important;
    color: var(--aj-olive) !important;
    background: var(--aj-olive-soft) !important;
}

/* Search trigger — same style as other icon buttons */
header.main-header .aj-header-actions .aj-search-trigger {
    display: inline-flex !important;
    align-items: center; justify-content: center;
    width: var(--aj-action-h); min-width: var(--aj-action-h);
    height: var(--aj-action-h);
    padding: 0 !important;
    border: 1px solid var(--aj-border, #e5e7eb) !important;
    border-radius: var(--aj-action-radius) !important;
    background: transparent !important;
    color: var(--aj-text, #1f2937) !important;
    cursor: pointer;
    font-size: var(--aj-action-icon);
    flex-shrink: 0;
}

/* Language toggle */
header.main-header .aj-header-actions .aj-lang-toggle { border-color: rgba(0,0,0,0.07) !important; }
header.main-header .aj-header-actions .aj-lang-toggle:hover {
    border-color: var(--aj-olive) !important; background: var(--aj-olive-soft) !important;
}
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active,
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active:hover {
    background: var(--aj-olive) !important;
    box-shadow: 0 2px 6px rgba(107,122,58,0.25) !important;
}

/* Add Property CTA */
header.main-header .aj-header-actions .add-list_wrap .add-list,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn {
    background: linear-gradient(135deg, var(--aj-primary, #b7cd27) 0%, #a8bc1d 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 2px 8px rgba(183,205,39,0.15), 0 1px 2px rgba(0,0,0,0.04) !important;
    font-size: 12.5px !important; font-weight: 600 !important;
    border-radius: 10px !important;
    letter-spacing: 0.2px;
}
header.main-header .aj-header-actions .add-list_wrap .add-list:hover,
header.main-header .aj-header-actions .add-list_wrap .aj-add-btn:hover {
    background: linear-gradient(135deg, #a7bd1b 0%, #98ad14 100%) !important;
    box-shadow: 0 4px 16px rgba(183,205,39,0.28), 0 2px 4px rgba(0,0,0,0.06) !important;
}

/* Separator — thin, subtle, vertically centered */
header.main-header .aj-header-actions .aj-header-actions__sep {
    display: inline-block;
    width: 1px;
    height: 20px;
    background: rgba(0,0,0,0.08) !important;
    margin-inline: 4px 6px;
    align-self: center;
    flex-shrink: 0;
    border-radius: 1px;
}

/* ============================================================================
   6. SEARCH POPUP OVERLAY
   ============================================================================ */

.aj-search-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 99999;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s 350ms, opacity 300ms ease;
}
.aj-search-overlay.aj-search-overlay--open {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transition: visibility 0s, opacity 300ms ease;
}

.aj-search-overlay__backdrop {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.aj-search-overlay__container {
    position: relative;
    max-width: 680px;
    margin: 0 auto;
    padding-top: 18vh;
    transform: translateY(-20px);
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1);
}
.aj-search-overlay.aj-search-overlay--open .aj-search-overlay__container {
    transform: translateY(0);
}

.aj-search-overlay__form {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 16px;
    padding: 6px 8px 6px 24px;
    box-shadow: 0 20px 60px rgba(15,23,42,0.18), 0 4px 16px rgba(15,23,42,0.08);
    border: 1px solid rgba(0,0,0,0.06);
    gap: 12px;
}

.aj-search-overlay__icon {
    font-size: 20px;
    color: var(--aj-olive);
    opacity: 0.5;
    flex-shrink: 0;
}

.aj-search-overlay__input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0; outline: 0;
    background: transparent;
    font-size: 18px;
    font-weight: 500;
    color: #1f2937;
    padding: 14px 0;
    font-family: var(--aj-header-font);
    letter-spacing: 0.2px;
}
.aj-search-overlay__input::placeholder {
    color: #9ca3af; font-weight: 400;
}

.aj-search-overlay__close {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 42px; height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.06);
    background: #f9fafb;
    color: #6b7280;
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 200ms ease;
}
.aj-search-overlay__close:hover {
    background: #fee2e2; color: #dc2626;
    border-color: rgba(220,38,38,0.15);
}

body.aj-search-active { overflow: hidden; }

/* RTL form direction */
html[dir="rtl"] .aj-search-overlay__form {
    padding: 6px 24px 6px 8px;
    flex-direction: row-reverse;
}

/* ============================================================================
   7. DARK MODE
   ============================================================================ */
body.aj-dark .aj-top-strip {
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(183,205,39,0.08) 0%, rgba(183,205,39,0.00) 45%),
        linear-gradient(135deg, #081827 0%, #0c2433 50%, #0b2a2f 100%);
    border-bottom-color: rgba(197,169,78,0.12);
}
body.aj-dark header.main-header {
    background: #0f172a !important;
    border-bottom-color: rgba(197,169,78,0.10) !important;
}
body.aj-dark header.main-header .logo-holder .aj-logo-card {
    background: linear-gradient(150deg, #1e293b 0%, #162030 100%);
    border-color: rgba(197,169,78,0.12);
    box-shadow: 0 1px 4px rgba(0,0,0,0.3), 0 4px 12px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.04);
}
body.aj-dark .aj-search-overlay__form {
    background: #1e293b; border-color: rgba(255,255,255,0.08);
}
body.aj-dark .aj-search-overlay__input { color: #e5e7eb; }
body.aj-dark .aj-search-overlay__close { background: #334155; color: #94a3b8; border-color: rgba(255,255,255,0.06); }

@media (min-width: 992px) {
    body.aj-dark header.main-header .nav-holder.main-menu nav > ul > li > a { color: #cbd5e1 !important; }
    body.aj-dark header.main-header .nav-holder.main-menu nav > ul > li:hover > a {
        color: var(--aj-gold-soft) !important; background: rgba(197,169,78,0.06);
    }
}

/* ============================================================================
   8. RESPONSIVE
   ============================================================================ */

/* --- Narrow desktop (1200px and below): compact logo + tighter nav --- */
@media (max-width: 1199px) and (min-width: 992px) {
    :root { --aj-nav-h: 58px; }

    /* Smaller logo card for narrower screens */
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 6px 10px !important;
        margin-bottom: -20px !important;
        border-radius: 12px !important;
    }
    html header.main-header .logo-holder .aj-logo-card img {
        height: 62px !important;
        max-height: 62px !important;
        width: 62px !important;
        max-width: 62px !important;
    }
    html header.main-header .logo-holder {
        padding: 0 6px !important;
    }

    /* Compact navigation links */
    html header.main-header .nav-holder.main-menu nav > ul > li > a {
        padding: 0 10px !important;
        font-size: 13px !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-labeled {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }
    .aj-nav-eval__label {
        font-size: 8px !important;
    }
    .aj-nav-eval__main {
        font-size: 13px !important;
    }

    /* Tighter action cluster */
    html header.main-header .aj-header-actions {
        gap: 4px !important;
        padding-inline-start: 6px !important;
    }
    header.main-header .aj-header-actions .add-list_wrap .add-list,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn {
        padding: 0 12px !important;
        font-size: 12px !important;
        height: 32px !important;
    }
}

/* --- Tablet (991px and below): hamburger menu, integrated logo --- */
@media (max-width: 991px) {
    :root { --aj-nav-h: 56px; }

    html header.main-header .nav-button-wrap {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        top: 0 !important;
        float: none !important;
        margin: 0 !important;
        border-radius: 10px !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
    }

    /* Logo card: small and contained within the header */
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 5px 8px !important;
        border-radius: 10px !important;
        margin-bottom: 0 !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
    }
    html header.main-header .logo-holder .aj-logo-card img {
        height: 42px !important;
        max-height: 42px !important;
        width: 42px !important;
        max-width: 42px !important;
    }
    html header.main-header .logo-holder .aj-logo-card::before {
        display: none !important;
    }
    html header.main-header .logo-holder {
        padding: 0 8px !important;
    }

    /* Header inner: compact row */
    html header.main-header .header-inner {
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    /* Action icons: compact */
    html header.main-header .aj-header-actions {
        gap: 4px !important;
    }
    html header.main-header .aj-header-actions .aj-search-trigger,
    html header.main-header .aj-header-actions .show-reg-form a,
    html header.main-header .aj-header-actions .cart-btn {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        font-size: 14px !important;
    }
    header.main-header .aj-header-actions .add-list_wrap .add-list,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn {
        height: 44px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        border-radius: 10px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle {
        height: 44px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
        font-size: 11px !important;
        padding: 0 8px !important;
    }

    body.aj-sticky-active {
        padding-top: 80px !important;
    }

    .aj-search-overlay__container { padding-top: 12vh; max-width: 90%; }
    .aj-search-overlay__input { font-size: 16px; padding: 12px 0; }
}

/* --- Mobile (600px and below) --- */
@media (max-width: 600px) {
    :root { --aj-nav-h: 48px; }

    html body header.main-header .logo-holder .aj-logo-card {
        padding: 4px 6px !important;
        border-radius: 8px !important;
    }
    html header.main-header .logo-holder .aj-logo-card img {
        height: 34px !important;
        max-height: 34px !important;
        width: 34px !important;
        max-width: 34px !important;
    }
    html header.main-header .logo-holder {
        padding: 0 4px !important;
    }

    /* Even smaller action buttons */
    html header.main-header .aj-header-actions .aj-search-trigger,
    html header.main-header .aj-header-actions .show-reg-form a,
    html header.main-header .aj-header-actions .cart-btn {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }
    header.main-header .aj-header-actions .add-list_wrap .add-list,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn {
        height: 36px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle {
        height: 36px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
        font-size: 10px !important;
        padding: 0 6px !important;
    }

    body.aj-sticky-active { padding-top: 70px !important; }
    .aj-search-overlay__container { padding-top: 10vh; }
    .aj-search-overlay__form { border-radius: 12px; padding: 4px 6px 4px 16px; gap: 8px; }
    .aj-search-overlay__input { font-size: 15px; padding: 10px 0; }
    .aj-search-overlay__close { width: 36px; height: 36px; border-radius: 10px; }
}

/* ============================================================================
   9. PRINT
   ============================================================================ */
@media print {
    .aj-top-strip, .aj-search-overlay { display: none !important; }
    header.main-header .aj-logo-card { box-shadow: none !important; border: 1px solid #ccc !important; }
}

/* May 2026 menu cleanup: single-line labels and tighter logo/nav spacing */
@media (min-width: 992px) {
    html header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-labeled {
        flex-direction: row !important;
        gap: 6px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > a.aj-nav-labeled .aj-nav-eval__main {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
    }
    html header.main-header .aj-nav-eval__label {
        display: none !important;
    }
}
html header.main-header .logo-holder {
    padding: 0 4px !important;
    margin-inline-end: 4px !important;
}
html body header.main-header .logo-holder .aj-logo-card {
    margin-bottom: -20px !important;
}

/* Keep nav row aligned exactly like Bootstrap .container start */
html header.main-header > .container.header-inner {
    width: auto !important;
    margin-inline: auto !important;
    padding-inline: 15px !important;
}

/* Big logo in white card — overflows downward so nav row stays compact */
@media (min-width: 1200px) {
    :root { --aj-nav-h: 70px; }
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 10px 16px !important;
        margin-bottom: -38px !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        border: 1px solid rgba(0,0,0,0.05) !important;
        box-shadow:
            0 6px 18px rgba(15, 23, 42, 0.08),
            0 12px 32px rgba(15, 23, 42, 0.05) !important;
    }
    html body header.main-header .logo-holder .aj-logo-card img,
    html body header.main-header .logo-holder .aj-logo-card a img {
        height: 100px !important;
        max-height: 100px !important;
        width: 100px !important;
        max-width: 100px !important;
    }
}
@media (max-width: 1199px) and (min-width: 992px) {
    :root { --aj-nav-h: 64px; }
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 8px 12px !important;
        margin-bottom: -28px !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        border: 1px solid rgba(0,0,0,0.05) !important;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07) !important;
    }
    html body header.main-header .logo-holder .aj-logo-card img,
    html body header.main-header .logo-holder .aj-logo-card a img {
        height: 84px !important;
        max-height: 84px !important;
        width: 84px !important;
        max-width: 84px !important;
    }
}

/* Language toggle: ensure Arabic glyph "ع" renders at proper size */
header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    min-width: 28px !important;
    padding: 0 10px !important;
    text-align: center !important;
    font-family: 'Tajawal', 'Cairo', 'Jost', system-ui, sans-serif !important;
}
html header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt.aj-lang-opt--ar,
html header.main-header .aj-header-actions .aj-lang-toggle a.aj-lang-opt[lang="ar"] {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    padding: 0 12px !important;
    min-width: 32px !important;
    font-family: 'Tajawal', 'Cairo', system-ui, sans-serif !important;
}

/* Subtle hover lift on logo card */
html body header.main-header .logo-holder .aj-logo-card {
    transition: transform 280ms cubic-bezier(.2, .8, .2, 1),
                box-shadow 280ms ease !important;
}
html body header.main-header .logo-holder .aj-logo-card:hover {
    transform: translateY(-3px) !important;
    box-shadow:
        0 10px 28px rgba(15, 23, 42, 0.10),
        0 18px 50px rgba(15, 23, 42, 0.06) !important;
}

/* ============================================================================
   10. MOBILE SLIDE-OUT MENU — May 2026 hotfix
   ============================================================================ */
@media (max-width: 991px) {
    /* Panel base */
    html header.main-header .nav-holder.main-menu {
        position: fixed !important;
        top: 0 !important;
        width: 290px !important;
        max-width: 86vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #ffffff !important;
        z-index: 10100 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-shadow: -8px 0 32px rgba(15, 23, 42, 0.18) !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        transition: transform 320ms cubic-bezier(.22, 1, .36, 1) !important;
    }
    html[dir="rtl"] header.main-header .nav-holder.main-menu {
        right: 0 !important;
        left: auto !important;
        transform: translateX(100%) !important;
    }
    html[dir="ltr"] header.main-header .nav-holder.main-menu {
        left: 0 !important;
        right: auto !important;
        transform: translateX(-100%) !important;
    }
    html header.main-header .nav-holder.main-menu.vis_nav {
        transform: translateX(0) !important;
    }

    /* Top section of mobile menu — logo + close */
    html header.main-header .nav-holder.main-menu .header-modal-top {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 14px 16px !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
        flex-shrink: 0;
    }
    html header.main-header .nav-holder.main-menu .header-modal-top .logo-holder {
        padding: 0 !important;
        margin: 0 !important;
    }
    html header.main-header .nav-holder.main-menu .header-modal-top .logo-holder img {
        height: 44px !important;
        width: auto !important;
        max-width: 120px !important;
    }
    html header.main-header .nav-holder.main-menu .header-modal-top .close-header-modal {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 10px !important;
        background: #f3f4f6 !important;
        border: 1px solid rgba(0, 0, 0, 0.06) !important;
        color: #6b7280 !important;
        font-size: 16px !important;
        cursor: pointer;
        flex-shrink: 0;
    }
    html header.main-header .nav-holder.main-menu .header-modal-top .close-header-modal:hover {
        background: #fee2e2 !important;
        color: #dc2626 !important;
    }

    /* Nav list */
    html header.main-header .nav-holder.main-menu nav {
        flex: 1;
        overflow-y: auto;
    }
    html header.main-header .nav-holder.main-menu nav > ul {
        display: flex !important;
        flex-direction: column !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > a {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 13px 20px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #374151 !important;
        text-decoration: none !important;
        transition: background 180ms ease, color 180ms ease !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        word-break: break-word !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > a:hover,
    html header.main-header .nav-holder.main-menu nav > ul > li > a:active {
        background: rgba(183, 205, 39, 0.08) !important;
        color: var(--aj-olive, #6b7a3a) !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li.current-menu-item > a {
        color: var(--aj-olive, #6b7a3a) !important;
        font-weight: 600 !important;
        background: rgba(183, 205, 39, 0.06) !important;
    }

    /* Dropdown sub-menus */
    html header.main-header .nav-holder.main-menu nav > ul > li > ul {
        display: none;
        list-style: none !important;
        padding: 0 0 6px 0 !important;
        margin: 0 !important;
        background: rgba(0, 0, 0, 0.02) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > ul > li > a {
        padding: 10px 36px 10px 20px !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #6b7280 !important;
        display: block !important;
    }
    html[dir="ltr"] header.main-header .nav-holder.main-menu nav > ul > li > ul > li > a {
        padding: 10px 20px 10px 36px !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > ul > li > a:hover {
        color: var(--aj-olive, #6b7a3a) !important;
        background: rgba(183, 205, 39, 0.06) !important;
    }

    /* "Add Real Estate" button in mobile menu */
    html header.main-header .nav-holder.main-menu .add-list_wrap,
    html header.main-header .nav-holder.main-menu .add-list-wrap {
        padding: 12px 16px !important;
    }
    html header.main-header .nav-holder.main-menu .add-list_wrap .add-list,
    html header.main-header .nav-holder.main-menu .add-list_wrap .aj-add-btn,
    html header.main-header .nav-holder.main-menu .add-list-wrap .add-list,
    html header.main-header .nav-holder.main-menu .add-list-wrap .aj-add-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        height: 44px !important;
        padding: 0 16px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        background: linear-gradient(135deg, var(--aj-primary, #b7cd27) 0%, #a8bc1d 100%) !important;
        border: none !important;
        text-decoration: none !important;
        box-shadow: 0 2px 8px rgba(183, 205, 39, 0.25) !important;
    }
    html header.main-header .nav-holder.main-menu .add-list_wrap .add-list span,
    html header.main-header .nav-holder.main-menu .add-list_wrap .aj-add-btn span,
    html header.main-header .nav-holder.main-menu .add-list-wrap .add-list span,
    html header.main-header .nav-holder.main-menu .add-list-wrap .aj-add-btn span {
        display: inline !important;
        color: #ffffff !important;
        font-size: 14px !important;
    }

    /* Social / bottom icons in mobile menu */
    html header.main-header .nav-holder.main-menu .header-modal-top .header-social {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    /* Hide desktop nav underline */
    html header.main-header .nav-holder.main-menu nav > ul > li > a::after {
        display: none !important;
    }

    /* Prevent horizontal scroll from mobile menu */
    body.show-header-modal {
        overflow: hidden !important;
    }
}


/* ============================================================================
   abujudom-footer.css — Premium Footer + FAB Overrides  (May 2026)
   ============================================================================ */

/* ---------- Follow Us — horizontal social strip under logo ---------- */
.aj-footer-follow {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.aj-footer-follow__title {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #64748b !important;
    margin-bottom: 10px;
}
.aj-footer-follow__list {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.aj-footer-follow__list li {
    margin: 0 !important;
    float: none !important;
}
.aj-footer-follow__list li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: #f1f5f9 !important;
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    color: #475569 !important;
    float: none !important;
    line-height: normal !important;
    transition: all 220ms ease !important;
}
.aj-footer-follow__list li a:hover {
    background: var(--aj-primary, #b7cd27) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(183, 205, 39, 0.25);
}
.aj-footer-follow__list li a img.aj-social-svg {
    width: 18px !important;
    height: 18px !important;
    transition: filter 220ms ease;
}
.aj-footer-follow__list li a:hover img.aj-social-svg {
    filter: brightness(0) invert(1) !important;
}

/* Dark mode follow-us */
body.aj-dark .aj-footer-follow {
    border-top-color: rgba(255, 255, 255, 0.08);
}
body.aj-dark .aj-footer-follow__title {
    color: #94a3b8 !important;
}
body.aj-dark .aj-footer-follow__list li a {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* ---------- Floating Action Buttons (secondary-nav) — no white strip ---------- */
.secondary-nav {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
/* Individual FABs keep their own backgrounds */
.secondary-nav ul li a {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.10),
                0 1px 4px rgba(15, 23, 42, 0.06) !important;
    border-radius: 12px !important;
}
/* The SVG progress indicator also inherits the white background — remove it */
.secondary-nav .progress-indicator {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* ---------- Scroll-to-top — match FAB style ---------- */
.to-top,
.to-top.color-bg {
    width: 46px !important;
    height: 46px !important;
    line-height: 46px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #334155 !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.10),
                0 1px 4px rgba(15, 23, 42, 0.06) !important;
    font-size: 16px;
    transition: transform 200ms ease, box-shadow 200ms ease,
                background 200ms ease, color 200ms ease !important;
    right: 20px !important;
    bottom: 20px !important;
    z-index: 50;
}
.to-top:hover,
.to-top.color-bg:hover {
    transform: translateY(-2px) !important;
    background: var(--aj-primary, #b7cd27) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(183, 205, 39, 0.30),
                0 2px 6px rgba(183, 205, 39, 0.15) !important;
    border-color: var(--aj-primary, #b7cd27) !important;
}
/* Prevent overlap with footer */
.secondary-nav {
    bottom: 76px !important;
}
html[dir="rtl"] .to-top,
html[dir="rtl"] .to-top.color-bg {
    right: auto !important;
    left: 20px !important;
}

/* Dark mode FABs */
body.aj-dark .to-top,
body.aj-dark .to-top.color-bg {
    background: var(--aj-bg-card, #1e293b) !important;
    color: #e5e7eb !important;
    border-color: var(--aj-border, #334155) !important;
}

/* ---------- Mobile responsive ---------- */
@media (max-width: 767px) {
    .aj-footer-follow__list {
        justify-content: flex-start;
    }
    .aj-footer-follow__list li a {
        width: 38px !important;
        height: 38px !important;
    }
    .secondary-nav {
        right: 12px !important;
        bottom: 68px !important;
    }
    html[dir="rtl"] .secondary-nav {
        left: 12px !important;
    }
    .to-top,
    .to-top.color-bg {
        width: 42px !important;
        height: 42px !important;
        line-height: 42px !important;
        right: 12px !important;
        bottom: 14px !important;
    }
    html[dir="rtl"] .to-top,
    html[dir="rtl"] .to-top.color-bg {
        left: 12px !important;
    }
    .secondary-nav ul li a {
        width: 42px !important;
        height: 42px !important;
    }
}

/* ---------- Property cards + pagination (merged utilities) ---------- */
.property-card,
.project-card {
    background: #fff;
    border-radius: var(--aj-radius, 10px);
    overflow: hidden;
    box-shadow: var(--aj-shadow, 0 2px 6px rgba(0, 0, 0, 0.06));
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 2rem;
}
.property-card:hover,
.project-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--aj-shadow-hover, 0 12px 28px rgba(15, 23, 42, 0.14));
}
.property-card img,
.project-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.property-card .info,
.project-card .info {
    padding: 1rem;
}
.property-card .info h3,
.project-card .info h3 {
    margin: 0 0 0.4rem;
    font-size: 1.1rem;
    color: #212121;
}
.property-card .info .price {
    color: var(--aj-primary, #b7cd27);
    font-weight: 600;
}
.pagination {
    display: inline-flex;
    gap: 0.4rem;
    list-style: none;
    padding: 0;
}
.pagination li a {
    display: inline-block;
    min-width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    border-radius: 6px;
    background: #eee;
    color: #555;
    transition: background 0.2s ease, color 0.2s ease;
}
.pagination li.active a {
    background: var(--aj-primary, #b7cd27);
    color: #fff;
}
.pagination li a:hover {
    background: #ddd;
}

/* abujudom-mobile.css - Mobile fine-tuning (May 2026) */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

@media (max-width: 991px) {
    html, body, #main, #wrapper, .content { overflow-x: clip; max-width: 100%; }
    .container { padding-inline: clamp(12px, 4vw, 16px); }
    input[type="text"], input[type="email"], input[type="search"], input[type="tel"],
    input[type="number"], input[type="password"], select, textarea,
    .select2-container .select2-selection--single .select2-selection__rendered {
        font-size: 16px !important;
    }
}

@media (hover: none) and (pointer: coarse) {
    .aj-home-section .geodir-category-listing.aj-card:hover,
    .gallery-item:hover .geodir-category-listing,
    .listing-item:hover .geodir-category-listing,
    .aj-amman-item:hover img { transform: none !important; }
    .aj-home-section .geodir-category-listing.aj-card:hover .geodir-category-img img,
    .gallery-item:hover .geodir-category-img img,
    .listing-item:hover .geodir-category-img img { transform: none !important; }
}

@media (max-width: 767px) {
    .aj-top-strip__inner { flex-direction: column; align-items: flex-start; gap: 4px; padding-block: 8px; }
    .aj-top-strip__tagline { display: none; }
    .aj-top-strip__heritage { font-size: 10px; }
}

@media (max-width: 991px) {
    html header.main-header .aj-header-actions .aj-search-trigger,
    html header.main-header .aj-header-actions .show-reg-form a,
    html header.main-header .aj-header-actions .cart-btn,
    html header.main-header .aj-header-actions .aj-header-actions__icon-btn {
        width: 44px !important; min-width: 44px !important;
        height: 44px !important; min-height: 44px !important;
        flex: 0 0 44px !important;
    }
    html header.main-header .aj-header-actions .show-reg-form {
        width: 44px !important; min-width: 44px !important; flex: 0 0 44px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle { height: 44px !important; min-height: 44px !important; }
    header.main-header .nav-button-wrap {
        width: 44px !important; height: 44px !important;
        min-width: 44px !important; min-height: 44px !important;
    }
    header.main-header .aj-header-actions .add-list_wrap .add-list span,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn span { display: none !important; }
    header.main-header .aj-header-actions .add-list_wrap .add-list,
    header.main-header .aj-header-actions .add-list_wrap .aj-add-btn {
        width: 44px !important; min-width: 44px !important; height: 44px !important;
        padding: 0 !important; justify-content: center !important;
    }
}

@media (max-width: 991px) {
    html header.main-header .nav-holder.main-menu {
        padding-block-start: max(12px, env(safe-area-inset-top)) !important;
        padding-block-end: max(16px, env(safe-area-inset-bottom)) !important;
    }
    html header.main-header .nav-holder.main-menu nav > ul > li > a {
        min-height: 48px !important; padding-block: 12px !important; font-size: 15px !important;
    }
}

@media (max-width: 767px) {
    .aj-hero-search-section {
        min-height: clamp(220px, 46vh, 340px) !important;
        padding-block: clamp(48px, 12vw, 72px) clamp(20px, 5vw, 32px) !important;
    }
    .aj-hero-content { padding: clamp(32px, 8vw, 48px) 16px 12px !important; }
    .aj-hero-content .aj-hero-title {
        font-size: clamp(22px, 6.5vw, 30px) !important;
        line-height: 1.2 !important;
    }
    .aj-hero-content .aj-hero-subtitle {
        font-size: clamp(12px, 3.5vw, 15px) !important;
        line-height: 1.45 !important;
    }
}

@media (max-width: 600px) {
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .aj-fbar__btn {
        height: 48px !important; min-height: 48px !important;
    }
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home select.aj-fbar__select,
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .chosen-container-single .chosen-single,
    .aj-home-fbar-wrap .aj-fbar.aj-fbar--home .select2-container .select2-selection--single {
        height: 48px !important; min-height: 48px !important;
    }
}

@media (max-width: 767px) {
    section.gray-bg.small-padding > .container > .aj-fbar {
        flex-direction: column; align-items: stretch; gap: 8px; padding: 12px;
        border-radius: 12px; background: #fff;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    }
    section.gray-bg.small-padding > .container > .aj-fbar .aj-fbar__field { flex: 1 1 100%; min-width: 100%; }
    section.gray-bg.small-padding > .container > .aj-fbar .aj-fbar__btn,
    section.gray-bg.small-padding > .container > .aj-fbar .aj-fbar__advanced-toggle {
        width: 100%; min-height: 48px; justify-content: center;
    }
    .aj-advanced-filters__grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
    .aj-home-section.aj-latest-properties-section .aj-latest-head {
        flex-direction: column; align-items: stretch !important;
    }
    .aj-home-section.aj-latest-properties-section .aj-latest-tabs-col {
        justify-content: stretch !important; position: relative;
    }
    .aj-home-section.aj-latest-properties-section .listing-filters.gallery-filters {
        flex-wrap: nowrap !important; overflow-x: auto !important;
        -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
        padding-block-end: 6px; scrollbar-width: none;
    }
    .aj-home-section.aj-latest-properties-section .listing-filters.gallery-filters::-webkit-scrollbar {
        display: none;
    }
    .aj-home-section.aj-latest-properties-section .listing-filters .gallery-filter {
        flex: 0 0 auto; scroll-snap-align: start;
        height: 36px !important; white-space: nowrap;
    }
    .aj-latest-properties-section .section-title h1 { font-size: 22px !important; }
}

@media (max-width: 575px) {
    .aj-latest-properties-section .gallery-items .gallery-item {
        width: 100% !important; max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .aj-amman-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: minmax(140px, 1fr) !important; gap: 10px !important;
    }
    .aj-amman-wide, .aj-grid-featured, .aj-grid-tall {
        grid-column: span 2 !important; grid-row: span 1 !important;
    }
}

@media (max-width: 480px) {
    .aj-amman-grid { grid-template-columns: 1fr !important; }
    .aj-amman-wide, .aj-grid-featured, .aj-grid-tall { grid-column: span 1 !important; }
    .aj-amman-item { min-height: 160px; }
    .aj-amman-overlay { opacity: 1 !important; }
}

@media (max-width: 767px) {
    .geodir_save-btn, .compare-btn {
        width: 44px !important; height: 44px !important;
        min-width: 44px !important; min-height: 44px !important;
    }
}

@media (max-width: 600px) {
    .aj-view-all-btn, .aj-view-all-wrap .btn.float-btn {
        width: 100% !important; max-width: 100% !important;
        justify-content: center !important; min-height: 48px !important;
    }
}

@media (max-width: 767px) {
    footer .row > [class*="col-"] { margin-block-end: 24px; }
    .secondary-nav {
        bottom: max(68px, calc(12px + env(safe-area-inset-bottom))) !important;
        right: max(12px, env(safe-area-inset-right)) !important;
    }
    html[dir="rtl"] .secondary-nav {
        left: max(12px, env(safe-area-inset-left)) !important; right: auto !important;
    }
    .to-top, .to-top.color-bg {
        bottom: max(14px, env(safe-area-inset-bottom)) !important;
        right: max(12px, env(safe-area-inset-right)) !important;
    }
    html[dir="rtl"] .to-top, html[dir="rtl"] .to-top.color-bg {
        left: max(12px, env(safe-area-inset-left)) !important;
    }
    .pagination { flex-wrap: wrap; justify-content: center; gap: 6px; width: 100%; }
    .pagination li a { min-width: 40px !important; height: 40px !important; line-height: 40px !important; }
    .list-single-main-wrapper .col-md-8,
    .list-single-main-wrapper .col-md-4 {
        width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important;
    }
}

@media (max-width: 600px) {
    .breadcrumbs, .list-single-breadcrumbs {
        font-size: 12px !important; overflow-x: auto; white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }
}
/* ================= APP-LIKE MOBILE EXPERIENCE ================= */
/* Bottom navigation - hidden on desktop */
.aj-bottom-nav { display: none; }

@media (max-width: 1200px) {
    .aj-bottom-nav {
        display: flex !important;
        position: fixed;
        bottom: 0; left: 0; right: 0;
        z-index: 9990;
        background: #ffffff;
        border-top: 1px solid rgba(0, 0, 0, 0.07);
        box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.08);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
        justify-content: space-around;
        align-items: flex-end;
    }
    .aj-bottom-nav__item {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        padding: 4px 2px;
        color: #6b7280 !important;
        text-decoration: none !important;
        font-size: 10.5px;
        font-weight: 600;
        line-height: 1;
        min-width: 0;
    }
    .aj-bottom-nav__item i {
        font-size: 19px;
        line-height: 1;
    }
    .aj-bottom-nav__item--active,
    .aj-bottom-nav__item:active {
        color: var(--aj-primary-dark, #7f980f) !important;
    }
    /* center floating add button */
    .aj-bottom-nav__add {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px; height: 48px;
        margin-top: -26px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--aj-primary, #b7cd27) 0%, #a8bc1d 100%);
        color: #ffffff;
        font-size: 20px;
        box-shadow: 0 6px 16px rgba(183, 205, 39, 0.45);
        border: 3px solid #ffffff;
    }
    .aj-bottom-nav__item--add { color: var(--aj-primary-dark, #7f980f) !important; }

    /* reserve space so content and footer are not covered */
    body { padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important; }

    /* ---- simpler header: hamburger + logo + search + language only ---- */
    header.main-header .aj-header-actions .show-reg-form,
    header.main-header .aj-header-actions .cart-btn,
    header.main-header .aj-header-actions .add-list_wrap,
    header.main-header .aj-header-actions .aj-header-actions__sep {
        display: none !important;
    }
    html header.main-header .aj-header-actions { gap: 6px !important; }

    /* keep the to-top button above the bottom bar */
    .to-top.color-bg { bottom: max(76px, calc(70px + env(safe-area-inset-bottom))) !important; }
    .secondary-nav { bottom: 130px !important; }
}

/* ---- mobile header v2: logo centered, search right, language left ---- */
@media (max-width: 1200px) {
    /* hamburger moves to the bottom nav (Menu tab) */
    header.main-header .nav-button-wrap {
        position: absolute !important;
        opacity: 0 !important;
        pointer-events: none !important;
        width: 1px !important; height: 1px !important;
        min-width: 0 !important; min-height: 0 !important;
        overflow: hidden !important;
    }
    html header.main-header .header-inner {
        position: relative !important;
        justify-content: center !important;
        min-height: 64px;
    }
    html header.main-header .logo-holder {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        float: none !important;
    }
    header.main-header .aj-header-actions .aj-search-trigger {
        position: absolute !important;
        right: 12px !important;
        left: auto !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        z-index: 5;
    }
    header.main-header .aj-header-actions .aj-lang-toggle {
        position: absolute !important;
        left: 12px !important;
        right: auto !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        z-index: 5;
    }
}

/* header v2 fix: anchor search/lang to the header itself, not the action cluster */
@media (max-width: 1200px) {
    html header.main-header .aj-header-actions {
        position: static !important;
    }
}

/* header v2 fix 2: container collapsed once children became absolute */
@media (max-width: 1200px) {
    html header.main-header .header-inner {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* header v2 fix 3: beat the redesign "width:auto!important" (higher specificity) */
@media (max-width: 1200px) {
    html header.main-header > .container.header-inner {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* language toggle: same corner radius as the search button */
@media (max-width: 1200px) {
    header.main-header .aj-header-actions .aj-lang-toggle {
        border-radius: 8px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
        border-radius: 6px !important;
    }
}

/* ---- login/register card on mobile: clean app-style sheet ---- */
@media (max-width: 1200px) {
    /* decorative card header (big logo + pins) overlapped the form fields */
    .main-register-wrap .main-register-header,
    .main-register-wrap .main-register-bg,
    .main-register-wrap .mrb_dec,
    .main-register-wrap .mrb_pin {
        display: none !important;
    }
    .main-register-wrap .main-register-holder {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        width: auto !important;
        margin: 90px 14px 30px !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: 0 14px 44px rgba(15, 23, 42, 0.16) !important;
    }
    .main-register-wrap .main-register-wrapper {
        height: auto !important;
        overflow: visible !important;
        width: 100% !important;
    }
    .main-register-wrap .main-register {
        padding: 20px 18px 26px !important;
        height: auto !important;
    }
    .main-register-wrap .main-register .custom-form input {
        min-height: 46px !important;
        border-radius: 10px !important;
    }
    .main-register-wrap .log_btn {
        width: 100% !important;
        border-radius: 10px !important;
    }
}

/* contain the floated children after removing the fixed height */
@media (max-width: 1200px) {
    .main-register-wrap .main-register-holder,
    .main-register-wrap .main-register-wrapper,
    .main-register-wrap .main-register {
        display: flow-root !important;
    }
}

/* auth card cleanup extended to tablet widths (was 767px only) */
@media (max-width: 1200px) {
    .main-register-wrap .main-register-header,
    .main-register-wrap .main-register-bg,
    .main-register-wrap .mrb_dec,
    .main-register-wrap .mrb_pin {
        display: none !important;
    }
    .main-register-wrap .main-register-holder {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        width: min(440px, calc(100vw - 28px)) !important;
        margin: 90px auto 40px !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: 0 14px 44px rgba(15, 23, 42, 0.16) !important;
        display: flow-root !important;
        float: none !important;
    }
    .main-register-wrap .main-register-wrapper {
        height: auto !important;
        overflow: visible !important;
        width: 100% !important;
        display: flow-root !important;
    }
    .main-register-wrap .main-register {
        padding: 22px 20px 28px !important;
        height: auto !important;
        display: flow-root !important;
    }
    .main-register-wrap .main-register .custom-form input {
        min-height: 46px !important;
        border-radius: 10px !important;
    }
    .main-register-wrap .log_btn {
        width: 100% !important;
        border-radius: 10px !important;
        margin-bottom: 8px !important;
    }
}

/* ============ FINAL MOBILE POLISH (menu panel, footer, logo, language) ============ */
@media (max-width: 1200px) {
    /* mobile menu panel: app-style sheet under the header, above bottom nav */
    .main-menu {
        position: fixed !important;
        top: 76px !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-height: calc(100vh - 160px) !important;
        border-radius: 16px !important;
        border: 1px solid rgba(0, 0, 0, 0.07) !important;
        box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22) !important;
        z-index: 9995 !important;
        padding: 14px 18px !important;
    }

    /* bigger logo */
    html body header.main-header .logo-holder .aj-logo-card img {
        height: 64px !important;
        max-height: 64px !important;
        width: auto !important;
        max-width: none !important;
    }
    html body header.main-header .logo-holder .aj-logo-card {
        padding: 5px 10px !important;
    }

    /* language: single-tap toggle - show only the OTHER language */
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt--active {
        display: none !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle {
        width: 44px !important;
        min-width: 44px !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    /* ---- compact footer ---- */
    footer.main-footer .footer-inner {
        padding-block: 26px 10px !important;
    }
    footer.main-footer .footer-widget {
        margin-bottom: 14px !important;
    }
    footer.main-footer .aj-footer-logo {
        width: 92px !important;
        height: 92px !important;
    }
    footer.main-footer .aj-footer-since,
    footer.main-footer .fw_hours,
    footer.main-footer .col-md-3:last-child .footer-widget {
        display: none !important;   /* since-line, hours, subscribe block */
    }
    footer.main-footer .footer-widget-title h2,
    footer.main-footer .footer-widget-title h4 {
        font-size: 14px !important;
        margin-bottom: 8px !important;
    }
    footer.main-footer .footer-list li a {
        padding: 4px 0 !important;
        font-size: 13px !important;
    }
    footer.main-footer .footer-contacts li {
        font-size: 12.5px !important;
        padding: 3px 0 !important;
    }
    footer.main-footer .sub-footer {
        padding: 10px 0 !important;
    }
    footer.main-footer .copyright {
        font-size: 11.5px !important;
    }
}

/* decisive overrides: menu reveal + hide active language option */
@media (max-width: 1200px) {
    .main-menu.vismobmenu {
        visibility: visible !important;
        opacity: 1 !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt.aj-lang-opt--active {
        display: none !important;
    }
}

/* ============ APP DRAWER + UNIFIED RADIUS + MINI FOOTER (v2) ============ */
@media (max-width: 1200px) {
    /* side drawer: slides from the left (LTR) */
    .main-menu {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: auto !important;
        width: min(320px, 85vw) !important;
        max-height: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        border-radius: 0 18px 18px 0 !important;
        border: none !important;
        box-shadow: 18px 0 60px rgba(15, 23, 42, 0.30) !important;
        z-index: 99998 !important;
        padding: 70px 22px calc(90px + env(safe-area-inset-bottom)) !important;
        overflow-y: auto !important;
        transform: translateX(-105%) !important;
        transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), opacity 200ms ease !important;
    }
    .main-menu.vismobmenu {
        transform: translateX(0) !important;
    }

    /* search + language: identical radius */
    header.main-header .aj-header-actions .aj-search-trigger,
    header.main-header .aj-header-actions .aj-lang-toggle {
        border-radius: 10px !important;
    }
    header.main-header .aj-header-actions .aj-lang-toggle .aj-lang-opt {
        border-radius: 8px !important;
    }

    /* footer: extra-compact */
    footer.main-footer .footer-inner { padding-block: 18px 4px !important; }
    footer.main-footer .footer-widget { margin-bottom: 8px !important; }
    footer.main-footer .aj-footer-logo { width: 64px !important; height: 64px !important; }
    footer.main-footer .aj-footer-follow__title { display: none !important; }
    footer.main-footer .footer-social h2,
    footer.main-footer .footer-social .act-link { display: none !important; }
    footer.main-footer .footer-list { display: flex !important; flex-wrap: wrap !important; gap: 2px 14px !important; }
    footer.main-footer .footer-list li { width: auto !important; float: none !important; }
    footer.main-footer .footer-list li a { padding: 2px 0 !important; font-size: 12.5px !important; }
    footer.main-footer .footer-contacts li { font-size: 12px !important; padding: 2px 0 !important; }
    footer.main-footer .footer-widget-title h2 { font-size: 13px !important; margin-bottom: 4px !important; }
    footer.main-footer .footer-social p { font-size: 12px !important; margin: 4px 0 !important; }
    footer.main-footer .sub-footer { padding: 8px 0 !important; }
}

/* radius unification - beat the html-prefixed redesign rule */
@media (max-width: 1200px) {
    html header.main-header .aj-header-actions .aj-search-trigger,
    html header.main-header .aj-header-actions .aj-lang-toggle {
        border-radius: 10px !important;
    }
}

/* drawer: restore the Add Property button label (header rule hid it) */
@media (max-width: 1200px) {
    .main-menu .add-list span,
    .main-menu .aj-add-btn span,
    header.main-header .main-menu .add-list_wrap .add-list span,
    header.main-header .main-menu .add-list_wrap .aj-add-btn span {
        display: inline !important;
    }
    .main-menu .add-list,
    .main-menu .aj-add-btn {
        width: 100% !important;
        justify-content: center !important;
        gap: 8px !important;
    }
}

/* ============ DRAWER LIST ENHANCEMENT ============ */
@media (max-width: 1200px) {
    /* hide the theme duplicate sliding-panel clone */
    .main-menu .menusb { display: none !important; }

    .main-menu nav > ul { display: block !important; }
    .main-menu nav > ul > li {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .main-menu nav > ul > li > a {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        min-height: 50px !important;
        padding: 12px 14px !important;
        margin: 2px 0 !important;
        border-radius: 12px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #1f2937 !important;
        border-bottom: none !important;
        transition: background 160ms ease, color 160ms ease !important;
    }
    .main-menu nav > ul > li > a:active,
    .main-menu nav > ul > li > a:hover {
        background: rgba(183, 205, 39, 0.12) !important;
        color: #7f980f !important;
    }
    .main-menu nav > ul > li > a i {
        font-size: 16px !important;
        color: var(--aj-primary, #b7cd27) !important;
        width: 22px !important;
        text-align: center !important;
    }
    /* section parent (property types): label style, not a link */
    .main-menu nav > ul > li > a[href="#"] {
        pointer-events: none !important;
        min-height: 38px !important;
        padding-bottom: 4px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 0.4px !important;
        color: #9ca3af !important;
        text-transform: uppercase !important;
    }
    .main-menu nav > ul > li > a .fa-caret-down { display: none !important; }

    /* nested property types: indented tappable sublist */
    .main-menu nav > ul > li > ul {
        display: block !important;
        position: static !important;
        width: 100% !important;
        margin: 0 0 6px !important;
        padding: 0 10px !important;
        border-inline-start: 2px solid rgba(183, 205, 39, 0.35) !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .main-menu nav > ul > li > ul > li { float: none !important; width: 100% !important; }
    .main-menu nav > ul > li > ul > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 42px !important;
        padding: 9px 12px !important;
        border-radius: 10px !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #4b5563 !important;
        float: none !important;
        text-align: start !important;
    }
    .main-menu nav > ul > li > ul > li > a:hover,
    .main-menu nav > ul > li > ul > li > a:active {
        background: rgba(183, 205, 39, 0.10) !important;
        color: #7f980f !important;
    }
    /* add-property button pinned look at drawer bottom */
    .main-menu > .add-list,
    .main-menu .aj-add-btn {
        margin-top: 14px !important;
        min-height: 48px !important;
        border-radius: 12px !important;
        font-size: 14px !important;
    }
}

/* logo: bigger in app mode */
@media (max-width: 1200px) {
    html body header.main-header .logo-holder .aj-logo-card img {
        height: 74px !important;
        max-height: 74px !important;
    }
    html header.main-header .header-inner { min-height: 72px !important; }
}

/* app mode: disable scroll-reveal animations - cards were stuck invisible */
@media (max-width: 1200px) {
    .aj-reveal, .aj-reveal-up, .aj-reveal-zoom, .aj-reveal-left, .aj-reveal-right {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ==========================================================================
   abujudom-fixes.css : additive fixes from the Nov-2026 SEO / UX audit.
   Brand colours (--aj-primary lime, navy) and the overall look are unchanged;
   these rules only repair usability problems. Loaded LAST in the abujudom bundle.
   ========================================================================== */

/* 1) Keyboard focus was removed site-wide (outline:none). Restore a visible, high-contrast ring.
      Navy ring + soft lime halo is visible on both white and dark navy backgrounds. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.nice-select:focus-visible,
.select2-selection:focus-visible,
.aj-lang-opt:focus-visible {
    outline: 3px solid #1e293b !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 6px rgba(183, 205, 39, .75) !important;
}

/* 2) Property page hero (mobile): the Share button overlapped the "Favourite" label and clipped it. */
@media (max-width: 767px) {
    .single-hero-section .share-holder {
        position: static !important;
        float: none !important;
        display: block !important;
        clear: both;
        height: auto !important;
        margin: 12px 0 10px !important;
        text-align: start;
    }
    .single-hero-section .share-holder .share-btn {
        display: inline-flex !important;
        align-items: center;
        gap: 6px;
        min-height: 44px;
        padding-top: 0;
        padding-bottom: 0;
    }
    .single-hero-section .list-single-header-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 16px;
    }
    .single-hero-section .list-single-header-price { flex: 1 1 100%; }
    .single-hero-section .list-single-stats {
        position: static !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
    }
    .single-hero-section .list-single-stats li { white-space: nowrap; }
}

/* 3) Property gallery: was one full-width photo per row (18 rows, ~2,500 px of scrolling).
      On phones/tablets it becomes a swipeable strip (CSS only; overrides the masonry inline positions). */
@media (max-width: 991px) {
    .list-single-gallery.gallery-items {
        display: flex !important;
        flex-wrap: nowrap;
        gap: 10px;
        height: auto !important;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
    }
    .list-single-gallery .gallery-item {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        flex: 0 0 78%;
        width: 78% !important;
        max-width: 78%;
        margin: 0 !important;
        scroll-snap-align: start;
    }
    .list-single-gallery .gallery-item img {
        width: 100%;
        height: 200px !important;
        object-fit: cover;
    }
}

/* 4) Touch targets: at least 44x44 px on phones for small inline links and chips. */
@media (max-width: 767px) {
    .breadcrumbs-list a,
    .breadcrumbs-list span {
        display: inline-block;
        padding: 10px 6px;
        line-height: 24px;
    }
    .list-single-opt_header_cat .cat-opt,
    .list-single-header-footer a.share-btn {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
    .aj-lang-opt,
    .compare-top-btn,
    .geodir_save-btn {
        min-width: 44px;
        min-height: 44px;
    }
}

/* 5) Arabic reading size: body text was 13 px. */
html[lang="ar"] body { font-size: 15px; line-height: 1.75; }
html[lang="ar"] p,
html[lang="ar"] li,
html[lang="ar"] label,
html[lang="ar"] .geodir-category-location { font-size: 15px; line-height: 1.75; }

/* 6) Home search bar: the Select2 "Neighborhood" box kept the nice-select padding (18px / 30px) and a 94 px
      inner width, so its label rendered as "Nei...". Use the full field width and a slightly tighter padding. */
select.aj-fbar__select + .select2-container,
select.aj-fbar__select + .select2-container .select2-selection { width: 100% !important; }
select.aj-fbar__select + .select2-container .select2-selection__rendered {
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 14px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 767px) {
    select.aj-fbar__select + .select2-container { padding-left: 12px !important; padding-right: 24px !important; }
}

/* 7) Listing contact actions (Call / WhatsApp / Email).
      - Phones/tablets: a sticky bar above the bottom navigation.
      - Desktop: an inline row under the hero. */
.aj-contact-bar { display: none; }
.aj-contact-inline { display: none; clear: both; float: none; width: 100%; } /* the theme hero is float:left: clear it */
.aj-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    text-decoration: none !important;
    color: #1e293b !important;
    background: #b7cd27;
    border: 0;
}
.aj-contact-btn--wa { background: #25d366; }
.aj-contact-btn--mail { background: #1e293b; color: #fff !important; }
.aj-contact-btn i { font-size: 16px; }

@media (min-width: 992px) {
    .aj-contact-inline {
        display: block;
        clear: both;
        float: left;
        width: 100%;
        padding: 14px 0;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }
    .aj-contact-inline .aj-contact-inline__row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }
}
@media (max-width: 991px) {
    .aj-contact-bar {
        display: flex;
        gap: 8px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 57px;            /* sits right above .aj-bottom-nav (57 px) */
        z-index: 998;
        padding: 8px 12px;
        background: #fff;
        box-shadow: 0 -4px 14px rgba(15, 23, 42, .14);
    }
    .aj-contact-bar .aj-contact-btn { flex: 1 1 0; padding: 0 8px; }
    body.aj-has-contact-bar { padding-bottom: 125px; }
}

/* 8) The "back to top" button must not sit under the sticky contact bar. */
@media (max-width: 991px) {
    body.aj-has-contact-bar .to-top { bottom: 135px !important; top: auto !important; }
}

