/* ==========================================================================
   Wujood Digital — Global Styles
   ========================================================================== */

/* --- Reset & Base --- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

::selection {
	background-color: var(--wp--preset--color--terra);
	color: var(--wp--preset--color--white);
}

img {
	max-width: 100%;
	height: auto;
}

/* --- RTL Support --- */
[lang="ar"],
[dir="rtl"] {
	font-family: 'Noto Sans Arabic', 'Plus Jakarta Sans', sans-serif;
}

[lang="ar"] h1,
[lang="ar"] h2,
[lang="ar"] h3,
[lang="ar"] h4,
[lang="ar"] h5,
[lang="ar"] h6,
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3,
[dir="rtl"] h4,
[dir="rtl"] h5,
[dir="rtl"] h6 {
	font-family: 'Noto Sans Arabic', 'Tenor Sans', sans-serif;
	letter-spacing: 0;
	text-transform: none;
}

/* --- Typography Utilities --- */
.has-editorial-font-family {
	font-family: var(--wp--preset--font-family--editorial);
}

.wujood-tagline {
	font-family: var(--wp--preset--font-family--editorial);
	font-style: italic;
	font-weight: 300;
}

.wujood-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--terra);
}

/* --- Button Styles --- */
.wp-block-button.is-style-outline-warm .wp-block-button__link {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--warm);
	color: var(--wp--preset--color--warm);
}

.wp-block-button.is-style-outline-warm .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--warm);
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-teal .wp-block-button__link {
	background-color: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-teal .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--teal-dark);
}

.wp-block-button__link {
	transition: all 0.3s ease;
}

/* --- Card Style --- */
.is-style-card {
	background-color: var(--wp--preset--color--charcoal);
	border-radius: 4px;
	padding: var(--wp--preset--spacing--50);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.is-style-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(9, 10, 15, 0.3);
}

/* --- Service Card Columns --- */
.is-style-service-cards .wp-block-column {
	background-color: var(--wp--preset--color--charcoal);
	border-radius: 4px;
	padding: var(--wp--preset--spacing--50);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.is-style-service-cards .wp-block-column:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(9, 10, 15, 0.3);
}

/* --- Section Utilities --- */
.wujood-section {
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--80);
}

.wujood-section-lg {
	padding-top: var(--wp--preset--spacing--90);
	padding-bottom: var(--wp--preset--spacing--90);
}

/* --- Number Accent --- */
.wujood-number {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xx-large);
	color: var(--wp--preset--color--terra);
	line-height: 1;
	letter-spacing: 0.05em;
}

/* --- Arrow Link --- */
.wujood-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--wp--preset--color--terra);
	text-decoration: none;
	transition: gap 0.3s ease;
}

.wujood-arrow-link:hover {
	gap: 12px;
	color: var(--wp--preset--color--teal);
}

.wujood-arrow-link::after {
	content: "\2192";
}

/* --- Divider Accent --- */
.wujood-divider {
	width: 48px;
	height: 2px;
	background-color: var(--wp--preset--color--terra);
	border: none;
	margin: var(--wp--preset--spacing--40) 0;
}

/* --- Navigation Mobile Overlay --- */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--ink);
}

/* --- List Reset for Footer --- */
.is-style-no-bullets {
	list-style: none;
	padding-left: 0;
}

.is-style-no-bullets li {
	list-style: none;
}

/* --- Smooth Scroll --- */
html {
	scroll-behavior: smooth;
}

/* --- Focus Styles --- */
:focus-visible {
	outline: 2px solid var(--wp--preset--color--terra);
	outline-offset: 2px;
}

/* --- Package Card Highlight --- */
.wujood-package-featured {
	border: 2px solid var(--wp--preset--color--terra);
	position: relative;
}

.wujood-package-featured::before {
	content: "Most Popular";
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--wp--preset--color--terra);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	padding: 4px 16px;
	border-radius: 4px;
}

/* --- Form Styles --- */
.wujood-form input,
.wujood-form textarea {
	width: 100%;
	background-color: var(--wp--preset--color--charcoal);
	border: 1px solid rgba(245, 239, 230, 0.15);
	border-radius: 4px;
	color: var(--wp--preset--color--warm);
	padding: 12px 16px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	transition: border-color 0.3s ease;
}

.wujood-form input:focus,
.wujood-form textarea:focus {
	border-color: var(--wp--preset--color--terra);
	outline: none;
}

.wujood-form label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--wp--preset--color--warm);
	display: block;
	margin-bottom: 8px;
}

/* --- Post Card Hover --- */
.wujood-post-card {
	transition: transform 0.3s ease;
}

.wujood-post-card:hover {
	transform: translateY(-4px);
}

/* --- Responsive --- */
@media (max-width: 781px) {
	.wujood-section {
		padding-top: var(--wp--preset--spacing--60);
		padding-bottom: var(--wp--preset--spacing--60);
	}

	.wujood-section-lg {
		padding-top: var(--wp--preset--spacing--70);
		padding-bottom: var(--wp--preset--spacing--70);
	}
}
