/* ==========================================================================
   Laouadi Academic — complementary styles (tokens come from theme.json)
   Logical properties (inline-start/end) keep everything correct in RTL.
   ========================================================================== */

:root {
	--lw-radius: 10px;
	--lw-shadow: 0 1px 2px rgba(10, 73, 80, .06), 0 8px 24px rgba(10, 73, 80, .08);
	--lw-shadow-lift: 0 2px 4px rgba(10, 73, 80, .08), 0 14px 34px rgba(10, 73, 80, .14);
	--lw-pattern: url("../images/zellige.svg");
	--lw-star: url("../images/star.svg");
}

body { text-rendering: optimizeLegibility; }
::selection { background: #0F6F7A; color: #fff; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ---------- Header ---------- */
.lw-header {
	background: var(--wp--preset--color--base);
	border-block-end: 1px solid var(--wp--preset--color--line);
	position: relative;
}
.lw-header::before {
	content: "";
	display: block;
	height: 12px;
	background: var(--lw-pattern) center / 28px 28px repeat-x, var(--wp--preset--color--teal-deep);
	margin-inline: calc(var(--wp--style--root--padding-left) * -1);
	opacity: .95;
}
.lw-header__row { padding-block: 1.1rem; gap: 1.5rem; }
.lw-brand { gap: 0 !important; }
.lw-brand .wp-block-site-title a { text-decoration: none; }
.lw-brand .wp-block-site-tagline { margin: 0; }

.lw-nav .wp-block-navigation-item__content { text-decoration: none; padding-block: .35rem; position: relative; }
.lw-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	height: 2px;
	background: var(--wp--preset--color--copper);
	transform: scaleX(0);
	transition: transform .2s ease;
}
.lw-nav .wp-block-navigation-item__content:hover::after,
.lw-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.lw-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--teal); }
.lw-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--white) !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--lw-radius);
	box-shadow: var(--lw-shadow);
	padding: .4rem !important;
	min-width: 14rem !important;
	font-weight: 400;
}
.lw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .4rem .8rem !important; border-radius: 6px; }
.lw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--mist); }
.lw-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	padding: 2rem 1.5rem !important;
}
.lw-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .9rem; font-size: 1.12rem; }

/* ---------- Generic section bits ---------- */
.lw-main { padding-block-end: var(--wp--preset--spacing--60); }
.lw-eyebrow {
	color: var(--wp--preset--color--copper);
	font-weight: 700;
	font-size: 0.92rem;
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0;
}
.lw-eyebrow::before {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	background: var(--lw-star) center / contain no-repeat;
	flex: none;
}
.lw-section { margin-block-start: var(--wp--preset--spacing--70) !important; }
.lw-sec-head {
	border-block-end: 1px solid var(--wp--preset--color--line);
	padding-block-end: .6rem;
	margin-block-end: 1.75rem;
	gap: 1rem;
}
.lw-sec-title { margin: 0; display: flex; align-items: center; gap: .7rem; }
.lw-sec-title::before {
	content: "";
	width: 1.4rem;
	height: 1.4rem;
	background: var(--lw-star) center / contain no-repeat;
	flex: none;
}
.lw-more { margin: 0; font-weight: 700; font-size: 0.92rem; }
.lw-more a { text-decoration: none; }
.lw-more a::after { content: " ←"; }

/* Outline buttons (teal on light backgrounds) */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--teal);
	border: 2px solid currentColor;
	padding-block: calc(.55rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--teal);
	border-color: var(--wp--preset--color--teal);
	color: #fff;
}

/* ---------- Hero ---------- */
.lw-hero {
	position: relative;
	background: linear-gradient(180deg, var(--wp--preset--color--mist) 0%, var(--wp--preset--color--base) 100%);
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--60);
	overflow: hidden;
	isolation: isolate;
}
.lw-hero::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 46%;
	background: var(--lw-pattern) 0 0 / 56px 56px repeat;
	opacity: .14;
	-webkit-mask-image: linear-gradient(to right, #000 40%, transparent);
	mask-image: linear-gradient(to right, #000 40%, transparent);
	z-index: -1;
}
.lw-hero__cols { gap: var(--wp--preset--spacing--60); }
.lw-hero__title {
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.3;
	margin-block: .6rem .2rem;
	color: var(--wp--preset--color--teal-deep);
}
.lw-hero__role {
	font-family: var(--wp--preset--font-family--maghribi);
	color: var(--wp--preset--color--copper);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.4;
	margin-block: 0 1.1rem;
}
.lw-hero__bio {
	font-size: 1.05rem;
	line-height: 1.9;
	color: #3A4C50;
	max-width: 38rem;
	margin-block-end: 1.75rem;
}
.lw-portrait { margin: 0 auto !important; max-width: 400px; position: relative; }
.lw-portrait img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	height: auto;
	box-shadow: 0 0 0 10px var(--wp--preset--color--base), 0 0 0 12px var(--wp--preset--color--copper), var(--lw-shadow-lift);
}
.lw-portrait::before {
	content: "";
	position: absolute;
	inset: -34px;
	border-radius: 50%;
	border: 1px dashed rgba(180, 96, 42, .5);
	pointer-events: none;
}

/* ---------- Stats ---------- */
.lw-stats {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	margin-block-start: calc(var(--wp--preset--spacing--50) * -1) !important;
	position: relative;
	gap: 1rem;
}
.lw-stat {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-block-start: 3px solid var(--wp--preset--color--teal);
	border-radius: var(--lw-radius);
	padding: 1rem 1.25rem;
	box-shadow: var(--lw-shadow);
}
.lw-stat p { margin: 0; }
.lw-stat__num { font-size: 2.1rem; font-weight: 800; line-height: 1.3; }
.lw-stat__num a { color: var(--wp--preset--color--teal-deep); text-decoration: none; }
.lw-stat__label { color: var(--wp--preset--color--muted); font-size: 0.95rem; }

/* ---------- Grids & cards ---------- */
.lw-grid { gap: 1.5rem !important; }
.lw-query .wp-block-post-title,
.lw-query .wp-block-post-title a {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none;
}

.lw-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--lw-radius);
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s ease, transform .2s ease;
}
.lw-card:hover { box-shadow: var(--lw-shadow-lift); transform: translateY(-2px); }
.lw-card__media { margin: 0 !important; }
.lw-card__media img { transition: transform .4s ease; }
.lw-card:hover .lw-card__media img { transform: scale(1.03); }
.lw-card__body { padding: 1rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: .35rem; }
.lw-card__body > * { margin: 0 !important; }
.lw-card__title { font-size: 1.08rem !important; }
.lw-card__terms { font-size: .82rem; }
.lw-card__terms a {
	color: var(--wp--preset--color--copper);
	text-decoration: none;
}
.lw-card__excerpt .wp-block-post-excerpt__excerpt { margin: 0; }
.lw-card__excerpt .wp-block-post-excerpt__more-text { display: none; }

.lw-card--text {
	border-block-start: 3px solid var(--wp--preset--color--teal);
	padding: 1.1rem 1.3rem 1.2rem;
	gap: .4rem;
}
.lw-card--text > * { margin: 0 !important; }

/* Home sections & related: let the cards share the full width */
.lw-section .lw-grid--card,
.lw-section .lw-grid--text,
.lw-related .lw-grid--card { grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)) !important; }
.lw-section .lw-grid--cover { grid-template-columns: repeat(auto-fit, minmax(min(9.5rem, 100%), 1fr)) !important; }
.lw-lead { font-size: 1.22rem; line-height: 2; color: var(--wp--preset--color--teal-deep); }

/* Book shelf */
.lw-book { text-align: center; }
.lw-book__cover { margin: 0 0 .7rem !important; }
.lw-book__cover img {
	border-radius: 4px 8px 8px 4px;
	box-shadow: -4px 0 0 rgba(0, 0, 0, .08) inset, var(--lw-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
	background: var(--wp--preset--color--mist);
}
.lw-book:hover .lw-book__cover img { transform: translateY(-4px); box-shadow: var(--lw-shadow-lift); }
.lw-book__title { font-size: .95rem !important; margin: 0 !important; }

/* Books category archive becomes a shelf too */
body.lw-is-books .lw-archive .lw-grid {
	grid-template-columns: repeat(auto-fill, minmax(min(10.5rem, 100%), 1fr)) !important;
}
body.lw-is-books .lw-archive .lw-card { background: transparent; border: 0; text-align: center; }
body.lw-is-books .lw-archive .lw-card:hover { box-shadow: none; }
body.lw-is-books .lw-archive .lw-card__media img { aspect-ratio: 3 / 4 !important; border-radius: 4px 8px 8px 4px; box-shadow: var(--lw-shadow); }
body.lw-is-books .lw-archive .lw-card__terms,
body.lw-is-books .lw-archive .lw-card__excerpt { display: none; }
body.lw-is-books .lw-archive .lw-card__body { padding: .7rem 0 0; }
body.lw-is-books .lw-archive .lw-card__title { font-size: .95rem !important; }

/* ---------- Qutuf band ---------- */
.lw-band {
	margin-block-start: var(--wp--preset--spacing--70) !important;
	background: var(--wp--preset--color--teal-deep);
	color: #EAF2F2;
	padding-block: var(--wp--preset--spacing--60);
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.lw-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--lw-pattern) 0 0 / 56px 56px repeat;
	opacity: .1;
	filter: brightness(3);
	z-index: -1;
}
.lw-band .lw-band__title { color: #fff; font-size: var(--wp--preset--font-size--xx-large); margin-block: .3rem .6rem; }
.lw-band .lw-eyebrow { color: #E9B48D; }
.lw-band .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.lw-band .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--teal-deep); border-color: #fff; }
.lw-band__cols { gap: var(--wp--preset--spacing--60); align-items: center !important; }
.lw-query--list .lw-li {
	border-block-end: 1px solid rgba(255, 255, 255, .16);
	padding-block: .85rem;
	display: flex;
	align-items: center;
	gap: .9rem;
}
.lw-query--list .lw-li::before {
	content: "";
	width: .9rem;
	height: .9rem;
	flex: none;
	background: var(--lw-star) center / contain no-repeat;
}
.lw-query--list .lw-li__title { margin: 0; font-size: 1.05rem !important; }
.lw-query--list .lw-li__title a { color: #fff !important; }
.lw-query--list .lw-li__title a:hover { color: #E9B48D !important; }

/* ---------- CV call-out ---------- */
.lw-cv {
	margin-block-start: var(--wp--preset--spacing--70) !important;
	background: var(--wp--preset--color--mist);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: calc(var(--lw-radius) * 1.6);
	padding: var(--wp--preset--spacing--50);
	gap: 1.5rem;
	position: relative;
	overflow: hidden;
}
.lw-cv::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 9rem;
	background: var(--lw-pattern) 0 0 / 40px 40px repeat;
	opacity: .18;
	-webkit-mask-image: linear-gradient(to right, #000, transparent);
	mask-image: linear-gradient(to right, #000, transparent);
	pointer-events: none;
}
.lw-cv__text { max-width: 36rem; }
.lw-cv__text > * { margin: 0; }
.lw-cv__title { margin-block-end: .3rem !important; }

/* ---------- Page & archive heads ---------- */
.lw-page-head {
	background: var(--wp--preset--color--mist);
	border-block-end: 1px solid var(--wp--preset--color--line);
	padding-block: var(--wp--preset--spacing--50);
	margin-block-end: var(--wp--preset--spacing--50);
	position: relative;
	overflow: hidden;
}
.lw-page-head::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 30%;
	background: var(--lw-pattern) 0 0 / 48px 48px repeat;
	opacity: .15;
	-webkit-mask-image: linear-gradient(to right, #000, transparent);
	mask-image: linear-gradient(to right, #000, transparent);
}
.lw-page-head__title { margin: 0; }
.lw-page-head__desc { color: var(--wp--preset--color--muted); margin-block-start: .4rem; }
.lw-search { max-width: 32rem; margin-block-start: 1rem !important; }
.lw-search .wp-block-search__input { border-radius: 999px; border: 1px solid var(--wp--preset--color--line); padding-inline: 1rem; }

/* ---------- Single article ---------- */
.lw-article { padding-block-start: var(--wp--preset--spacing--50); }
.lw-article__head {
	border-block-end: 1px solid var(--wp--preset--color--line);
	padding-block-end: 1.2rem;
	margin-block-end: 2rem;
}
.lw-article__head > * { margin-block: 0 !important; }
.lw-article__terms a {
	display: inline-block;
	background: var(--wp--preset--color--copper-soft);
	color: var(--wp--preset--color--copper);
	border-radius: 999px;
	padding: .05rem .8rem;
	text-decoration: none;
	font-size: .85rem;
}
.lw-article__terms .wp-block-post-terms__separator { display: none; }
.lw-article__terms { display: flex; flex-wrap: wrap; gap: .4rem; margin-block-end: .6rem !important; }
.lw-article__title { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.5; margin-block: .2rem .4rem !important; }
.lw-article__nav {
	border-block-start: 1px solid var(--wp--preset--color--line);
	margin-block-start: var(--wp--preset--spacing--50) !important;
	padding-block-start: 1.2rem;
	gap: 1rem;
}
.lw-article__nav a { text-decoration: none; font-weight: 700; }
.lw-related { margin-block-start: var(--wp--preset--spacing--60) !important; }
.lw-related .lw-sec-title { margin-block-end: 1.5rem; }

/* Long-form text */
.lw-prose { font-size: 1.1rem; line-height: 2; }
.lw-prose p { margin-block: 0 1.1em; }
.lw-prose h2, .lw-prose h3, .lw-prose h4 { margin-block: 1.6em .5em; }
.lw-prose a { text-underline-offset: .25em; text-decoration-thickness: 1px; }
.lw-prose img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--lw-shadow);
	background: #fff;
}
.lw-prose .wp-caption { max-width: 100% !important; margin-inline: auto; }
.lw-prose .wp-caption-text { text-align: center; color: var(--wp--preset--color--muted); font-size: .88rem; }
.lw-prose iframe { max-width: 100%; }
.lw-prose iframe[src*="youtube"],
.lw-prose iframe[src*="youtu.be"],
.lw-prose iframe[src*="facebook.com/plugins/video"] {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--lw-radius);
	box-shadow: var(--lw-shadow);
}
.lw-prose table { width: 100%; border-collapse: collapse; }
.lw-prose td, .lw-prose th { border: 1px solid var(--wp--preset--color--line); padding: .4rem .7rem; }

/* PDF viewer (fallback shortcode) */
.lw-pdf {
	margin: 1.5rem 0 2rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--lw-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--lw-shadow);
}
.lw-pdf__frame { display: block; width: 100%; height: min(80vh, 900px); border: 0; background: var(--wp--preset--color--mist); }
.lw-pdf__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	padding: .7rem 1rem;
	background: var(--wp--preset--color--mist);
	border-block-start: 1px solid var(--wp--preset--color--line);
	margin: 0 !important;
	font-size: .9rem;
}
.lw-pdf__label { margin-inline-end: auto; color: var(--wp--preset--color--muted); }
.lw-pdf__btn {
	background: var(--wp--preset--color--teal);
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 999px;
	padding: .25rem 1rem;
	font-weight: 700;
}
.lw-pdf__btn--ghost { background: transparent; color: var(--wp--preset--color--teal) !important; border: 2px solid currentColor; }

/* ---------- Pagination ---------- */
.lw-pagination { margin-block-start: var(--wp--preset--spacing--50) !important; gap: .4rem; font-size: .95rem; }
.lw-pagination a, .lw-pagination .page-numbers {
	text-decoration: none;
	min-width: 2.4rem;
	text-align: center;
	padding: .15rem .7rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
}
.lw-pagination .page-numbers.current { background: var(--wp--preset--color--teal); color: #fff; border-color: var(--wp--preset--color--teal); }
.lw-pagination .page-numbers.dots { border: 0; background: transparent; }

/* ---------- Footer ---------- */
.lw-footer {
	background: var(--wp--preset--color--teal-deep);
	color: #D7E6E6;
	padding-block: 0 1.5rem;
	margin-block-start: 0;
}
.lw-footer::before {
	content: "";
	display: block;
	height: 12px;
	background: var(--lw-pattern) center / 28px 28px repeat-x, var(--wp--preset--color--copper);
	margin-inline: calc(var(--wp--style--root--padding-left) * -1);
	margin-block-end: var(--wp--preset--spacing--60);
}
.lw-footer a { color: #fff; text-decoration: none; }
.lw-footer a:hover { color: #E9B48D; }
.lw-footer__title { font-size: 1.9rem; margin: 0; }
.lw-footer__title a { color: #fff !important; }
.lw-footer__about { color: #BFD6D6; font-size: .95rem; line-height: 2; }
.lw-footer__head { color: #E9B48D; font-family: var(--wp--preset--font-family--cairo); font-weight: 700; font-size: 1.02rem; margin-block-end: .6rem; }
.lw-footer__list { list-style: none; padding: 0; margin: 0; font-size: .95rem; line-height: 2.2; }
.lw-footer__copy {
	border-block-start: 1px solid rgba(255, 255, 255, .14);
	padding-block-start: 1rem;
	margin-block-start: var(--wp--preset--spacing--50) !important;
	font-size: .85rem;
	color: #A9C4C4;
}

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.lw-header__row { padding-block: .8rem; }
	.lw-hero { padding-block: var(--wp--preset--spacing--50); text-align: center; }
	.lw-hero::after { width: 100%; opacity: .08; }
	.lw-hero__media { order: -1; }
	.lw-portrait { max-width: 230px; }
	.lw-portrait::before { inset: -18px; }
	.lw-hero .lw-eyebrow { justify-content: center; }
	.lw-hero__bio { margin-inline: auto; font-size: 1rem; }
	.lw-hero__actions { justify-content: center; }
	.lw-stats { margin-block-start: 1.5rem !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .7rem; }
	.lw-stat { padding: .8rem 1rem; }
	.lw-stat__num { font-size: 1.7rem; }
	.lw-stat__label { font-size: .88rem; }
	.lw-section--books .lw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
	.lw-prose { font-size: 1.04rem; }
	.lw-cv { text-align: start; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

@media (max-width: 781px) {
	.lw-section--books .lw-grid > li:nth-child(n+5) { display: none; }
}

/* Mobile overlay: plain indented sub-menus */
.lw-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: .3rem 1rem 0 0 !important;
	font-size: .95rem;
	color: var(--wp--preset--color--muted);
}

/* ==========================================================================
   v1.2 — logo, mosaic, timeline, branded images
   ========================================================================== */

/* ---------- Brand (logo + title) ---------- */
.lw-brand { gap: .9rem !important; align-items: center; }
.lw-brand__text { gap: 0 !important; }
.lw-brand__text .wp-block-site-title a { text-decoration: none; }
.lw-brand__text .wp-block-site-tagline { margin: 0; }
.lw-emblem { margin: 0 !important; flex: none; }
.lw-emblem img { display: block; height: auto; }
.lw-footer .lw-emblem { margin-block-end: .8rem !important; }
@media (max-width: 781px) {
	.lw-header .lw-emblem img { width: 46px !important; }
	.lw-brand { gap: .6rem !important; }
}

/* ---------- Branded images: emblem watermark + copper rule ---------- */
.lw-card__media,
.lw-tl-card__media,
.lw-tile { position: relative; }
.lw-card__media::after,
.lw-tl-card__media::after,
.lw-tile .lw-tile__media::after {
	content: "";
	position: absolute;
	inset-block-start: .7rem;
	inset-inline-end: .7rem;
	width: 2.1rem;
	height: 2.1rem;
	background: url("../images/logo/emblem.svg") center / contain no-repeat;
	filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .25));
	pointer-events: none;
	z-index: 2;
}
.lw-card__media,
.lw-tl-card__media { border-block-end: 3px solid var(--wp--preset--color--copper); }
.lw-card__media img,
.lw-tl-card__media img { filter: saturate(.92); }

/* ---------- Mosaic (latest news) ---------- */
.lw-grid--mosaic {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-rows: 14rem;
	gap: .8rem !important;
}
.lw-grid--mosaic > li:first-child { grid-column: span 2; grid-row: span 2; }
.lw-grid--mosaic > li:nth-child(n+6) { display: none; }
.lw-tile {
	height: 100%;
	border-radius: var(--lw-radius);
	overflow: hidden;
	background: var(--wp--preset--color--teal-deep);
	isolation: isolate;
}
.lw-tile .lw-tile__media { position: absolute; inset: 0; margin: 0 !important; height: 100%; }
.lw-tile .lw-tile__media a,
.lw-tile .lw-tile__media img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.lw-tile .lw-tile__media img { transition: transform .5s ease; }
.lw-tile:hover .lw-tile__media img { transform: scale(1.04); }
.lw-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(6, 46, 51, .94) 0%, rgba(6, 46, 51, .55) 42%, rgba(6, 46, 51, 0) 72%);
	z-index: 1;
	pointer-events: none;
}
.lw-tile__body {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	padding: 1rem 1.1rem 1.1rem;
	z-index: 2;
}
.lw-tile__body > * { margin: 0 !important; }
.lw-tile__terms a {
	display: inline-block;
	background: var(--wp--preset--color--copper);
	color: #fff !important;
	border-radius: 999px;
	padding: 0 .7rem;
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
	margin-block-end: .45rem;
}
.lw-tile__terms .wp-block-post-terms__separator { display: none; }
.lw-tile__terms a:not(:first-child) { display: none; }
.lw-tile__title,
.lw-tile__title a { color: #fff !important; font-size: 1.02rem !important; line-height: 1.6 !important; }
.lw-tile__title a:hover { color: #F3CBA9 !important; }
.lw-grid--mosaic > li:first-child .lw-tile__body { padding: 1.5rem 1.6rem; }
.lw-grid--mosaic > li:first-child .lw-tile__title,
.lw-grid--mosaic > li:first-child .lw-tile__title a {
	font-family: var(--wp--preset--font-family--maghribi) !important;
	font-weight: 400 !important;
	font-size: clamp(1.6rem, 2.6vw, 2.3rem) !important;
	line-height: 1.5 !important;
}
.lw-grid--mosaic > li:first-child .lw-tile__media::after { width: 3rem; height: 3rem; inset-block-start: 1rem; inset-inline-end: 1rem; }
@media (max-width: 781px) {
	.lw-grid--mosaic { grid-template-columns: minmax(0, 1fr) !important; grid-auto-rows: 9.5rem; }
	.lw-grid--mosaic > li:first-child { grid-column: auto; grid-row: span 2; }
	.lw-grid--mosaic > li:not(:first-child) .lw-tile__media::after { display: none; }
	.lw-grid--mosaic > li:first-child .lw-tile__body { padding: 1.1rem 1.2rem; }
	.lw-header .wp-block-site-title { font-size: 1.3rem !important; }
	.lw-tl-card__media { min-height: 0; aspect-ratio: 16 / 10 !important; height: auto; }
}

/* ---------- Timeline (news archives) ---------- */
.lw-timeline-query { max-width: 960px; margin-inline: auto !important; }
.lw-timeline { position: relative; padding: 0 !important; }
.lw-timeline::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: calc(5.6rem + 1rem - 1px);
	width: 2px;
	background: var(--wp--preset--color--line);
}
.lw-tl-item {
	position: relative;
	display: grid;
	grid-template-columns: 5.6rem minmax(0, 1fr);
	column-gap: 2rem;
	margin-block-end: 1.75rem !important;
}
.lw-tl-item > * { margin: 0 !important; }
.lw-tl-month { grid-column: 1 / -1; margin: .6rem 0 1.4rem !important; display: flex; }
.lw-tl-month span {
	background: var(--wp--preset--color--teal-deep);
	color: #fff;
	font-family: var(--wp--preset--font-family--maghribi);
	font-size: 1.3rem;
	padding: .1rem 1.2rem .35rem;
	border-radius: 999px;
	box-shadow: 0 0 0 6px var(--wp--preset--color--base);
	position: relative;
	z-index: 1;
}
.lw-tl-day {
	grid-column: 1;
	position: relative;
	text-align: end;
	padding-block-start: 1rem;
	font-size: .85rem !important;
	font-weight: 700;
	color: var(--wp--preset--color--copper) !important;
}
.lw-tl-day::after {
	content: "";
	position: absolute;
	inset-inline-end: calc(-1rem - 8px);
	inset-block-start: 1.35rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--copper);
}
.lw-tl-card { grid-column: 2; }
/* Posts whose date is hidden have no day label: keep the card in column 2 */
.lw-tl-card {
	display: grid;
	grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
	gap: 1.25rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--lw-radius);
	overflow: hidden;
	transition: box-shadow .2s ease;
}
.lw-tl-card:hover { box-shadow: var(--lw-shadow-lift); }
.lw-tl-card > * { margin: 0 !important; }
.lw-tl-card__media { height: 100%; width: 100%; min-width: 0; overflow: hidden; min-height: 10rem; aspect-ratio: auto !important; }
.lw-tl-card__media a { display: block; height: 100%; }
.lw-tl-card__media img { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; display: block; }
.lw-tl-card__body { padding: 1rem 0 1.1rem; padding-inline-end: 1.2rem; display: flex; flex-direction: column; gap: .35rem; }
.lw-tl-card__body > * { margin: 0 !important; }
.lw-tl-card__title,
.lw-tl-card__title a {
	font-family: var(--wp--preset--font-family--cairo) !important;
	font-weight: 700;
	font-size: 1.15rem !important;
	line-height: 1.6;
	text-decoration: none;
}
.lw-read-more {
	align-self: flex-start;
	margin-block-start: .4rem !important;
	background: var(--wp--preset--color--teal-deep);
	color: #fff !important;
	text-decoration: none;
	font-size: .85rem;
	font-weight: 700;
	padding: .2rem .95rem;
	border-radius: 6px;
}
.lw-read-more:hover { background: var(--wp--preset--color--copper); }
.lw-read-more::after { content: " »"; }
@media (max-width: 781px) {
	.lw-timeline::before { inset-inline-start: .45rem; }
	.lw-tl-item { grid-template-columns: minmax(0, 1fr); padding-inline-start: 1.6rem; }
	.lw-tl-month { margin-inline-start: -1.6rem !important; }
	.lw-tl-day { grid-column: 1; text-align: start; padding: 0 0 .35rem; }
	.lw-tl-day::after { inset-inline-end: auto; inset-inline-start: calc(-1.6rem + .45rem - 6px); inset-block-start: .4rem; }
	.lw-tl-card { grid-column: 1; grid-template-columns: 1fr; gap: 0; }
	.lw-tl-card__body { padding: .9rem 1rem 1rem; }
}


/* Images made with «صانع صور المقالات» already include the emblem */
.lw-branded::after { display: none !important; }

/* ---------- Tablets & safety against horizontal scroll ---------- */
/* Sub-menus of the last menu items open toward the page, not off-screen */
.lw-nav .wp-block-navigation__container > .has-child:nth-last-child(-n+3) > .wp-block-navigation__submenu-container {
	left: 0 !important;
	right: auto !important;
}
html, body { overflow-x: clip; }

/* Tablet (600–1100px): logo on its own row, menu centred below it */
@media (min-width: 600px) and (max-width: 1240px) {
	.lw-header__row { flex-wrap: wrap !important; justify-content: center !important; row-gap: .6rem; }
	.lw-header__row > .lw-brand { width: 100%; justify-content: center; }
	.lw-header .lw-nav { width: 100%; justify-content: center; }
	.lw-header .lw-nav .wp-block-navigation__container { justify-content: center; column-gap: 1.2rem; row-gap: .3rem; }
	.lw-hero__cols { gap: 2rem; }
	.lw-hero__title { font-size: clamp(2.4rem, 5.4vw, 3.4rem); }
	.lw-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-block-start: 1.5rem !important; }
	.lw-grid--mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 12rem; }
	.lw-grid--mosaic > li:first-child { grid-column: 1 / -1; grid-row: span 2; }
	.lw-band__cols { flex-wrap: wrap !important; }
	.lw-band__cols > .wp-block-column { flex-basis: 100% !important; }
}

/* Large tablets in portrait: the two hero columns stay side by side */
@media (min-width: 782px) and (max-width: 1100px) {
	.lw-portrait { max-width: 300px; }
	.lw-portrait::before { inset: -22px; }
}

/* Header: keep the brand on one line and the menu compact on laptops */
.lw-brand__text .wp-block-site-title { white-space: nowrap; }
.lw-header .lw-nav .wp-block-navigation__container { column-gap: 1.35rem; }
@media (min-width: 1241px) and (max-width: 1400px) {
	.lw-header .lw-nav { font-size: .95rem; }
	.lw-header .lw-nav .wp-block-navigation__container { column-gap: 1.05rem; }
	.lw-header .wp-block-site-title { font-size: 1.7rem !important; }
}

/* ==========================================================================
   v1.6 — icons, centred statistics, full images, books 3×3, videos
   ========================================================================== */

/* ---------- Section icons (replace the star with a meaningful icon) ---------- */
.lw-ico::before {
	width: 2.6rem !important;
	height: 2.6rem !important;
	border-radius: 50%;
	background: var(--lw-icon) center / 1.45rem no-repeat, var(--wp--preset--color--copper-soft) !important;
}
.lw-ico--book    { --lw-icon: url("../images/icons/book-c.svg"); }
.lw-ico--quill   { --lw-icon: url("../images/icons/quill-c.svg"); }
.lw-ico--news    { --lw-icon: url("../images/icons/news-c.svg"); }
.lw-ico--mic     { --lw-icon: url("../images/icons/mic-c.svg"); }
.lw-ico--play    { --lw-icon: url("../images/icons/play-c.svg"); }
.lw-ico--cv      { --lw-icon: url("../images/icons/cv-c.svg"); }
.lw-band__title.lw-ico { display: flex; align-items: center; gap: .8rem; }
.lw-band__title.lw-ico::before { content: ""; flex: none; }
.lw-cv__title.lw-ico { display: flex; align-items: center; gap: .7rem; }
.lw-cv__title.lw-ico::before { content: ""; flex: none; }

/* ---------- Statistics: icon, number and full name, centred ---------- */
.lw-stats-wrap { margin-block-start: calc(var(--wp--preset--spacing--50) * -1) !important; position: relative; }
.lw-stats-wrap .lw-stats { margin: 0 !important; display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
a.lw-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .25rem;
	padding: 1.3rem 1rem 1.2rem;
	text-decoration: none;
	color: inherit;
	transition: transform .2s ease, box-shadow .2s ease;
}
a.lw-stat:hover { transform: translateY(-3px); box-shadow: var(--lw-shadow-lift); }
.lw-stat__icon {
	width: 3rem; height: 3rem; border-radius: 50%;
	background: var(--lw-icon) center / 1.6rem no-repeat, var(--wp--preset--color--mist);
	margin-block-end: .35rem;
}
.lw-stat--book  { --lw-icon: url("../images/icons/book-t.svg"); }
.lw-stat--quill { --lw-icon: url("../images/icons/quill-t.svg"); }
.lw-stat--mic   { --lw-icon: url("../images/icons/mic-t.svg"); }
.lw-stat--news  { --lw-icon: url("../images/icons/news-t.svg"); }
a.lw-stat .lw-stat__num { font-size: 2.2rem; font-weight: 800; line-height: 1.2; color: var(--wp--preset--color--teal-deep); }
a.lw-stat .lw-stat__label { font-size: 1rem; font-weight: 600; color: var(--wp--preset--color--muted); }
@media (max-width: 1240px) { .lw-stats-wrap .lw-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .lw-stats-wrap { margin-block-start: 1.5rem !important; } }
@media (max-width: 420px) { a.lw-stat .lw-stat__num { font-size: 1.7rem; } a.lw-stat .lw-stat__label { font-size: .88rem; } }

/* ---------- Whole images inside frames (no cropping) ---------- */
.lw-card__media,
.lw-tl-card__media,
.lw-book__cover { background: var(--wp--preset--color--mist); }
.lw-card__media img,
.lw-tl-card__media img,
.lw-book__cover img { object-fit: contain !important; }

/* ---------- Mosaic: full image + white title box ---------- */
.lw-tile {
	display: flex !important;
	flex-direction: column;
	background: #fff !important;
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--lw-shadow);
}
.lw-tile::before { display: none !important; }
.lw-tile .lw-tile__media {
	position: relative !important;
	inset: auto !important;
	flex: 1 1 auto;
	min-height: 0;
	height: auto !important;
	background: var(--wp--preset--color--mist);
}
.lw-tile .lw-tile__media a { position: absolute; inset: 0; }
.lw-tile .lw-tile__media img { object-fit: contain !important; }
.lw-tile:hover .lw-tile__media img { transform: scale(1.02); }
.lw-tile__body {
	position: relative !important;
	inset: auto !important;
	flex: none;
	background: #fff;
	border-block-start: 3px solid var(--wp--preset--color--copper);
	padding: .75rem 1rem .85rem !important;
}
.lw-tile__terms a { margin-block-end: .35rem; }
.lw-tile__title,
.lw-tile__title a {
	color: var(--wp--preset--color--teal-deep) !important;
	font-size: .98rem !important;
	line-height: 1.6 !important;
}
.lw-tile__title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.lw-tile__title a:hover { color: var(--wp--preset--color--copper) !important; }
.lw-tile__title a::before {
	content: "";
	display: inline-block;
	width: .95rem; height: .95rem;
	margin-inline-end: .45rem;
	vertical-align: -.1rem;
	background: var(--lw-star) center / contain no-repeat;
}
.lw-grid--mosaic { grid-auto-rows: 15.5rem; }
.lw-grid--mosaic > li:first-child .lw-tile__title,
.lw-grid--mosaic > li:first-child .lw-tile__title a {
	font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important;
	color: var(--wp--preset--color--teal-deep) !important;
}
.lw-grid--mosaic > li:first-child .lw-tile__body { padding: 1rem 1.3rem 1.1rem !important; }
@media (max-width: 781px) { .lw-grid--mosaic { grid-auto-rows: 15rem; } .lw-grid--mosaic > li:first-child { grid-row: span 1; } }

/* ---------- Books: 3 × 3 shelf, whole covers ---------- */
.lw-section--books .lw-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 2rem 1.75rem !important; }
.lw-section--books .lw-book__cover img { border-radius: 6px; box-shadow: none; background: transparent; }
.lw-section--books .lw-book__cover { border-radius: 10px; padding: .8rem; border: 1px solid var(--wp--preset--color--line); transition: box-shadow .2s ease; }
.lw-section--books .lw-book:hover .lw-book__cover { box-shadow: var(--lw-shadow-lift); }
.lw-section--books .lw-book:hover .lw-book__cover img { transform: none; }
.lw-section--books .lw-book__title { font-size: 1.02rem !important; margin-block-start: .3rem !important; }
@media (max-width: 599px) { .lw-section--books .lw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.2rem .9rem !important; } .lw-section--books .lw-grid > li:nth-child(n+5) { display: list-item; } }

/* ---------- Videos ---------- */
.lw-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.lw-video { display: flex; flex-direction: column; gap: .6rem; text-decoration: none; color: var(--wp--preset--color--teal-deep); }
.lw-video__thumb { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--lw-radius); overflow: hidden; background: var(--wp--preset--color--teal-deep); box-shadow: var(--lw-shadow); }
.lw-video__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.lw-video:hover .lw-video__thumb img { transform: scale(1.04); }
.lw-video__play {
	position: absolute; inset: 0; margin: auto;
	width: 3.6rem; height: 3.6rem; border-radius: 50%;
	background: url("../images/icons/play-c.svg") center / 1.9rem no-repeat, rgba(255, 255, 255, .92);
	box-shadow: 0 4px 18px rgba(0, 0, 0, .25);
}
.lw-video__title { font-weight: 700; font-size: 1.02rem; line-height: 1.6; }
.lw-video__title::before { content: ""; display: inline-block; width: .9rem; height: .9rem; margin-inline-end: .4rem; vertical-align: -.1rem; background: var(--lw-star) center / contain no-repeat; }
.lw-video:hover .lw-video__title { color: var(--wp--preset--color--copper); }
@media (max-width: 781px) { .lw-videos { grid-template-columns: 1fr; } }

/* ---------- Footer: copyright centred ---------- */
.lw-footer__copy { text-align: center !important; }

/* ---------- Carousel («قطوف أكاديمية») ---------- */
.lw-band__head { gap: 1rem 2rem; margin-block-end: 1.75rem !important; }
.lw-band__intro { max-width: 42rem; }
.lw-band__intro > * { margin-block: 0 .5rem !important; }
.lw-band__carousel { margin-block-start: 0 !important; }
.lw-carousel { position: relative; }
.lw-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 1.25rem) / 4);
	column-gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-block: .25rem 1rem;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, .35) transparent;
	outline: none;
}
.lw-carousel__track::-webkit-scrollbar { height: 6px; }
.lw-carousel__track::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .3); border-radius: 3px; }
.lw-slide {
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: var(--lw-radius);
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 6px 22px rgba(0, 0, 0, .22);
	transition: transform .25s ease;
}
.lw-slide:hover, .lw-slide:focus-visible { transform: translateY(-4px); }
.lw-slide__img { display: block; aspect-ratio: 4 / 5; background: var(--wp--preset--color--mist); }
.lw-slide__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lw-slide__title {
	display: block;
	padding: .7rem .9rem .8rem;
	border-block-start: 3px solid var(--wp--preset--color--copper);
	color: var(--wp--preset--color--teal-deep);
	font-weight: 700;
	font-size: .95rem;
	line-height: 1.6;
}
.lw-slide__title::before { content: ""; display: inline-block; width: .85rem; height: .85rem; margin-inline-end: .4rem; vertical-align: -.08rem; background: var(--lw-star) center / contain no-repeat; }
.lw-carousel__btn {
	position: absolute;
	top: calc(50% - 2.2rem);
	z-index: 3;
	width: 2.8rem; height: 2.8rem;
	border: 0; border-radius: 50%;
	cursor: pointer;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	display: grid; place-items: center;
}
.lw-carousel__btn::before {
	content: "";
	width: .7rem; height: .7rem;
	border-top: 2.5px solid var(--wp--preset--color--teal-deep);
	border-right: 2.5px solid var(--wp--preset--color--teal-deep);
}
/* RTL: «السابق» on the right, «التالي» on the left */
.lw-carousel__btn--prev { inset-inline-start: -1.1rem; }
.lw-carousel__btn--prev::before { transform: rotate(45deg); margin-right: .25rem; } /* points right */
.lw-carousel__btn--next { inset-inline-end: -1.1rem; }
.lw-carousel__btn--next::before { transform: rotate(-135deg); margin-left: .25rem; } /* points left */
.lw-carousel__btn:hover { background: var(--wp--preset--color--copper-soft); }
@media (max-width: 1100px) { .lw-carousel__track { grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); } }
@media (max-width: 781px) { .lw-carousel__track { grid-auto-columns: calc((100% - 1rem) / 2); column-gap: 1rem; } .lw-carousel__btn { display: none; } }
@media (max-width: 420px) { .lw-carousel__track { grid-auto-columns: 78%; } }
