/* =========================================================
   Miffa – design layer on top of Salient
   Palette: Miffa orange (kept from the old accent), Antarctic
   ice blues, warm paper. All tokens in :root.
   ========================================================= */
:root {
	--m-orange: #dd9933;
	--m-orange-deep: #a85f00;      /* text-safe orange on white (>4.5:1) */
	--m-ink: #16222c;              /* deep polar blue-black */
	--m-ice: #e9f1f5;              /* glacier tint */
	--m-ice-deep: #bcd3de;
	--m-paper: #faf8f4;
	--m-line: #e3e8ec;
	--m-muted: #5d6b76;
	--m-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
	--m-radius: 10px;
	--m-shadow: 0 1px 2px rgba(22, 34, 44, .08), 0 8px 24px rgba(22, 34, 44, .08);
}

/* ---------- Header ---------- */
html body #header-outer #top nav > ul > li > a,
html body #header-outer #top .span_9 > .slide-out-widget-area-toggle a {
	color: #dfe7ec;
	white-space: nowrap;
	letter-spacing: .02em;
}
html body #header-outer #top nav > ul > li > a:hover,
html body #header-outer #top nav > ul > li.current-menu-item > a,
html body #header-outer #top nav > ul > li.current_page_ancestor > a,
html body #header-outer #top nav > ul > li.current-menu-ancestor > a,
html body #header-outer #top nav > ul > li.sfHover > a {
	color: var(--m-orange);
}
html body #header-outer .sf-menu li ul li a:hover,
html body #header-outer .sf-menu li ul li.current-menu-item > a {
	color: var(--m-orange) !important;
}
html body #header-outer .sf-menu li ul {
	border-radius: 0 0 8px 8px;
	box-shadow: var(--m-shadow);
}

/* ---------- Links ---------- */
html body .main-content a:not(.nectar-button):not(.miffa-btn):not(.miffa-chip):not(.nectar-post-grid-link):not([class*="wpb_"]) {
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

/* ---------- Single-post reading experience ---------- */
html body.single-post .main-content,
html body.single-post .container-wrap {
	background: var(--m-paper);
}
html body.single-post .container.main-content {
	max-width: 820px;
}
html body.single-post .post-area,
html body.single-post .post-area.span_12,
html body.single-post .post-area.span_9 {
	float: none;
	width: 100%;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
/* Salient forces .post-area padding-left to 0, so pad the article instead */
html body.single-post .post-area { padding-right: 0 !important; }
html body.single-post .post-area article { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
html body.single-post .post-content,
html body.single-post .post-content p,
html body.single-post .post-content li,
html body.single-post .content-inner p {
	font-family: var(--m-serif);
	font-size: 19px;
	line-height: 1.7;
	color: #212c35;
}
html body.single-post .post-content p { margin-bottom: 1.15em; }
html body.single-post .post-content a {
	color: var(--m-orange-deep);
	text-decoration: underline;
}
html body.single-post .post-content a:hover { color: var(--m-ink); }
html body.single-post .post-content h2,
html body.single-post .post-content h3,
html body.single-post .post-content h4 {
	font-family: "Montserrat", system-ui, sans-serif;
	color: var(--m-ink);
	line-height: 1.25;
	margin: 1.6em 0 .6em;
}
html body.single-post .post-content blockquote {
	border-left: 3px solid var(--m-orange);
	background: var(--m-ice);
	padding: 1em 1.25em;
	margin: 1.5em 0;
	border-radius: 0 var(--m-radius) var(--m-radius) 0;
	font-style: italic;
}
html body.single-post .post-content img {
	height: auto;
	max-width: 100%;
	border-radius: 6px;
}
html body.single-post .post-content .wp-caption,
html body.single-post .post-content figure {
	max-width: 100%;
	margin: 1.6em auto;
}
html body.single-post .post-content .wp-caption-text,
html body.single-post .post-content figcaption {
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: var(--m-muted);
	text-align: center;
	margin-top: .6em;
}
html body.single-post .post-content hr {
	border: 0;
	border-top: 1px solid var(--m-line);
	margin: 2em 0;
}

/* Filed-under chips + "More from <place>" (added by single-extras.php) */
.miffa-filed {
	margin: 2.5em 0 1.5em;
	padding-top: 1.25em;
	border-top: 1px solid var(--m-line);
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 13px;
}
.miffa-filed__label {
	color: var(--m-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 11px;
	margin-right: .4em;
}
.miffa-more { margin: 2em 0; font-family: "Montserrat", system-ui, sans-serif; }
.miffa-more__title { font-size: 18px; margin: 0 0 .8em; color: var(--m-ink); }
.miffa-more__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.miffa-more__list li { margin: 0; }
.miffa-more__list a {
	display: block;
	text-decoration: none !important;
	background: #fff;
	border: 1px solid var(--m-line);
	border-radius: var(--m-radius);
	overflow: hidden;
	height: 100%;
	transition: transform .18s ease, box-shadow .18s ease;
}
.miffa-more__list a:hover { transform: translateY(-2px); box-shadow: var(--m-shadow); }
.miffa-more__list img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0 !important; }
.miffa-more__t { display: block; padding: 10px 12px 2px; font-size: 14px; line-height: 1.35; color: var(--m-ink); font-weight: 600; }
.miffa-more__d { display: block; padding: 0 12px 12px; font-size: 12px; color: var(--m-muted); }
.miffa-more__all { display: inline-block; margin-top: 1em; font-size: 14px; font-weight: 600; color: var(--m-orange-deep); }

/* ---------- Chips / badges ---------- */
.miffa-chip {
	display: inline-block;
	padding: 5px 12px;
	margin: 0 4px 6px 0;
	border-radius: 999px;
	background: var(--m-ice);
	color: var(--m-ink) !important;
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	text-decoration: none !important;
	border: 1px solid var(--m-ice-deep);
	transition: background .15s ease, border-color .15s ease;
}
.miffa-chip:hover { background: #fff; border-color: var(--m-orange); }
.miffa-chip--place { background: #fff4e0; border-color: #f0d09a; }
.miffa-count { opacity: .55; font-size: 11px; margin-left: 2px; }

.miffa-place { display: inline-block; margin-right: 10px; }
.miffa-place a, .miffa-place--plain {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--m-orange);
	color: #1b1202 !important;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none !important;
}

/* ---------- Blog cards (Salient post grid) ---------- */
html body .nectar-post-grid .nectar-post-grid-item {
	border-radius: var(--m-radius);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
html body .nectar-post-grid .nectar-post-grid-item:hover {
	transform: translateY(-3px);
	box-shadow: var(--m-shadow);
}
/* Stronger, consistent legibility gradient behind the white text */
html body .nectar-post-grid .nectar-post-grid-item .content {
	background: linear-gradient(to top, rgba(10, 20, 28, .86) 0%, rgba(10, 20, 28, .45) 45%, rgba(10, 20, 28, 0) 75%);
}
html body .nectar-post-grid .nectar-post-grid-item .post-heading {
	text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
	line-height: 1.25;
}
html body .nectar-post-grid .meta-category a {
	background: rgba(255, 255, 255, .16);
	backdrop-filter: blur(4px);
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .06em;
}
html body .nectar-post-grid .nectar-post-grid-item__meta-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 0; }
html body .nectar-post-grid .meta-date { opacity: .9; font-size: 12px; }
/* Cards with no featured image: ice-blue to orange wash instead of a grey box */
html body .nectar-post-grid .nectar-post-grid-item[data-has-img="false"] .inner {
	background: linear-gradient(135deg, #274a63 0%, #3f6f8c 55%, #c4812a 140%);
}
/* Filter bar */
html body .nectar-post-grid-filters .filter-trigger,
html body .nectar-post-grid-filters a {
	border-radius: 999px;
}

/* ---------- Taxonomy / archive headers ---------- */
html body.archive #page-header-bg h1,
html body.tax-place #page-header-bg h1,
html body.tax-crew #page-header-bg h1 { text-shadow: 0 2px 14px rgba(0, 0, 0, .35); }

/* ---------- Browse page ---------- */
.miffa-browse { max-width: 980px; margin: 0 auto; font-family: "Montserrat", system-ui, sans-serif; }
.miffa-browse__sec { margin: 0 0 3rem; }
.miffa-browse__sec h2 { font-size: 22px; margin: 0 0 .4em; color: var(--m-ink); }
.miffa-browse__note { color: var(--m-muted); margin: 0 0 1em; }
.miffa-tree, .miffa-tree li { list-style: none !important; margin-left: 0; padding-left: 0; }
.miffa-tree { margin: 0; padding: 0; }
.miffa-tree li::marker { content: none; }
.miffa-browse__sec > .miffa-tree > li {
	display: inline-block;
	vertical-align: top;
	width: calc(33.333% - 12px);
	min-width: 220px;
	margin: 0 8px 16px 0;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid var(--m-line);
	border-radius: var(--m-radius);
}
.miffa-browse__sec > .miffa-tree > li > a { font-weight: 700; font-size: 16px; }
/* second level: countries as chips */
.miffa-tree .miffa-tree { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.miffa-tree .miffa-tree li { margin: 0; padding: 0; }
.miffa-tree .miffa-tree a { display: inline-block; font-size: 13px; padding: 3px 10px; border-radius: 999px; background: var(--m-ice); }
.miffa-tree a { color: var(--m-ink); text-decoration: none; }
.miffa-tree a:hover { color: var(--m-orange-deep); }
.miffa-tree .miffa-tree .miffa-tree { display: none; } /* keep the page tidy: continent + country only */

/* ---------- Home: "From the diary" ---------- */
.miffa-diary { max-width: 1200px; margin: 0 auto; padding: 56px 24px; font-family: "Montserrat", system-ui, sans-serif; }
.miffa-diary__head h2 { font-size: clamp(26px, 3.2vw, 38px); margin: 0 0 .2em; color: var(--m-ink); }
.miffa-diary__head p { color: var(--m-muted); margin: 0 0 1.5em; }
.miffa-diary__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.miffa-diary__card {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--m-radius);
	overflow: hidden;
	text-decoration: none !important;
	background: var(--m-ink);
	transition: transform .2s ease, box-shadow .2s ease;
}
.miffa-diary__card:hover { transform: translateY(-3px); box-shadow: var(--m-shadow); }
.miffa-diary__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.miffa-diary__meta {
	position: absolute; inset: auto 0 0 0;
	padding: 48px 16px 14px;
	background: linear-gradient(to top, rgba(10, 20, 28, .88), rgba(10, 20, 28, 0));
	color: #fff;
}
.miffa-diary__title { display: block; font-weight: 600; font-size: 16px; line-height: 1.3; margin-top: 6px; }
.miffa-diary__date { display: block; font-size: 12px; opacity: .8; margin-top: 4px; }
.miffa-diary__cta { margin: 28px 0 0; text-align: center; }
.miffa-btn {
	display: inline-block;
	padding: 12px 22px;
	margin: 4px;
	border-radius: 999px;
	background: var(--m-orange);
	color: #1b1202 !important;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	transition: filter .15s ease, transform .15s ease;
}
.miffa-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.miffa-btn--ghost { background: transparent; color: var(--m-ink) !important; border: 2px solid var(--m-ink); padding: 10px 20px; }

/* ---------- Footer ---------- */
html body #footer-outer { background: #101b24; }
html body #footer-outer #copyright { background: #0b141b; }
html body #footer-outer a:hover { color: var(--m-orange); }

/* ---------- Cookie banner (GDPR Cookie Compliance) ---------- */
html body #moove_gdpr_cookie_info_bar {
	background: #101b24;
	border-top: 1px solid rgba(255, 255, 255, .12);
}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding: 14px 20px; }
html body #moove_gdpr_cookie_info_bar p,
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content { color: #e8eef2; font-size: 14px; line-height: 1.5; }
html body #moove_gdpr_cookie_info_bar .mgbutton {
	border-radius: 999px !important;
	padding: 10px 22px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	min-height: 44px;
}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all {
	background: var(--m-orange) !important;
	color: #1b1202 !important;
}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn {
	background: transparent !important;
	color: #e8eef2 !important;
	border: 2px solid rgba(255, 255, 255, .55) !important;
}

/* ---------- Tablet / phone ---------- */
@media (max-width: 999px) {
	.miffa-diary__grid { grid-template-columns: repeat(2, 1fr); }
	.miffa-more__list { grid-template-columns: repeat(2, 1fr); }
	.miffa-browse__sec > .miffa-tree > li { width: calc(50% - 12px); }
}
@media (max-width: 599px) {
	html body.single-post .post-content,
	html body.single-post .post-content p,
	html body.single-post .post-content li { font-size: 18px; line-height: 1.65; }
	.miffa-diary { padding: 36px 16px; }
	.miffa-diary__grid, .miffa-more__list { grid-template-columns: 1fr; }
	.miffa-browse__sec > .miffa-tree > li { width: 100%; margin-right: 0; }
	html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding: 10px 14px; }
	html body #moove_gdpr_cookie_info_bar p { font-size: 13px; }
}

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

/* ---------- Diary cards: beat Salient's generic "a span" rules ---------- */
html body .miffa-diary a.miffa-diary__card > span.miffa-diary__meta {
	position: absolute;
	left: 0; right: 0; bottom: 0; top: auto;
	display: block;
	padding: 48px 16px 14px;
	font-family: "Montserrat", system-ui, sans-serif;
	background: linear-gradient(to top, rgba(10, 20, 28, .88), rgba(10, 20, 28, 0));
	color: #fff;
}
html body .miffa-diary a.miffa-diary__card .miffa-diary__title {
	display: block; position: static; margin-top: 6px;
	font-family: "Montserrat", system-ui, sans-serif; font-weight: 600; font-size: 16px; line-height: 1.3; color: #fff;
}
html body .miffa-diary a.miffa-diary__card .miffa-diary__date {
	display: block; position: static; margin-top: 4px;
	font-family: "Montserrat", system-ui, sans-serif; font-size: 12px; opacity: .8; color: #fff;
}
html body .miffa-diary a.miffa-diary__card .miffa-place--plain {
	display: inline-block; position: static;
	font-family: "Montserrat", system-ui, sans-serif;
}
html body .miffa-diary a.miffa-diary__card > span.miffa-diary__meta { text-align: left; }

/* ---------- Menu: colour change only, no bars or filled rows ---------- */
html body #header-outer nav > ul > li > a .menu-title-text:after,
html body #header-outer nav > ul > li > a .menu-title-text:before,
html body #header-outer nav > ul > li > a:after,
html body #header-outer nav > ul > li > a:before {
	display: none !important;
	content: none !important;
	height: 0 !important;
	background: transparent !important;
}
html body #header-outer nav > ul > li > a { background: transparent !important; transition: color .15s ease; }
/* dropdown: light text, orange letters on hover, never a filled row */
html body #header-outer .sf-menu li ul li a,
html body #header-outer .sf-menu li ul li a:hover,
html body #header-outer .sf-menu li ul li a:focus,
html body #header-outer .sf-menu li ul li.sfHover > a,
html body #header-outer .sf-menu li ul li.current-menu-item > a,
html body #header-outer .sf-menu li ul li.current_page_item > a {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}
html body #header-outer .sf-menu li ul li a { color: #d6dee4 !important; padding-top: 9px; padding-bottom: 9px; }
html body #header-outer .sf-menu li ul li a:hover,
html body #header-outer .sf-menu li ul li a:focus,
html body #header-outer .sf-menu li ul li.sfHover > a,
html body #header-outer .sf-menu li ul li.current-menu-item > a { color: var(--m-orange) !important; }
html body #header-outer .sf-menu li ul li a:after,
html body #header-outer .sf-menu li ul li a:before,
html body #header-outer .sf-menu li ul li a .menu-title-text:after { display: none !important; content: none !important; }

/* Match Salient's own (high-specificity, !important) dropdown hover rule, then neutralise its filled background */
html body #header-outer #top nav > ul > li:not(.megamenu) ul a,
html body #header-outer #top nav > ul > li:not(.megamenu) ul a:hover,
html body #header-outer #top nav > ul > li:not(.megamenu) ul a:focus,
html body #header-outer #top nav > ul > li:not(.megamenu) .sfHover > a,
html body #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a,
html body #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a:hover,
html body #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) .sfHover > a,
html body #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul .current-menu-item > a,
html body #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul .current-menu-ancestor > a {
	background-color: transparent !important;
	background: transparent !important;
}
html body #header-outer #top nav > ul > li:not(.megamenu) ul a:hover,
html body #header-outer #top nav > ul > li:not(.megamenu) ul a:focus,
html body #header-outer #top nav > ul > li:not(.megamenu) .sfHover > a,
html body #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul .current-menu-item > a {
	color: var(--m-orange) !important;
}
/* Slightly larger top-level labels now that there are only five */
@media (min-width: 1000px) {
	html body #header-outer #top nav > ul > li > a { font-size: 15px; }
	html body #header-outer #top nav > ul > li:not(.megamenu) ul a { font-size: 14px; }
}

/* Slide-out menu on phones/tablets: Salient printed the main menu twice (top_nav and off_canvas_nav both point at menu 3). Show one copy. */
@media (max-width: 999px) {
	html body #slide-out-widget-area .off-canvas-menu-container:not(.mobile-only) { display: none !important; }
}

/* ---------- Archive heading (place / crew / year / month) ---------- */
.miffa-archive-head { max-width: 1100px; margin: 0 auto; padding: 48px 20px 8px; font-family: "Montserrat", system-ui, sans-serif; }
.miffa-archive-head__eyebrow { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--m-orange-deep); }
.miffa-archive-head__crumbs { margin: 0 0 4px; font-size: 14px; color: var(--m-muted); }
.miffa-archive-head__crumbs a { color: var(--m-muted); text-decoration: none; }
.miffa-archive-head__crumbs a:hover { color: var(--m-orange-deep); }
html body .miffa-archive-head h1.miffa-archive-head__title { margin: 0 0 6px; font-size: clamp(32px, 5vw, 52px); line-height: 1.1; color: var(--m-ink); }
.miffa-archive-head__count { margin: 0 0 14px; font-size: 14px; color: var(--m-muted); }
.miffa-archive-head__desc { max-width: 720px; margin: 0 0 14px; font-family: var(--m-serif); font-size: 18px; line-height: 1.6; color: #212c35; }
.miffa-archive-head__kids { margin: 0 0 14px; }
.miffa-archive-head__back { display: inline-block; font-size: 14px; font-weight: 600; color: var(--m-orange-deep); text-decoration: none; }
.miffa-archive-head__back:hover { color: var(--m-ink); }
