/*
Theme Name: Akramou Travel
Theme URI: https://akramoutravel.com
Author: Akramou Travel
Description: Editorial block theme for Akramou Travel: travel stories, destination guides, vlogs and travel support services. Pair with the Akramou Travel Core plugin.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: akramou-travel
Tags: block-patterns, full-site-editing, blog, rtl-language-support, translation-ready, accessibility-ready
*/

/*
 * Component styles that theme.json cannot express.
 * Logical properties (inline/block) are used throughout so layouts mirror correctly in RTL.
 *
 * Contents
 * 1. Base & accessibility
 * 2. Header, wordmark & navigation
 * 3. Shared section styles
 * 4. Block style variations
 * 5. Home sections
 * 6. Cards & archives
 * 7. Articles
 * 8. Footer
 * 9. Motion
 * 10. Language-specific typography
 */

/* ---------- 1. Base & accessibility ---------- */

html {
	scroll-padding-block-start: calc(var(--wp--custom--header-height) + 1rem);
}

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

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--highlight);
	outline-offset: 3px;
}

::selection {
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--contrast);
}

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

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

.skip-link.screen-reader-text:focus {
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	inset-block-start: 0.75rem;
	inset-inline-start: 0.75rem;
	z-index: 100001;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	text-decoration: none;
}

.site-main {
	padding-block-end: var(--wp--preset--spacing--70);
}

.site-main--front {
	padding-block-end: var(--wp--preset--spacing--50);
}

/* Full-width bands sit flush against each other. */
.wp-block-post-content > .alignfull,
.site-main > .alignfull,
.wp-block-post-content > .alignfull + * {
	margin-block-start: 0;
}

.site-main > .alignfull:first-child,
.wp-block-post-content > .alignfull:first-child {
	margin-block-start: 0;
}

/* ---------- 2. Header, wordmark & navigation ---------- */

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	inset-block-start: 0;
	z-index: 50;
	border-block-end: 1px solid color-mix(in srgb, var(--wp--preset--color--line) 80%, transparent);
}

/*
 * The frosted background sits on a pseudo-element: a backdrop-filter on the header itself
 * would make it the containing block for the fixed-position mobile menu overlay.
 */
.wp-site-blocks > header.wp-block-template-part::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
	inset-block-start: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		inset-block-start: 0;
	}
}

.site-header__inner {
	min-block-size: calc(var(--wp--custom--header-height) - 1.8rem);
	gap: 1rem;
}

.site-header__actions {
	gap: clamp(0.75rem, 2vw, 1.75rem);
}

.wordmark {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.wordmark__mark {
	display: inline-flex;
	color: var(--wp--preset--color--contrast);
}

.wordmark__accent {
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--accent);
}

.wp-block-site-title a.wordmark:hover .wordmark__accent {
	color: var(--wp--preset--color--accent-strong);
}

.site-header__cta .wp-block-button__link {
	padding: 0.7rem 1.25rem;
	white-space: nowrap;
}

/* The consultation link inside the menu only shows in the mobile overlay. */
.site-nav .menu-cta {
	display: none;
}

.site-nav .is-menu-open .menu-cta {
	display: block;
	margin-block-start: 1rem;
}

.site-nav .is-menu-open .menu-cta a {
	display: inline-block;
	padding: 0.85rem 1.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

.site-nav .wp-block-navigation-item__content {
	padding-block: 0.4rem;
}

.site-nav .current-menu-item > .wp-block-navigation-item__content,
.site-nav [aria-current="page"] {
	color: var(--wp--preset--color--accent-strong);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.45em;
}

.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close {
	inline-size: 2.75rem;
	block-size: 2.75rem;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

.site-nav .wp-block-navigation__responsive-container-open {
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--white);
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding-block-start: 5.5rem;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: 0.25rem;
}

.site-nav .is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .menu-cta .wp-block-navigation-item__content {
	padding: 0.9rem 1.6rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
}

/* Collapse the menu into the overlay earlier than core's 600px so it never wraps. */
@media (min-width: 600px) and (max-width: 1179px) {
	.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (max-width: 781px) {
	/* Beats core's `body .is-layout-flex { display: flex }`. */
	.site-header .site-header__cta {
		display: none;
	}

	.wordmark__mark svg {
		inline-size: 26px;
		block-size: 26px;
	}

	.wp-block-site-title {
		font-size: 1.3rem !important;
	}
}

/* ---------- 3. Shared section styles ---------- */

.home-section {
	margin-block: var(--wp--preset--spacing--70) !important;
}

.page-band {
	margin-block-end: var(--wp--preset--spacing--60);
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	background:
		radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--wp--preset--color--accent-soft) 70%, transparent) 0%, transparent 55%),
		var(--wp--preset--color--surface);
}

.page-band h1,
.page-band .wp-block-post-title,
.page-band .wp-block-query-title {
	margin-block: 0;
	font-size: var(--wp--preset--font-size--xx-large);
}

.page-band__lede,
.page-band .wp-block-term-description {
	margin-block-start: 1rem;
	max-inline-size: 42rem;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.page-band .wp-block-term-description p {
	margin: 0;
}

.page-band .site-search {
	margin-block-start: var(--wp--preset--spacing--40);
	max-inline-size: 36rem;
}

.page-featured-image {
	margin-block-end: var(--wp--preset--spacing--50);
}

.page-content > * + h2 {
	margin-block-start: var(--wp--preset--spacing--60);
}

.lede {
	color: var(--wp--preset--color--contrast);
	line-height: 1.6;
}

.section-intro > * + * {
	margin-block-start: 1rem;
}

.section-head {
	gap: 1rem 2rem;
	margin-block-end: var(--wp--preset--spacing--50);
}

.section-head__text > * {
	margin-block: 0;
}

.section-head__text > * + * {
	margin-block-start: 0.75rem;
}

.empty-state {
	padding: var(--wp--preset--spacing--50);
	border: 1px dashed var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--white);
}

.empty-state > :first-child {
	margin-block-start: 0;
}

.inline-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	padding: 0;
	list-style: none;
}

.archive-section-title {
	margin-block-end: var(--wp--preset--spacing--40);
}

/* ---------- 4. Block style variations ---------- */

.is-style-eyebrow {
	margin-block-end: 0.75rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--highlight);
}

.is-style-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.is-style-eyebrow a:hover {
	text-decoration: underline;
}

.band-dark .is-style-eyebrow,
.site-footer .is-style-eyebrow {
	color: var(--wp--preset--color--seafoam);
}

.is-style-link-arrow a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	text-decoration: none;
	color: var(--wp--preset--color--accent-strong);
}

.is-style-link-arrow a::after {
	content: "→";
	transition: transform 0.2s ease;
}

[dir="rtl"] .is-style-link-arrow a::after,
.rtl .is-style-link-arrow a::after {
	content: "←";
}

.is-style-link-arrow a:hover {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.is-style-link-arrow a:hover::after {
	transform: translateX(3px);
}

[dir="rtl"] .is-style-link-arrow a:hover::after,
.rtl .is-style-link-arrow a:hover::after {
	transform: translateX(-3px);
}

.site-footer .is-style-link-arrow a {
	color: var(--wp--preset--color--white);
}

.is-style-card {
	block-size: 100%;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.is-style-card > :first-child {
	margin-block-start: 0;
}

.is-style-card > :last-child {
	margin-block-end: 0;
}

.is-style-card .is-style-link-arrow {
	margin-block-start: auto;
	padding-block-start: 0.5rem;
}

.wp-block-group.is-style-card {
	display: flex;
	flex-direction: column;
}

.is-style-note {
	margin-block: var(--wp--preset--spacing--40);
	padding: 1.1rem 1.35rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 28%, transparent);
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--accent-soft);
	font-size: var(--wp--preset--font-size--small);
}

.is-style-note p {
	margin: 0;
}

.is-style-checks,
.is-style-crosses {
	padding-inline-start: 0;
	list-style: none;
}

.is-style-checks li,
.is-style-crosses li {
	position: relative;
	padding-inline-start: 1.9rem;
}

.is-style-checks li + li,
.is-style-crosses li + li {
	margin-block-start: 0.55rem;
}

.is-style-checks li::before,
.is-style-crosses li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0.3em;
	inline-size: 1.15rem;
	block-size: 1.15rem;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.7rem;
}

.is-style-checks li::before {
	background-color: var(--wp--preset--color--accent-soft);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3l2.2 2.2 4.8-5' fill='none' stroke='%230A5653' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.is-style-crosses li::before {
	background-color: #fbeee4;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 3.5l5 5M8.5 3.5l-5 5' fill='none' stroke='%23A4461A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.wp-block-image.is-style-portrait img {
	aspect-ratio: 4 / 5;
	inline-size: 100%;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--large);
}

.wp-block-button.is-style-on-dark .wp-block-button__link {
	border-color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-on-dark .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-strong);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--contrast);
	background: transparent;
	color: var(--wp--preset--color--contrast);
}

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

.is-style-chips,
.wp-block-categories.is-style-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-end: var(--wp--preset--spacing--50);
	padding: 0;
	list-style: none;
}

.wp-block-categories.is-style-chips a,
.is-style-chips-terms a {
	display: inline-block;
	padding: 0.45rem 1rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.wp-block-categories.is-style-chips a:hover,
.is-style-chips-terms a:hover {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent-soft);
}

.wp-block-categories.is-style-chips .current-cat a {
	border-color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white);
}

/* ---------- 5. Home sections ---------- */

.home-hero {
	position: relative;
	overflow: hidden;
}

.home-hero__title {
	margin-block: 0.25rem 0;
	text-wrap: balance;
}

.home-hero__title em {
	display: block;
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--accent);
}

.home-hero__lede {
	max-inline-size: 34rem;
	margin-block-start: 1.5rem;
}

.home-hero__actions {
	margin-block-start: 2rem;
}

.home-hero__media {
	position: relative;
}

.home-hero__media::before {
	content: "";
	position: absolute;
	inset-block: 8% -6%;
	inset-inline: 14% -18%;
	z-index: -1;
	border-radius: 999px 999px var(--wp--custom--radius--large) var(--wp--custom--radius--large);
	background: var(--wp--preset--color--surface);
}

.home-hero__image {
	position: relative;
	margin: 0;
}

.home-hero__image img {
	box-shadow: var(--wp--preset--shadow--lifted);
}

.home-hero__image figcaption,
.home-meet__portrait figcaption {
	position: absolute;
	inset-block-end: 1rem;
	inset-inline-start: 1rem;
	margin: 0;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
}

@media (max-width: 781px) {
	/* Headline first on phones; the photo follows in a shorter crop. */
	.wp-block-image.is-style-portrait.home-hero__image img {
		aspect-ratio: 4 / 3;
	}

	.home-hero__media::before {
		display: none;
	}
}

.home-meet__portrait img {
	box-shadow: var(--wp--preset--shadow--soft);
}

.service-cards > .wp-block-column {
	display: flex;
}

.service-card__number {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.1rem;
	font-style: italic;
	color: var(--wp--preset--color--highlight);
}

.service-card--pending {
	border-style: dashed;
	background: transparent;
	box-shadow: none;
}

.service-card__status {
	align-self: flex-start;
	margin-block: 0.5rem 0.75rem;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	font-weight: 700;
	letter-spacing: 0.04em;
}

.step__number {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: 3.25rem;
	font-weight: 400;
	line-height: 1;
	color: var(--wp--preset--color--seafoam);
}

.how-it-works .step {
	padding-block-start: 1.5rem;
	border-block-start: 1px solid rgba(185, 195, 211, 0.3);
}

.how-it-works__note {
	margin-block-start: var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--mist);
}

.process-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: 1.5rem;
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.process-step {
	padding-block-start: 1.25rem;
	border-block-start: 2px solid var(--wp--preset--color--line);
}

.process-step .step__number {
	font-size: 2.25rem;
	color: var(--wp--preset--color--highlight);
}

.process-step h3 {
	margin-block: 0 0.5rem;
	font-size: var(--wp--preset--font-size--medium);
}

.process-step p:last-child {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.scope {
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) !important;
}

.scope > .wp-block-column {
	display: flex;
}

.scope__out {
	background: var(--wp--preset--color--base);
	box-shadow: none;
}

/* FAQ accordions */

.wp-block-details summary {
	position: relative;
	padding-inline-end: 2.5rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "";
	position: absolute;
	inset-inline-end: 0.25rem;
	inset-block-start: 50%;
	inline-size: 1.75rem;
	block-size: 1.75rem;
	margin-block-start: -0.875rem;
	border-radius: 50%;
	background:
		linear-gradient(currentColor, currentColor) center / 0.75rem 2px no-repeat,
		linear-gradient(currentColor, currentColor) center / 2px 0.75rem no-repeat,
		var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--accent-strong);
	transition: transform 0.25s ease;
}

.wp-block-details[open] summary::after {
	background:
		linear-gradient(currentColor, currentColor) center / 0.75rem 2px no-repeat,
		var(--wp--preset--color--accent-soft);
	transform: rotate(180deg);
}

.wp-block-details > :not(summary) {
	margin-block-start: 0.75rem;
	color: var(--wp--preset--color--muted);
}

.faq__list .wp-block-details:first-child {
	border-block-start: 1px solid var(--wp--preset--color--line);
}

/* Call-to-action banner */

.cta-banner {
	position: relative;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--large);
	isolation: isolate;
}

.cta-banner::after {
	content: "";
	position: absolute;
	inset-block-start: -40%;
	inset-inline-end: -12%;
	z-index: -1;
	inline-size: min(34rem, 70%);
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(circle, transparent 0 38%, rgba(127, 209, 199, 0.18) 38.5% 39.5%, transparent 40% 55%, rgba(127, 209, 199, 0.14) 55.5% 56.5%, transparent 57% 72%, rgba(233, 160, 111, 0.22) 72.5% 73.5%, transparent 74%);
}

.cta-banner h2 {
	margin-block-start: 0;
	text-wrap: balance;
}

.cta-banner p {
	color: rgba(255, 255, 255, 0.88);
}

.site-main--front .cta-banner,
.site-main > .cta-banner {
	margin-block: var(--wp--preset--spacing--60) 0;
}

/* ---------- 6. Cards & archives ---------- */

/* Row gap only: core's grid sizing assumes its own column gap when fitting columnCount. */
.post-cards .wp-block-post-template,
.vlog-cards .wp-block-post-template {
	row-gap: clamp(1.75rem, 3.5vw, 2.75rem);
}

.post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	block-size: 100%;
}

.post-card .wp-block-post-featured-image {
	margin: 0 0 1rem;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--surface);
}

.post-card .wp-block-post-featured-image img {
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.post-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.post-card__terms {
	position: relative;
	z-index: 2;
	margin: 0 0 0.35rem;
}

.post-card__title {
	margin: 0;
	line-height: 1.25;
}

/* The title link covers the whole card: one tab stop per card. */
.post-card .post-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.post-card:focus-within {
	outline: 3px solid var(--wp--preset--color--highlight);
	outline-offset: 6px;
	border-radius: var(--wp--custom--radius--medium);
}

.post-card .post-card__title a:focus-visible {
	outline: none;
}

.post-card__excerpt {
	margin-block-start: 0.6rem;
}

.post-card__excerpt p {
	margin: 0;
}

.post-card__date {
	margin-block-start: auto;
	padding-block-start: 0.75rem;
}

.vlog-card .akt-vlog-player {
	margin-block-end: 1rem;
}

.vlog-card .post-card__title {
	margin-block-start: 0.25rem;
}

.wp-block-query-pagination {
	margin-block-start: var(--wp--preset--spacing--60);
	gap: 0.5rem;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .current {
	display: inline-grid;
	place-items: center;
	min-inline-size: 2.75rem;
	min-block-size: 2.75rem;
	padding-inline: 0.75rem;
	border-radius: 999px;
	text-decoration: none;
}

.wp-block-query-pagination .current {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white);
}

.wp-block-query-pagination a:hover {
	background: var(--wp--preset--color--accent-soft);
}

.search-results__list {
	padding: 0;
	list-style: none;
}

.search-result {
	padding-block: 1.5rem;
	border-block-end: 1px solid var(--wp--preset--color--line);
}

.search-result .wp-block-post-title {
	margin: 0 0 0.5rem;
}

.site-search .wp-block-search__inside-wrapper {
	padding: 0.35rem;
	border: 1.5px solid #b7ab98;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
}

.site-search .wp-block-search__input {
	padding-inline: 1rem;
	border: 0;
	background: transparent;
	font-size: 1rem;
}

.site-search .wp-block-search__button {
	margin: 0;
	border-radius: 999px;
}

.site-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--accent);
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent);
}

.site-search .wp-block-search__input:focus-visible {
	outline: none;
}

/* ---------- 7. Articles ---------- */

.article-header {
	margin-block-end: var(--wp--preset--spacing--50);
}

.article-header .wp-block-post-title {
	margin-block: 0.75rem 0;
	text-wrap: balance;
}

.article-header .article-lede {
	max-inline-size: none;
	margin-block-start: 1rem;
}

.article-terms {
	gap: 0.25rem 1.25rem;
}

.article-meta {
	gap: 0.35rem 1rem;
	margin-block-start: 1.5rem;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted);
}

.article-meta > * {
	margin: 0;
}

.article-meta__by {
	margin-inline-end: -0.65rem !important;
}

.article-meta__updated {
	padding-inline-start: 1rem;
	border-inline-start: 1px solid var(--wp--preset--color--line);
}

.post-date__label {
	margin-inline-end: 0.3em;
}

.article-image {
	margin-block-end: var(--wp--preset--spacing--50);
}

.article .akt-toc {
	margin-block-end: var(--wp--preset--spacing--50);
}

.article-body {
	font-size: 1.125rem;
	line-height: 1.8;
}

.article-body > h2 {
	margin-block-start: 2.5em;
	font-size: var(--wp--preset--font-size--x-large);
}

.article-body > h3 {
	margin-block-start: 2em;
}

.article-body > ul,
.article-body > ol {
	padding-inline-start: 1.4em;
}

.article-body li + li {
	margin-block-start: 0.4em;
}

.article-body .wp-block-image {
	margin-block: var(--wp--preset--spacing--50);
}

.article-footer {
	gap: 0.5rem;
	margin-block-start: var(--wp--preset--spacing--60);
	padding-block-start: var(--wp--preset--spacing--40);
	border-block-start: 1px solid var(--wp--preset--color--line);
}

.article-footer .wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	text-transform: none;
	letter-spacing: 0;
}

.article-footer .wp-block-post-terms__separator {
	display: none;
}

.article--vlog .akt-vlog-player {
	margin-block-end: var(--wp--preset--spacing--50);
}

.contact-layout .is-style-note {
	margin-block: var(--wp--preset--spacing--40);
}

.contact-layout .akt-contact,
.contact-layout .akt-whatsapp-wrap {
	margin-block-start: var(--wp--preset--spacing--40);
}

.form-card h2 {
	margin-block-start: 0;
	font-size: var(--wp--preset--font-size--large);
}

.about-story {
	color: var(--wp--preset--color--muted);
	font-style: italic;
}

/* ---------- 8. Footer ---------- */

.site-footer {
	margin-block-start: 0;
}

.site-footer .wp-block-site-title a {
	color: var(--wp--preset--color--white);
}

.site-footer .wordmark__mark {
	color: var(--wp--preset--color--white);
}

.site-footer .wordmark__accent {
	color: var(--wp--preset--color--seafoam);
}

.site-footer__heading {
	margin-block-end: 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--highlight-soft);
}

.site-footer__links,
.site-footer__legal {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__links li + li {
	margin-block-start: 0.6rem;
}

.site-footer a {
	text-decoration: none;
}

.site-footer a:hover {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.site-footer .akt-social {
	margin-block-start: 1.5rem;
}

.site-footer .akt-social a {
	color: var(--wp--preset--color--white);
	border-color: rgba(255, 255, 255, 0.4);
}

.site-footer .akt-contact__item .akt-icon {
	color: var(--wp--preset--color--seafoam);
	background: rgba(127, 209, 199, 0.12);
}

.site-footer .akt-contact__item dt {
	color: var(--wp--preset--color--mist);
}

.site-footer .akt-contact__item dd {
	color: var(--wp--preset--color--white);
}

.site-footer .akt-notice {
	background: rgba(255, 255, 255, 0.08);
	color: var(--wp--preset--color--white);
}

.site-footer__rule {
	margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	border: 0;
	border-block-start: 1px solid rgba(185, 195, 211, 0.25);
	opacity: 1;
}

.site-footer__bottom > p {
	max-inline-size: 46rem;
	margin: 0;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

/* ---------- 9. Motion ---------- */

@keyframes akramou-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/*
 * Above-the-fold content is never animated in, so the headline and hero photo paint immediately
 * (better Largest Contentful Paint, and nothing stays hidden if animations are paused).
 * Cards further down rise gently as they scroll into view, in browsers that support it.
 */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.service-cards .is-style-card,
		.post-card,
		.akt-dest-card,
		.akt-vlog-card,
		.process-step,
		.how-it-works .step {
			animation: akramou-rise linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 35%;
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.post-card:hover .wp-block-post-featured-image img {
		transform: none;
	}
}

/* ---------- 10. Language-specific typography ---------- */

/* Arabic: use system Arabic faces (Fraunces and Manrope have no Arabic glyphs) and drop letter-spacing. */
:lang(ar) body,
:lang(ar) .wp-block-navigation,
:lang(ar) .wp-element-button {
	font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif;
}

:lang(ar) h1,
:lang(ar) h2,
:lang(ar) h3,
:lang(ar) .wp-block-site-title,
:lang(ar) .wp-block-details summary {
	font-family: "Noto Naskh Arabic", "Noto Sans Arabic", Tahoma, serif;
	letter-spacing: 0;
}

:lang(ar) .is-style-eyebrow,
:lang(ar) .site-footer__heading,
:lang(ar) .wp-block-post-terms {
	letter-spacing: 0;
	text-transform: none;
}

:lang(ar) .home-hero__title em,
:lang(ar) .wordmark__accent {
	font-style: normal;
}
