/* ===================== RESET & BASE ===================== */
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Tajawal', sans-serif;
	color: var(--text-primary);
	background: var(--bg-primary);
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

a {
	text-decoration: none;
	color: inherit;
}

img {
	max-width: 100%;
	display: block;
}

ul {
	list-style: none;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font-family: inherit;
}

input,
textarea,
select {
	font-family: inherit;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Tajawal', sans-serif;
	color: var(--text-primary);
	line-height: 1.3;
}

/* Screen reader text */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #fff;
	border-radius: var(--radius-md);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: var(--accent);
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	right: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Focus states for accessibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* Skip to content link */
.skip-link {
	position: absolute;
	top: -100px;
	right: 0;
	background: var(--accent);
	color: #fff;
	padding: 10px 20px;
	z-index: 10000;
	border-radius: 0 0 0 var(--radius-sm);
	font-weight: 700;
	font-size: 14px;
	transition: top 0.2s ease;
}

.skip-link:focus {
	top: 0;
	color: #fff;
}

/* Selection */
::selection {
	background: var(--accent);
	color: #fff;
}

/* Scrollbar base */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-track {
	background: var(--bg-tertiary);
}

::-webkit-scrollbar-thumb {
	background: var(--accent);
	border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--accent-hover);
}

/* WordPress core alignment */
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

.alignwide {
	max-width: 100%;
}

.alignfull {
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	font-size: 13px;
	color: var(--text-light);
	text-align: center;
	margin-top: 6px;
}

.sticky {
	display: block;
}

.bypostauthor {
	display: block;
}

/* WooCommerce notices base */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--accent);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--accent);
}
