/*
Theme Name: Almosaferoon 2030
Theme URI: https://almosaferonalarab.com/
Author: المسافرون العرب
Description: قالب كتل (Block Theme) لموقع المسافرون العرب — اتجاه «المرجع». كل القوالب والأجزاء قابلة للتعديل من محرر الموقع.
Version: 1.2.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: almosaferoon
Tags: rtl-language-support, block-patterns, full-site-editing, blog, news
*/

/* ---------- Tokens ---------- */
:root {
	--almo-navy: #14213D;
	--almo-green: #0B6E4F;
	--almo-green-dark: #0B4F39;
	--almo-green-soft: #E7F1EC;
	--almo-gold: #E0A526;
	--almo-sand: #FAF7F2;
	--almo-sand-deep: #F6F2EA;
	--almo-white: #FFFFFF;
	--almo-line: #E4DED3;
	--almo-line-soft: #EFEAE1;
	--almo-field: #CFC7BA;
	--almo-ink: #22272E;
	--almo-body: #3D4550;
	--almo-muted: #5B6470;
	--almo-radius: 10px;
	--almo-pad: clamp(16px, 3vw, 32px);
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: 3px; }
:where(a):not(.wp-element-button) { text-decoration: none; }
:where(.almo-prose) a:not(.wp-element-button) { text-decoration: underline; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--almo-green); outline-offset: 2px; }

.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 {
	clip: auto !important; clip-path: none; height: auto; width: auto;
	background: #fff; color: var(--almo-navy); padding: 12px 16px; z-index: 100000; top: 8px; right: 8px;
}

.almo-kicker { font-size: 0.8125rem; font-weight: 600; color: var(--almo-green); line-height: 1.5; }
.almo-kicker a { color: inherit; }
.almo-meta, .almo-meta a { font-size: 0.8125rem; color: var(--almo-muted); }

/* Text tile used when a post or place has no image */
.almo-tile {
	display: flex; align-items: flex-end; box-sizing: border-box;
	width: 100%; height: 100%; min-height: 96px; padding: 14px;
	border-radius: var(--almo-radius); background: var(--almo-navy); color: #fff;
	font-weight: 700; font-size: clamp(1rem, 2vw, 1.375rem); line-height: 1.3;
}
.almo-tile.is-green { background: var(--almo-green); }
.almo-tile-link { display: block; text-decoration: none; }
.almo-tile-link .almo-tile { height: 100%; }

/* ---------- Header ---------- */
.almo-header {
	background: var(--almo-white);
	border-bottom: 1px solid var(--almo-line);
	position: relative;
	z-index: 20;
}
.almo-header__bar {
	min-height: 76px;
	gap: 32px !important;
	justify-content: flex-start !important;
}
.almo-header__search { margin-inline-start: auto !important; }

.almo-wordmark {
	display: inline-flex; flex-direction: column; gap: 5px;
	color: var(--almo-navy); line-height: 0; text-decoration: none; flex: none;
}
.almo-wordmark svg { height: 30px; width: auto; display: block; }
.almo-wordmark.is-light { color: #fff; }
.almo-wordmark__bars { display: flex; gap: 4px; }
.almo-wordmark__bars i { display: block; height: 3px; border-radius: 2px; background: var(--almo-gold); }
.almo-wordmark__bars i:first-child { width: 96px; background: var(--almo-green); }
.almo-wordmark__bars i:nth-child(2) { width: 10px; }
.almo-wordmark__bars i:nth-child(3) { width: 6px; }
.almo-wordmark.is-light .almo-wordmark__bars i:first-child { background: #3FA37F; }

.almo-mainnav { gap: 26px !important; }
.almo-mainnav .wp-block-navigation-item__content { color: var(--almo-navy); padding: 6px 0; }
.almo-mainnav .wp-block-navigation-item__content:hover { color: var(--almo-green); }
.almo-mainnav .current-menu-item > .wp-block-navigation-item__content,
.almo-mainnav [aria-current="page"] { color: var(--almo-green); }

/* Search in header */
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	border: 1px solid var(--almo-field);
	border-radius: 8px;
	padding: 0;
	overflow: hidden;
	background: var(--almo-sand);
}
.wp-block-search__input {
	border: 0 !important;
	background: transparent;
	min-height: 42px;
	padding: 0 14px !important;
	font: inherit;
	font-size: 0.875rem;
	color: var(--almo-ink);
}
.wp-block-search__input:focus { outline: none; }
.wp-block-search__inside-wrapper:focus-within { border-color: var(--almo-green); box-shadow: 0 0 0 1px var(--almo-green); }
.wp-block-search__button {
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	min-width: 48px;
	min-height: 44px;
	background: var(--almo-green) !important;
	color: #fff !important;
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 700;
	padding: 0 16px;
	cursor: pointer;
}
.wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.almo-header__search .wp-block-search__input { width: 230px; }

/* Country strip */
.almo-strip { border-top: 1px solid var(--almo-line-soft); }
.almo-strip__nav {
	min-height: 44px;
	gap: 22px !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	overflow-x: auto;
	scrollbar-width: none;
	flex-wrap: nowrap !important;
}
.almo-strip__nav::-webkit-scrollbar { display: none; }
.almo-strip__nav .wp-block-navigation__container { flex-wrap: nowrap !important; gap: 22px !important; }
.almo-strip__nav .wp-block-navigation-item__content { color: var(--almo-navy); white-space: nowrap; }
.almo-strip__nav .wp-block-navigation-item__content:hover { color: var(--almo-green); }

/* Mobile overlay menu */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--almo-white) !important;
	color: var(--almo-navy) !important;
	padding: 24px var(--almo-pad);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 48px; gap: 4px; align-items: flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.25rem; font-weight: 700; padding: 10px 0;
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { color: var(--almo-navy); width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }

/* ---------- Layout ---------- */
.almo-main { padding-top: clamp(16px, 2.5vw, 28px); padding-bottom: 0; }
.almo-main > * + * { margin-block-start: clamp(28px, 4vw, 44px); }
.almo-main > .almo-band { margin-block-start: clamp(28px, 4vw, 44px); }
.almo-main > .almo-band + * { margin-block-start: clamp(28px, 4vw, 44px); }
.almo-main > :last-child:not(.almo-band) { margin-block-end: clamp(36px, 5vw, 56px); }

.almo-band {
	background: var(--almo-white);
	border-top: 1px solid var(--almo-line);
	border-bottom: 1px solid var(--almo-line);
	padding-top: clamp(26px, 4vw, 40px);
	padding-bottom: clamp(28px, 4vw, 44px);
}
.almo-band:not(:has(> *)) { display: none; }
.almo-main > .almo-band:last-child { margin-block-end: 0; border-bottom: 0; }

.almo-section-head { align-items: baseline !important; gap: 16px; margin-bottom: 18px !important; }
.almo-section-head.is-ruled { padding-bottom: 12px; border-bottom: 2px solid var(--almo-navy); margin-bottom: 0 !important; }
.almo-section-head > * { margin: 0 !important; }
.almo-section-title { font-size: clamp(1.3125rem, 2.2vw, 1.625rem) !important; line-height: 1.3; margin: 0 0 18px; color: var(--almo-navy); }
.almo-section-head .almo-section-title { margin: 0; }
.almo-more { font-size: 0.875rem; font-weight: 600; white-space: nowrap; }
.almo-more a { color: var(--almo-green); }

.almo-grid { display: grid; gap: 28px 20px; }
.almo-grid--1 { grid-template-columns: minmax(0, 1fr); }
.almo-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.almo-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.almo-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.almo-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* ---------- Cards ---------- */
.almo-card { display: flex; flex-direction: column; gap: 8px; color: var(--almo-navy); text-decoration: none; }
.almo-card:hover .almo-card__title { color: var(--almo-green); }
.almo-card__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--almo-radius); display: block; }
.almo-card__title { font-size: 1.0625rem; line-height: 1.5; font-weight: 700; }

.almo-cards .wp-block-post-template { gap: 28px 24px; margin: 0; padding: 0; }
.almo-cards .wp-block-post { display: flex; flex-direction: column; gap: 8px; }
.almo-cards .wp-block-post > * { margin: 0 !important; }
.almo-cards .wp-block-post-featured-image { margin-bottom: 4px !important; }
.almo-cards .wp-block-post-featured-image img { border-radius: var(--almo-radius); }
.almo-cards .wp-block-post-title { font-size: 1.1875rem; line-height: 1.45; }
.almo-cards.is-compact .wp-block-post-title { font-size: 1.0625rem; line-height: 1.5; }
.wp-block-post-title a { color: var(--almo-navy); text-decoration: none; }
.wp-block-post-title a:hover { color: var(--almo-green); }
.wp-block-post-date { font-size: 0.8125rem; color: var(--almo-muted); }
.wp-block-post-date a { color: inherit; }

/* ---------- Home: hero ---------- */
.almo-hero { gap: 32px !important; margin-bottom: 0; }
.almo-lead .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.almo-lead .wp-block-post { display: flex; flex-direction: column; gap: 12px; }
.almo-lead .wp-block-post > * { margin: 0 !important; }
.almo-lead .wp-block-post-featured-image img { border-radius: var(--almo-radius); }
.almo-lead__title { font-size: clamp(1.625rem, 3vw, 2.375rem) !important; line-height: 1.3 !important; }
.almo-dek { margin: 0; font-size: clamp(1.0625rem, 1.6vw, 1.3125rem); line-height: 1.7; color: var(--almo-body); }
.almo-lead .almo-dek { font-size: clamp(1rem, 1.4vw, 1.125rem); }

.almo-rule-title {
	font-size: 1.125rem !important; margin: 0 0 6px !important;
	padding-bottom: 10px; border-bottom: 2px solid var(--almo-navy);
}
.almo-mostread .wp-block-post-template { margin: 0; padding: 0; list-style: none; counter-reset: almo-rank; }
.almo-mostread .wp-block-post {
	counter-increment: almo-rank;
	display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 14px; align-items: start;
	padding: 14px 0; border-bottom: 1px solid var(--almo-line);
}
.almo-mostread .wp-block-post::before {
	content: counter(almo-rank, arabic-indic);
	grid-row: 1 / span 3; font-size: 1.75rem; line-height: 1; font-weight: 700; color: var(--almo-gold);
}
.almo-mostread .wp-block-post > * { grid-column: 2; margin: 0 !important; }
.almo-mostread .wp-block-post-title { font-size: 1rem !important; line-height: 1.5; font-weight: 600; }
.almo-mostread.is-small .wp-block-post { padding: 12px 0; }
.almo-mostread.is-small .wp-block-post::before { font-size: 1.5rem; }
.almo-mostread.is-small .wp-block-post-title { font-size: 0.9375rem !important; }
.almo-mostread:not(:has(.wp-block-post)) { display: none; }

/* ---------- Destinations ---------- */
.almo-dests__grid { gap: 20px; }
.almo-dest .almo-card__title { font-size: 1.1875rem; }
.almo-dest .almo-card__img { aspect-ratio: 4 / 3; }
.almo-dests__more {
	background: var(--almo-navy); color: #fff; border-radius: var(--almo-radius);
	padding: 18px; display: flex; flex-direction: column; gap: 10px;
}
.almo-dests__more b { font-size: 1.0625rem; }
.almo-dests__more ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; font-size: 0.875rem; }
.almo-dests__more a { color: #DCE3EE; }
.almo-dests__more a:hover { color: #fff; }
.almo-dests__more .almo-dests__all { margin-top: auto; color: var(--almo-gold); font-weight: 600; font-size: 0.875rem; }

/* ---------- Home: umrah ---------- */
.almo-umrah { gap: 36px !important; align-items: flex-start !important; }
.almo-umrah__image .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.almo-umrah__image img { border-radius: var(--almo-radius); }
.almo-list .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.almo-list .wp-block-post { padding: 16px 0; border-bottom: 1px solid var(--almo-line); }
.almo-list .wp-block-post > * { margin: 0 !important; }
.almo-list .wp-block-post-title { font-size: 1.1875rem; line-height: 1.45; }
.almo-list .almo-kicker { color: var(--almo-muted); font-weight: 400; }

/* ---------- Breadcrumbs ---------- */
.almo-breadcrumbs { font-size: 0.875rem; color: var(--almo-muted); margin-bottom: 18px; }
.almo-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.almo-breadcrumbs li + li::before { content: "›"; margin-inline-end: 6px; color: var(--almo-muted); }
.almo-breadcrumbs a { color: var(--almo-green); }
.almo-breadcrumbs p { margin: 0; }
.almo-breadcrumbs .separator { margin: 0 4px; }

/* ---------- Single ---------- */
.almo-single__head > * { margin: 0; }
.almo-single__intro { max-width: 820px; display: flex; flex-direction: column; gap: 12px; }
.almo-single__intro > * { margin: 0 !important; }
.almo-single__title { font-size: clamp(1.75rem, 3.6vw, 2.75rem) !important; line-height: 1.25 !important; }
.almo-byline {
	margin-top: 8px !important; padding: 14px 0;
	border-top: 1px solid var(--almo-line); border-bottom: 1px solid var(--almo-line);
	gap: 12px 16px; align-items: center !important;
}
.almo-byline__who { gap: 2px !important; }
.almo-byline__who > * { margin: 0 !important; }
.almo-byline .wp-block-post-author-name { font-size: 0.875rem; font-weight: 600; }
.almo-byline .wp-block-post-author-name a { color: var(--almo-navy); }
.almo-dates { font-size: 0.8125rem; color: var(--almo-muted); }

.almo-share { display: flex; flex-wrap: wrap; gap: 8px; }
.almo-share__btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 40px; padding: 0 14px; border-radius: 8px;
	border: 1px solid var(--almo-field); background: #fff; color: var(--almo-navy);
	font: inherit; font-size: 0.875rem; font-weight: 600; white-space: nowrap; cursor: pointer; text-decoration: none;
}
.almo-share__btn:hover { border-color: var(--almo-green); color: var(--almo-green); }

.almo-single__image { margin-top: 24px !important; }
.almo-single__image img { width: 100%; aspect-ratio: 12 / 5; object-fit: cover; border-radius: var(--almo-radius); }

.almo-single__body { gap: 56px !important; margin-top: clamp(24px, 3vw, 34px) !important; align-items: flex-start !important; }
.almo-single__content { min-width: 0; }
.almo-single__content > * { max-width: 740px; }
.almo-sticky { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 26px; }
.admin-bar .almo-sticky { top: 56px; }

.almo-toc { background: #fff; border: 1px solid var(--almo-line); border-radius: var(--almo-radius); padding: 14px 6px 14px 14px; }
.almo-toc__title { display: block; padding: 0 12px 8px; font-size: 0.9375rem; color: var(--almo-navy); }
.almo-toc ol { list-style: none; margin: 0; padding: 0; max-height: 60vh; overflow: auto; }
.almo-toc a { display: block; padding: 7px 12px; border-inline-start: 2px solid var(--almo-line); color: var(--almo-body); font-size: 0.875rem; line-height: 1.5; }
.almo-toc a:hover { border-inline-start-color: var(--almo-green); color: var(--almo-green); }

/* Article body */
.almo-prose { font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); line-height: 1.9; color: var(--almo-ink); }
.almo-prose > * { margin-block-start: 0; margin-block-end: 20px; }
.almo-prose h2 { font-size: clamp(1.375rem, 2.4vw, 1.75rem); margin: 40px 0 14px; scroll-margin-top: 24px; }
.almo-prose h3 { font-size: clamp(1.1875rem, 1.8vw, 1.3125rem); margin: 26px 0 8px; }
.almo-prose h4 { font-size: 1.0625rem; margin: 20px 0 6px; }
.almo-prose ul, .almo-prose ol { padding-inline-start: 22px; }
.almo-prose li + li { margin-top: 4px; }
.almo-prose figure { margin: 8px 0 26px; }
.almo-prose img { border-radius: var(--almo-radius); }
.almo-prose figcaption, .almo-prose .wp-element-caption { font-size: 0.8125rem; color: var(--almo-muted); padding-top: 8px; margin: 0; text-align: start; }
.almo-prose blockquote { margin: 24px 0; }
.almo-prose hr, .almo-prose .wp-block-separator { border: 0; border-top: 1px solid var(--almo-line); margin: 32px 0; }
.almo-prose .wp-block-buttons { margin: 20px 0; }

/* Tables */
.almo-prose .wp-block-table, .almo-prose > table {
	overflow-x: auto; display: block;
	border: 1px solid var(--almo-line); border-radius: var(--almo-radius); background: #fff;
}
.almo-prose table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.6; }
.almo-prose .wp-block-table table { border: 0; }
.almo-prose th, .almo-prose td { text-align: start; padding: 12px 16px; border: 0; border-top: 1px solid var(--almo-line-soft); vertical-align: top; }
.almo-prose thead th, .almo-prose thead td { background: var(--almo-sand-deep); color: var(--almo-navy); border-top: 0; font-weight: 700; }
.almo-prose tr:first-child > * { border-top: 0; }
.almo-prose .wp-block-table thead { border-bottom: 0; }
.almo-prose .wp-block-table figcaption { padding: 8px 16px; }

/* Legacy content: columns with an empty column, oversized spacers, FAQ blocks */
.almo-prose .wp-block-column:not(:has(*)) { display: none; }
.almo-prose .wp-block-columns { gap: 20px; margin-bottom: 8px; }
.almo-prose .wp-block-column > :last-child { margin-bottom: 0; }
.almo-prose .wp-block-spacer { max-height: 32px; }
.almo-prose .schema-faq { margin: 0 0 24px; }
.almo-prose .schema-faq-section { margin: 0 0 18px; }
.almo-prose .schema-faq-question { display: block; font-size: 1.1875rem; font-weight: 700; color: var(--almo-navy); line-height: 1.5; margin-bottom: 4px; }
.almo-prose .schema-faq-answer { margin: 0; }
.almo-prose .wp-block-gallery { gap: 12px; }
.almo-prose .wp-block-embed iframe { max-width: 100%; border-radius: var(--almo-radius); }
.almo-prose .wp-block-button__link { padding: 12px 22px; }

/* Old static pages (countries / articles directories) */
.country-directory-grid { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.country-directory-grid li { margin: 0 !important; }
.country-directory-grid a { display: block; padding: 10px 14px; background: #fff; border: 1px solid var(--almo-line); border-radius: 8px; text-decoration: none !important; color: var(--almo-navy); font-weight: 600; }
.aa-articles-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 24px; }
.aa-editorial-card { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
.aa-editorial-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--almo-radius); }
.aa-editorial-card h3 { font-size: 1.0625rem; margin: 0; line-height: 1.5; }
.aa-editorial-card h3 a { text-decoration: none !important; color: var(--almo-navy); }
.aa-editorial-card p { margin: 0; font-size: 0.9375rem; color: var(--almo-body); }

.almo-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px !important; }
.almo-tags a {
	font-size: 0.875rem; padding: 6px 12px; border: 1px solid #D9D2C5; border-radius: 999px;
	color: var(--almo-navy); text-decoration: none;
}
.almo-tags a:hover { border-color: var(--almo-green); color: var(--almo-green); }

.almo-authorbox {
	margin-top: 28px !important; background: #fff; border: 1px solid var(--almo-line);
	border-radius: var(--almo-radius); padding: 18px; gap: 6px !important;
}
.almo-authorbox > * { margin: 0 !important; }
.almo-authorbox__name { font-size: 1.0625rem; font-weight: 700; }
.almo-authorbox__name a { color: var(--almo-navy); }
.almo-authorbox__bio { font-size: 0.9375rem; line-height: 1.75; color: var(--almo-body); }
.almo-authorbox:not(:has(.almo-authorbox__bio)) { display: none; }

.almo-related .almo-section-title { font-size: 1.5rem !important; }

/* ---------- Category / archive ---------- */
.almo-term__hero { gap: 36px !important; margin: 0 !important; }
.almo-term__title { font-size: clamp(2.25rem, 5vw, 4rem) !important; line-height: 1.1 !important; margin: 0 0 14px !important; }
.almo-archive .almo-term__title, .almo-index .almo-term__title { font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important; }
.almo-term__desc { font-size: clamp(1.0625rem, 1.5vw, 1.1875rem); line-height: 1.85; color: var(--almo-body); }
.almo-term__desc p { margin: 0 0 12px; }
.almo-term-image { margin: 0; }
.almo-term-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--almo-radius); display: block; }
.almo-term-image.is-tile .almo-tile { aspect-ratio: 16 / 10; font-size: clamp(1.75rem, 4vw, 3rem); padding: 24px; }

.almo-pagination { margin-top: 32px !important; gap: 6px; font-weight: 600; }
.almo-pagination a, .almo-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px;
	border: 1px solid var(--almo-line); border-radius: 8px; background: #fff; color: var(--almo-navy); text-decoration: none;
}
.almo-pagination .page-numbers.current { background: var(--almo-navy); color: #fff; border-color: var(--almo-navy); }
.almo-pagination .page-numbers.dots { border: 0; background: transparent; }

/* ---------- Pages / search / 404 ---------- */
.almo-page__title { font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important; margin-bottom: 0 !important; }
.almo-page .wp-block-post-featured-image img { border-radius: var(--almo-radius); }
.almo-search__title { font-size: clamp(1.5rem, 3vw, 2.25rem) !important; }
.almo-search__form .wp-block-search__input { min-height: 52px; font-size: 1rem; }
.almo-search__form .wp-block-search__button { min-height: 54px; }
.almo-results .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.almo-result { gap: 16px !important; padding: 16px 0; border-bottom: 1px solid var(--almo-line); }
.almo-result__img { flex: none; margin: 0 !important; }
.almo-result__img img { border-radius: 8px; object-fit: cover; }
.almo-result__text > * { margin: 0 0 4px !important; }
.almo-result .wp-block-post-title { font-size: 1.1875rem; line-height: 1.45; }
.almo-result .wp-block-post-excerpt__excerpt { margin: 0; }

/* ---------- Footer ---------- */
.almo-footer { background: var(--almo-navy); color: #DCE3EE; padding-top: 40px; margin-top: 0; }
.almo-footer a { color: #DCE3EE; }
.almo-footer a:hover { color: #fff; }
.almo-footer__cols { gap: 32px !important; }
.almo-footer__about { font-size: 0.875rem; line-height: 1.7; margin-top: 12px; }
.almo-footer__title { color: #fff !important; font-size: 0.9375rem !important; margin: 0 0 10px !important; }
.almo-footer__nav { font-size: 0.875rem !important; font-weight: 400 !important; gap: 8px !important; }
.almo-footer__nav .wp-block-navigation__container { gap: 8px !important; }
.almo-footer__nav .wp-block-navigation-item__content { color: #DCE3EE; }
.almo-footer__bottom {
	border-top: 1px solid #2E3F64; margin-top: 28px !important; margin-bottom: 0 !important;
	padding: 14px 0 18px; font-size: 0.75rem; color: #A9B5CB;
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.almo-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.almo-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.almo-mainnav { gap: 18px !important; }
	.almo-header__search .wp-block-search__input { width: 170px; }
}

@media (max-width: 781px) {
	.almo-header__bar { min-height: 60px; gap: 4px !important; }
	.almo-wordmark svg { height: 24px; }
	.almo-wordmark__bars i:first-child { width: 76px; }
	.almo-header__bar .almo-wordmark { margin-inline-end: auto; }
	.almo-mainnav { order: 3; }
	.almo-header__search { order: 2; margin-inline-start: 0 !important; }
	.almo-header__search .wp-block-search__inside-wrapper { border-color: transparent; background: transparent; }
	.almo-header__search .wp-block-search__input { width: 0; padding: 0 !important; min-width: 0; }
	.almo-header__search .wp-block-search__button { background: transparent !important; color: var(--almo-navy) !important; min-width: 44px; padding: 0; }
	.almo-header__search:focus-within { position: absolute; inset-inline: 12px; top: 8px; z-index: 30; }
	.almo-header__search:focus-within .wp-block-search__inside-wrapper { background: #fff; border-color: var(--almo-green); }
	.almo-header__search:focus-within .wp-block-search__input { width: 100%; padding: 0 14px !important; }
	.almo-header__search:focus-within .wp-block-search__button { background: var(--almo-green) !important; color: #fff !important; }

	.almo-strip { border-top: 0; padding-bottom: 10px; }
	.almo-strip__nav, .almo-strip__nav .wp-block-navigation__container { gap: 8px !important; }
	.almo-strip__nav .wp-block-navigation-item__content { padding: 7px 12px; border: 1px solid #D9D2C5; border-radius: 999px; }

	.almo-grid--3, .almo-grid--4, .almo-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	.almo-dests__more { grid-column: 1 / -1; }
	.almo-related .almo-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.almo-card__title { font-size: 0.9375rem; }

	.almo-cards .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
	.almo-cards.is-compact .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 14px; }
	.almo-cards .wp-block-post-title { font-size: 1.0625rem; }

	.almo-hero, .almo-umrah, .almo-single__body, .almo-term__hero { gap: 24px !important; }
	.almo-single__aside { order: 2; }
	.almo-sticky { position: static; }
	.almo-single__image { margin-inline: calc(-1 * var(--almo-pad)) !important; }
	.almo-single__image img { aspect-ratio: 3 / 2; border-radius: 0; }
	.almo-share__btn { min-height: 38px; padding: 0 12px; font-size: 0.8125rem; }
	.almo-result__img img { width: 104px !important; height: 78px !important; }
	.almo-footer__cols { gap: 20px !important; }
}

/* Sources line (pattern) */
.almo-prose .almo-sources { margin-top: 30px; padding-top: 16px; border-top: 1px solid var(--almo-line); font-size: 0.875rem; line-height: 1.9; color: var(--almo-muted); }

/* Section head rendered by the destinations block */
.almo-dests .almo-section-head { display: flex; justify-content: space-between; align-items: baseline; }
@media (max-width: 781px) {
	.almo-footer__cols { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.almo-footer__cols > .wp-block-column:first-child { grid-column: 1 / -1; }
}
.almo-prose table { min-width: 520px; }
.almo-footer__nav ul, .almo-footer__nav .wp-block-navigation__container { padding: 0 !important; margin: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open ul { padding: 0 !important; margin: 0; }

/* =========================================================================
   v1.1 — destinations, live time & weather, home mosaic, TOC
   ========================================================================= */

/* ---------- Live time & weather ---------- */
.almo-clock { display: inline-flex; flex-direction: column; gap: 2px; line-height: 1.3; }
.almo-clock__time { font-size: 1.25rem; font-weight: 700; color: var(--almo-navy); font-variant-numeric: tabular-nums; min-width: 4.5em; }
.almo-clock__diff { font-size: 0.75rem; color: var(--almo-muted); font-weight: 400; }
.almo-clock__diff:empty { display: none; }
.almo-weather { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; }
.almo-weather__icon { width: 26px; height: 26px; flex: none; }
.almo-weather__icon svg { width: 100%; height: 100%; display: block; }
.almo-weather__temp { font-size: 1.125rem; font-weight: 700; color: var(--almo-navy); font-variant-numeric: tabular-nums; }
.almo-weather__text { font-size: 0.8125rem; color: var(--almo-muted); }
.almo-weather.is-empty { display: none; }
.almo-wx-credit { display: block; font-size: 0.6875rem; color: var(--almo-muted); }
.almo-wx-credit a { color: inherit; text-decoration: underline; }
.almo-main > .almo-wx-credit { margin-top: 6px !important; text-align: end; max-width: 1240px; }

/* ---------- Home: mosaic ---------- */
.almo-mosaic { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
.almo-mosaic > * { margin: 0 !important; }
.almo-overlay .wp-block-post-template { margin: 0; padding: 0; list-style: none; display: grid; gap: 16px; height: 100%; }
.almo-overlay.is-side .wp-block-post-template { grid-template-rows: 1fr 1fr; }
.almo-overlay .wp-block-post {
	position: relative; overflow: hidden; border-radius: 16px; background: var(--almo-navy);
	display: flex; align-items: flex-end; margin: 0 !important;
}
.almo-overlay.is-lead .wp-block-post { min-height: clamp(380px, 40vw, 520px); }
.almo-overlay.is-side .wp-block-post { min-height: 240px; }
.almo-overlay .wp-block-post-featured-image,
.almo-overlay .almo-tile-link { position: absolute !important; inset: 0; margin: 0 !important; height: 100%; aspect-ratio: auto !important; }
.almo-overlay .wp-block-post-featured-image a { display: block; height: 100%; }
.almo-overlay .wp-block-post-featured-image img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .5s ease; }
.almo-overlay .wp-block-post:hover img { transform: scale(1.03); }
.almo-overlay .almo-tile { border-radius: 0; align-items: flex-start; font-size: 1rem; opacity: .9; }
.almo-overlay .wp-block-post::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(9, 16, 33, .9) 0%, rgba(9, 16, 33, .55) 40%, rgba(9, 16, 33, 0) 72%);
}
.almo-overlay__text { position: relative; z-index: 2; padding: clamp(18px, 2.4vw, 30px); pointer-events: none; }
.almo-overlay__text > * { margin: 0 0 6px !important; }
.almo-overlay__text a { pointer-events: auto; }
.almo-overlay .almo-kicker { color: var(--almo-gold); }
.almo-overlay .wp-block-post-title { margin-bottom: 0 !important; }
.almo-overlay .wp-block-post-title a { color: #fff; }
.almo-overlay .wp-block-post-title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.almo-overlay.is-lead .wp-block-post-title { font-size: clamp(1.625rem, 3.2vw, 2.5rem) !important; line-height: 1.25; }
.almo-overlay.is-side .wp-block-post-title { font-size: clamp(1.125rem, 1.6vw, 1.3125rem) !important; line-height: 1.4; }
.almo-overlay .almo-dek { color: rgba(255, 255, 255, .86); font-size: clamp(1rem, 1.3vw, 1.125rem); margin-top: 8px !important; max-width: 640px; }

/* ---------- Home: now strip ---------- */
.almo-now .almo-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.almo-now__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.almo-now__item {
	display: flex; flex-direction: column; gap: 8px; padding: 14px 16px;
	background: #fff; border: 1px solid var(--almo-line); border-radius: 14px; color: var(--almo-navy);
	transition: border-color .2s, box-shadow .2s;
}
.almo-now__item:hover { border-color: var(--almo-green); box-shadow: 0 6px 18px rgba(20, 33, 61, .07); color: var(--almo-navy); }
.almo-now__name { font-weight: 700; font-size: 0.9375rem; display: flex; flex-direction: column; line-height: 1.4; }
.almo-now__name small { font-weight: 400; font-size: 0.75rem; color: var(--almo-muted); }
.almo-now__item .almo-clock__time { font-size: 1.375rem; }

/* ---------- Home: latest + most read ---------- */
.almo-split { gap: 40px !important; align-items: flex-start !important; }
.almo-split__aside { position: sticky; top: 24px; }
.almo-popular .almo-rule-title { margin-bottom: 0 !important; }
.almo-popular ol { list-style: none; margin: 0; padding: 0; counter-reset: almo-pop; }
.almo-popular li { counter-increment: almo-pop; border-bottom: 1px solid var(--almo-line); }
.almo-popular a { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 12px; padding: 14px 0; color: var(--almo-navy); }
.almo-popular a::before { content: counter(almo-pop, arabic-indic); grid-row: 1 / span 2; font-size: 1.75rem; line-height: 1; font-weight: 700; color: var(--almo-gold); }
.almo-popular a > * { grid-column: 2; }
.almo-popular b { font-size: 1rem; line-height: 1.5; font-weight: 600; }
.almo-popular a:hover b { color: var(--almo-green); }

/* ---------- Destination cards (photo with name on it) ---------- */
.almo-dest { position: relative; overflow: hidden; border-radius: 14px; display: block; background: var(--almo-navy); }
.almo-dest .almo-card__img { aspect-ratio: 4 / 5; border-radius: 0; transition: transform .5s ease; }
.almo-grid--4 .almo-dest .almo-card__img { aspect-ratio: 4 / 3; }
.almo-dest:hover .almo-card__img { transform: scale(1.04); }
.almo-dest::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9, 16, 33, .85), rgba(9, 16, 33, 0) 55%); pointer-events: none; }
.almo-dest .almo-tile { border-radius: 0; aspect-ratio: 4 / 5; align-items: flex-start; }
.almo-grid--4 .almo-dest .almo-tile { aspect-ratio: 4 / 3; }
.almo-dest__text { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; padding: 16px; display: flex; flex-direction: column; gap: 2px; }
.almo-dest .almo-card__title { color: #fff; font-size: clamp(1.125rem, 1.6vw, 1.375rem); }
.almo-dest .almo-meta { color: rgba(255, 255, 255, .8); }
.almo-dest:hover .almo-card__title { color: #fff; }
.almo-dests__more { border-radius: 14px; }

/* ---------- Navy bands ---------- */
.almo-band.is-navy { background: var(--almo-navy); border-color: var(--almo-navy); color: #DCE3EE; }
.almo-band.is-navy .almo-section-title, .almo-band.is-navy .wp-block-post-title a { color: #fff !important; }
.almo-band.is-navy .almo-section-head.is-ruled { border-bottom-color: rgba(255, 255, 255, .5); }
.almo-band.is-navy .almo-more a { color: var(--almo-gold); }
.almo-band.is-navy .almo-list .wp-block-post { border-bottom-color: #2E3F64; }
.almo-band.is-navy .almo-kicker { color: #B9C4D8; }
.almo-band.is-navy .wp-block-post-title a:hover { color: var(--almo-gold) !important; }
.almo-band.is-navy img { border-radius: 14px; }

/* ---------- Destination page ---------- */
.almo-destpage.almo-main { padding-top: 0; }
.almo-dhero { position: relative; margin-top: 0 !important; }
.almo-dhero__media { height: clamp(240px, 36vw, 470px); overflow: hidden; background: var(--almo-navy); }
.almo-dhero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.almo-dhero__blank { display: block; height: 100%; background: radial-gradient(circle at 20% 30%, #1F6E57 0, transparent 55%), linear-gradient(135deg, #14213D 0%, #0B4F39 100%); }
.almo-dhero.no-image .almo-dhero__media { height: clamp(160px, 18vw, 240px); }
.almo-dhero__card {
	position: relative; z-index: 3; box-sizing: border-box;
	width: min(1240px, calc(100% - 2 * var(--almo-pad))); margin: clamp(-120px, -9vw, -60px) auto 0;
	background: #fff; border: 1px solid var(--almo-line); border-radius: 18px;
	box-shadow: 0 18px 40px rgba(20, 33, 61, .08);
	padding: clamp(20px, 3vw, 34px);
	display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(20px, 3.5vw, 44px); align-items: center;
}
.almo-dhero__card.no-facts { grid-template-columns: minmax(0, 1fr); }
.almo-dhero__text > * { margin: 0; }
.almo-dhero__text .almo-breadcrumbs { margin-bottom: 10px; }
.almo-dhero__kicker { display: inline-block; font-size: 0.8125rem; font-weight: 600; color: var(--almo-green); background: var(--almo-green-soft); padding: 3px 10px; border-radius: 999px; margin-bottom: 10px !important; }
.almo-dhero__title { font-size: clamp(2.25rem, 5.2vw, 3.75rem); line-height: 1.1; color: var(--almo-navy); font-weight: 700; margin-bottom: 12px !important; }
.almo-dhero__desc { font-size: clamp(1rem, 1.4vw, 1.1875rem); line-height: 1.85; color: var(--almo-body); }
.almo-dhero__desc p { margin: 0 0 10px; }
.almo-dhero__count { display: inline-block; margin-top: 6px !important; font-size: 0.8125rem; color: var(--almo-muted); }
.almo-facts { margin: 0; border-top: 1px solid var(--almo-line); }
.almo-fact { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--almo-line); }
.almo-fact dt { font-size: 0.875rem; color: var(--almo-muted); }
.almo-fact dd { margin: 0; font-weight: 600; font-size: 0.9375rem; color: var(--almo-navy); text-align: end; }
.almo-fact.is-live dd { display: flex; justify-content: flex-end; }
.almo-fact .almo-clock { align-items: flex-end; }

.almo-tabs {
	position: sticky; top: 0; z-index: 15; background: rgba(250, 247, 242, .96);
	backdrop-filter: blur(6px); border-bottom: 1px solid var(--almo-line);
}
.admin-bar .almo-tabs { top: 32px; }
.almo-tabs__inner {
	max-width: 1240px; margin: 0 auto; padding: 0 var(--almo-pad); box-sizing: border-box;
	display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; min-height: 54px; align-items: center;
}
.almo-tabs__inner::-webkit-scrollbar { display: none; }
.almo-tabs a { color: var(--almo-navy); font-weight: 600; font-size: 0.9375rem; white-space: nowrap; padding: 15px 0; box-shadow: inset 0 -3px 0 transparent; }
.almo-tabs a:hover { color: var(--almo-green); box-shadow: inset 0 -3px 0 var(--almo-green); }
.almo-main > .almo-tabs { margin-top: clamp(20px, 3vw, 32px) !important; }

.almo-dsec { scroll-margin-top: 70px; }
.almo-dsec:not(:has(> *)) { display: none; }
.almo-dsec .almo-dests .almo-section-head { margin-bottom: 18px; }

.almo-places { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.almo-place { display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 12px; background: rgba(255, 255, 255, .06); border: 1px solid #2E3F64; color: #fff; }
.almo-place:hover { border-color: var(--almo-gold); color: #fff; }
.almo-place__img { width: 96px !important; height: 76px !important; min-height: 0; object-fit: cover; border-radius: 8px; flex: none; font-size: 0.875rem; padding: 8px; }
.almo-place b { display: block; font-size: 1rem; line-height: 1.5; }
.almo-place .almo-meta { color: #B9C4D8; }

.almo-rows .wp-block-post-template { gap: 0 36px; margin: 0; padding: 0; }
.almo-row { gap: 14px !important; padding: 16px 0; border-bottom: 1px solid var(--almo-line); margin: 0 !important; }
.almo-row__img { width: 120px !important; flex: none; margin: 0 !important; }
.almo-row__img img, .almo-row__img .almo-tile { border-radius: 8px; }
.almo-row .almo-tile-link.almo-row__img, .almo-row .almo-tile-link { width: 120px; flex: none; }
.almo-row__text > * { margin: 0 0 3px !important; }
.almo-row .wp-block-post-title { font-size: 1.0625rem; line-height: 1.5; }

.almo-dabout { max-width: 780px; }

/* ---------- Article: table of contents, progress, now box ---------- */
.almo-progress { position: fixed; top: 0; inset-inline: 0; height: 3px; z-index: 100; pointer-events: none; }
.admin-bar .almo-progress { top: 32px; }
.almo-progress span { display: block; height: 100%; background: linear-gradient(to left, var(--almo-green), #3FA37F); transform: scaleX(0); transform-origin: right; transition: transform .1s linear; }

.almo-toc {
	background: #fff; border: 1px solid var(--almo-line); border-radius: 16px;
	padding: 18px 20px 12px; margin: 0 0 32px !important; max-width: 740px;
	box-shadow: 0 8px 24px rgba(20, 33, 61, .04);
}
.almo-toc__head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; margin-bottom: 6px; border-bottom: 1px solid var(--almo-line-soft); }
.almo-toc__head svg { width: 22px; height: 22px; color: var(--almo-green); flex: none; }
.almo-toc__head b { font-size: 1.0625rem; color: var(--almo-navy); }
.almo-toc__head span { margin-inline-start: auto; font-size: 0.75rem; color: var(--almo-muted); background: var(--almo-sand-deep); padding: 3px 10px; border-radius: 999px; }
.almo-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: almo-toc; max-height: none; overflow: visible; }
.almo-toc li { counter-increment: almo-toc; break-inside: avoid; }
.almo-toc li a {
	display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: start;
	padding: 9px 0; border: 0; border-bottom: 1px dashed var(--almo-line); color: var(--almo-body);
	font-size: 0.9375rem; line-height: 1.55;
}
.almo-toc li:last-child a { border-bottom: 0; }
.almo-toc li a::before {
	content: counter(almo-toc); display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 50%; background: var(--almo-green-soft); color: var(--almo-green-dark);
	font-size: 0.75rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.almo-toc li a:hover, .almo-toc li a.is-active { color: var(--almo-green); }
.almo-toc li a.is-active::before, .almo-toc li a:hover::before { background: var(--almo-green); color: #fff; }
@media (min-width: 900px) {
	.almo-toc ol { columns: 2; column-gap: 28px; }
	.almo-toc li:nth-last-child(2) a { border-bottom: 0; }
}

.almo-now-box { background: #fff; border: 1px solid var(--almo-line); border-radius: 16px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.almo-now-box__title { font-size: 0.9375rem; color: var(--almo-navy); }
.almo-now-box__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.almo-now-box .almo-clock__time { font-size: 1.625rem; }
.almo-now-box__link { font-size: 0.875rem; font-weight: 600; }

@media (max-width: 781px) {
	.almo-mosaic { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.almo-overlay.is-lead .wp-block-post { min-height: 380px; }
	.almo-overlay.is-side .wp-block-post-template { grid-template-rows: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.almo-overlay.is-side .wp-block-post { min-height: 200px; border-radius: 14px; }
	.almo-overlay.is-side .wp-block-post-title { font-size: 1rem !important; }
	.almo-overlay.is-side .almo-overlay__text { padding: 14px; }
	.almo-now__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.almo-split__aside { position: static; }
	.almo-dhero__card { grid-template-columns: minmax(0, 1fr); }
	.almo-places { grid-template-columns: minmax(0, 1fr); }
	.almo-rows .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
	.almo-row__img, .almo-row .almo-tile-link { width: 104px !important; }
	.almo-tabs { top: 0; }
	.admin-bar .almo-tabs, .admin-bar .almo-progress { top: 46px; }
	.almo-toc { padding: 16px 16px 8px; }
}

/* =========================================================================
   v1.2 — hotel lists & hotel reports
   ========================================================================= */

/* Booking buttons: 3 side by side on desktop/tablet, stacked on phones */
.almo-prose .wp-block-buttons.almo-book { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 26px; }
.almo-prose .almo-book .wp-block-button { width: 100% !important; margin: 0 !important; }
.almo-prose .almo-book .wp-block-button__link {
	display: flex; align-items: center; justify-content: center; width: 100%; box-sizing: border-box;
	min-height: 50px; padding: 10px 14px; border-radius: 10px; font-weight: 700; font-size: 1rem; text-decoration: none;
	background: #fff; color: var(--almo-navy); border: 1px solid var(--almo-field);
}
.almo-prose .almo-book .wp-block-button__link:hover { border-color: var(--almo-green); color: var(--almo-green); }
.almo-prose .almo-book .wp-block-button:first-child .wp-block-button__link { background: var(--almo-green); border-color: var(--almo-green); color: #fff; }
.almo-prose .almo-book .wp-block-button:first-child .wp-block-button__link:hover { background: var(--almo-green-dark); color: #fff; }
@media (max-width: 599px) {
	.almo-prose .wp-block-buttons.almo-book { grid-template-columns: minmax(0, 1fr); }
}

/* Hotel block inside a list article */
.almo-prose .almo-hotel-card { background: #fff; border: 1px solid var(--almo-line); border-radius: 16px; padding: clamp(16px, 2.5vw, 24px); margin: 0 0 28px; }
.almo-prose .almo-hotel-card > *:first-child { margin-top: 0; }
.almo-prose .almo-hotel-card h3 { margin-top: 0; }
.almo-prose .almo-hotel-card figure { margin: 0 0 16px; }
.almo-prose .almo-report-link { margin: 4px 0 0; font-weight: 700; }
.almo-prose .almo-report-link a { text-decoration: none; }
.almo-prose .almo-report-link a::after { content: " ←"; }

/* Pros (green checks) and "expect" (soft warnings) */
.almo-prose ul.almo-pros, .almo-prose ul.almo-cons { list-style: none; padding: 0; margin: 0 0 20px; }
.almo-prose ul.almo-pros li, .almo-prose ul.almo-cons li { position: relative; padding-inline-start: 30px; margin: 0 0 8px; }
.almo-prose ul.almo-pros li::before, .almo-prose ul.almo-cons li::before {
	position: absolute; inset-inline-start: 0; top: .35em; width: 20px; height: 20px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; line-height: 1;
}
.almo-prose ul.almo-pros li::before { content: "✓"; background: var(--almo-green-soft); color: var(--almo-green-dark); }
.almo-prose ul.almo-cons li::before { content: "!"; background: #FCF1DC; color: #9A6B06; }

/* Quick box at the top of a hotel report */
.almo-prose .almo-quickbox { background: var(--almo-sand-deep); border: 1px solid var(--almo-line); border-radius: 14px; padding: 16px 18px; margin: 0 0 24px; }
.almo-prose .almo-quickbox > :last-child { margin-bottom: 0; }
.almo-prose .almo-quickbox ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; font-size: 0.9375rem; }
.almo-prose .almo-quickbox li { margin: 0; }
.almo-prose .almo-quickbox strong { color: var(--almo-navy); }
@media (max-width: 599px) { .almo-prose .almo-quickbox ul { grid-template-columns: minmax(0, 1fr); } }

/* Price note and map */
.almo-prose .almo-price-note { font-size: 0.875rem; color: var(--almo-muted); margin-top: -10px; }
.almo-prose .almo-map { margin: 0 0 24px; }
.almo-prose .almo-map iframe { display: block; width: 100%; aspect-ratio: 16 / 10; height: auto; border: 0; border-radius: 14px; background: var(--almo-sand-deep); }
.almo-prose .almo-photo-needed { display: flex; align-items: center; justify-content: center; text-align: center; aspect-ratio: 16 / 9; border: 2px dashed var(--almo-field); border-radius: 12px; color: var(--almo-muted); font-size: 0.9375rem; padding: 16px; margin: 0 0 16px; }
