/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
	/* Design tokens — متجر ملابس (عاجي / شامبانيا) */
	--abaya-ivory: #FAF7F4;
	--abaya-cream: #F2EDE6;
	--abaya-champagne: #C4A882;
	--abaya-champagne-dark: #A8896A;
	--abaya-charcoal: #2C2C2C;
	--abaya-soft-black: #4A4A4A;
	--abaya-warm-gray: #9B9189;
	--abaya-rose-gold: #B76E79;
	--abaya-error: #C0444A;
	--abaya-primary: var(--abaya-champagne);
	--abaya-primary-hover: var(--abaya-champagne-dark);
	--abaya-primary-light: rgba(196, 168, 130, 0.12);
	--abaya-text: var(--abaya-charcoal);
	--abaya-text-light: var(--abaya-warm-gray);
	--abaya-text-muted: #9B9189;
	--abaya-border: rgba(44, 44, 44, 0.08);
	--abaya-bg: var(--abaya-ivory);
	--abaya-bg-soft: var(--abaya-cream);
	--abaya-header-bg: var(--abaya-ivory);
	--abaya-footer-bg: #1A1714;
	--abaya-radius: 1rem;
	--abaya-radius-sm: 0.5rem;
	--abaya-radius-lg: 1.5rem;
	--abaya-shadow: 0 1px 3px rgba(0,0,0,0.06);
	--abaya-shadow-lg: 0 12px 40px rgba(26, 23, 20, 0.08);
	--abaya-max-w: 1280px;
	--abaya-font: 'Tajawal', sans-serif;
	--abaya-font-display: 'Amiri', serif;
	--abaya-transition: 0.25s ease;
}

html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: var(--abaya-font);
	color: var(--abaya-text);
	background: var(--abaya-bg);
	line-height: 1.7;
	direction: rtl;
	text-align: right;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
}

body:not(.abaya-layout--auth) {
	display: block;
}

.abaya-main {
	flex: 1;
	min-width: 0;
	width: 100%;
}

.abaya-layout--auth .abaya-main {
	max-width: 480px;
	margin-inline: auto;
	padding: 1.5rem 1rem 3rem;
}

body.abaya-layout--auth {
	background: linear-gradient(180deg, var(--abaya-ivory) 0%, var(--abaya-cream) 100%);
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }
button { cursor: pointer; border: none; background: none; }

.abaya-container {
	max-width: var(--abaya-max-w);
	margin-inline: auto;
	padding-inline: 1rem;
}
@media (min-width: 640px) { .abaya-container { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .abaya-container { padding-inline: 2rem; } }

.abaya-sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.3; }
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.125rem; }

/* ── Section spacing ── */
.abaya-section { padding-block: 3rem; }
.abaya-section__title {
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2rem;
	color: var(--abaya-text);
}
.abaya-section__subtitle {
	text-align: center;
	color: var(--abaya-text-light);
	font-size: 0.875rem;
	margin-top: -1.5rem;
	margin-bottom: 2rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ── App shell: شريط جانبي + عمود المحتوى (مطابق لتصميم React) ── */
.abaya-app {
	display: flex;
	flex-direction: row;
	min-height: 100vh;
	background: var(--abaya-ivory);
}

.abaya-app--auth {
	display: block;
	min-height: 100vh;
}

.abaya-sidebar {
	display: none;
	width: 18rem;
	flex-shrink: 0;
	background: linear-gradient(180deg, var(--abaya-ivory) 0%, var(--abaya-cream) 100%);
	border-inline-end: 1px solid rgba(196, 168, 130, 0.2);
	position: fixed;
	inset-block: 0;
	inset-inline-start: 0;
	z-index: 60;
	overflow-y: auto;
}

@media (min-width: 1024px) {
	.abaya-sidebar {
		display: block;
	}
}

.abaya-sidebar__inner {
	padding: 2rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	min-height: 100%;
}

.abaya-sidebar__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.35rem;
	margin-bottom: 0.5rem;
}

.abaya-sidebar__brand-logo {
	max-height: 2.5rem;
	width: auto;
	object-fit: contain;
}

.abaya-sidebar__brand-name {
	font-family: var(--abaya-font-display);
	font-size: 1.65rem;
	color: var(--abaya-charcoal);
	letter-spacing: 0.04em;
	font-weight: 700;
}

.abaya-sidebar__brand-line {
	width: 100%;
	max-width: 8rem;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--abaya-champagne), transparent);
	margin-top: 0.15rem;
}

.abaya-sidebar__nav {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.abaya-sidebar__nav--muted {
	opacity: 0.92;
}

.abaya-sidebar__link {
	display: block;
	padding: 0.65rem 1rem;
	border-radius: 0.75rem;
	font-size: 0.95rem;
	color: var(--abaya-soft-black);
	transition: background var(--abaya-transition), color var(--abaya-transition);
}

.abaya-sidebar__link--sm {
	font-size: 0.875rem;
	padding: 0.45rem 0.85rem;
}

.abaya-sidebar__link:hover,
.abaya-sidebar__link.is-active {
	background: rgba(196, 168, 130, 0.15);
	color: var(--abaya-champagne-dark);
}

.abaya-sidebar__divider {
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(196, 168, 130, 0.35), transparent);
	margin-block: 0.25rem;
}

.abaya-sidebar__search {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(196, 168, 130, 0.35);
	color: var(--abaya-warm-gray);
	font-size: 0.875rem;
	transition: border-color var(--abaya-transition), color var(--abaya-transition);
}

.abaya-sidebar__search:hover {
	border-color: var(--abaya-champagne);
	color: var(--abaya-charcoal);
}

.abaya-main-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
}

@media (min-width: 1024px) {
	.abaya-main-column {
		margin-inline-start: 18rem;
	}
}

.abaya-mobile-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.65rem 1rem;
	background: rgba(250, 247, 244, 0.92);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--abaya-border);
	position: sticky;
	top: 0;
	z-index: 50;
}

@media (min-width: 1024px) {
	.abaya-mobile-bar {
		display: none;
	}
}

.abaya-mobile-bar__menu {
	padding: 0.35rem;
	color: var(--abaya-charcoal);
	border-radius: 0.5rem;
}

.abaya-mobile-bar__title {
	font-family: var(--abaya-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--abaya-charcoal);
	flex: 1;
	text-align: center;
}

.abaya-mobile-bar__icons {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.abaya-mobile-bar__icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 0.65rem;
	color: var(--abaya-soft-black);
}

.abaya-mobile-bar__icon:hover {
	background: rgba(196, 168, 130, 0.12);
}

.abaya-mobile-bar__badge {
	position: absolute;
	top: 0.1rem;
	inset-inline-start: 0.1rem;
	min-width: 1rem;
	height: 1rem;
	padding: 0 0.25rem;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1rem;
	text-align: center;
	border-radius: 999px;
	background: var(--abaya-rose-gold);
	color: #fff;
}

.abaya-mobile-bar__badge[hidden] {
	display: none !important;
}

.abaya-mobile-menu {
	position: fixed;
	inset-block: 0;
	inset-inline-start: 0;
	width: min(20rem, 88vw);
	background: linear-gradient(180deg, var(--abaya-ivory), var(--abaya-cream));
	z-index: 70;
	padding: 5rem 1.25rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	visibility: hidden;
	box-shadow: -8px 0 32px rgba(26, 23, 20, 0.12);
}

.abaya-mobile-menu.is-open {
	transform: translateX(0);
	visibility: visible;
}

@media (min-width: 1024px) {
	.abaya-mobile-menu {
		display: none;
	}
}

.abaya-mobile-menu__link {
	padding: 0.65rem 0.85rem;
	border-radius: 0.65rem;
	font-size: 0.95rem;
	color: var(--abaya-soft-black);
}

.abaya-mobile-menu__link.is-active,
.abaya-mobile-menu__link:hover {
	background: rgba(196, 168, 130, 0.14);
}

.abaya-mobile-menu__link--logout {
	margin-top: 0.5rem;
	color: var(--abaya-error);
}

.abaya-mobile-menu__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(26, 23, 20, 0.35);
	z-index: 65;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease;
}

.abaya-mobile-menu__backdrop.is-visible {
	opacity: 1;
	visibility: visible;
}

@media (min-width: 1024px) {
	.abaya-mobile-menu__backdrop {
		display: none !important;
	}
}
