/*
Theme Name: Wayfarer
Theme URI: https://example.com/wayfarer
Author: Binoy
Description: An accessible, editorial travel blog theme. Includes a designed home page, long-read post layout, destination guides, a trip planner (budget, packing checklist and countdown), a gear page with a personal kit list, and an About page with a contact form.
Version: 1.1.1
Requires at least: 6.3
Tested up to: 6.7
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: wayfarer
Tags: blog, news, one-column, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready, sticky-post
*/

/* ---------- Tokens ---------- */
:root {
	--wf-accent: #0E6B5C;
	--wf-accent-dark: #0A4F44;
	--wf-ink: #12201A;
	--wf-body: #1B2A24;
	--wf-text: #3D4A44;
	--wf-muted: #4A5852;
	--wf-bg: #F4F6F3;
	--wf-white: #FFFFFF;
	--wf-line: #DCE3DE;
	--wf-line-soft: #EEF2EF;
	--wf-field: #B7C4BD;
	--wf-tint: #E4F0EC;
	--wf-deep: #0F3B33;
	--wf-deep-text: #D3E6DF;
	--wf-sun: #F49A5C;
	--wf-orange: #E0702E;
	--wf-error: #A33A12;
	--wf-error-bg: #FBE7D8;
	--wf-radius: 20px;
	--wf-radius-lg: 24px;
	--wf-font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
	--wf-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--wf-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--wf-max: 1240px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body {
	margin: 0;
	background: var(--wf-bg);
	color: var(--wf-body);
	font-family: var(--wf-font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--wf-accent); }
a:hover { color: var(--wf-accent-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
	outline: 3px solid var(--wf-orange);
	outline-offset: 3px;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--wf-font-display); color: var(--wf-ink); line-height: 1.15; }
button, input, select, textarea { font: inherit; }

[hidden] { display: none !important; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--wf-white); clip: auto !important; clip-path: none; color: var(--wf-ink);
	display: block; font-weight: 600; height: auto; left: 8px; top: 8px; padding: 14px 22px;
	width: auto; z-index: 100000; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,.2);
}
.skip-link { text-decoration: none; }

/* ---------- Layout ---------- */
.wf-container { max-width: var(--wf-max); margin: 0 auto; padding-left: 32px; padding-right: 32px; }
@media (max-width: 600px) { .wf-container { padding-left: 20px; padding-right: 20px; } }
.wf-section { padding-top: 80px; padding-bottom: 80px; }
.wf-section--tight { padding-top: 56px; padding-bottom: 56px; }
.wf-band { background: var(--wf-white); border-top: 1px solid var(--wf-line); border-bottom: 1px solid var(--wf-line); }
.wf-stack { display: flex; flex-direction: column; gap: var(--gap, 24px); }
.wf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min, 280px)), 1fr)); gap: var(--gap, 24px); }
.wf-grid--fill { grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--min, 280px)), 1fr)); }
.wf-split { display: flex; flex-wrap: wrap; gap: var(--gap, 48px); align-items: flex-start; }
.wf-split__main { flex: 999 1 560px; min-width: 0; }
.wf-split__side { flex: 1 1 300px; min-width: 0; }
.wf-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 36px; }
.wf-section-head > div:first-child { display: flex; flex-direction: column; gap: 8px; }
.wf-section-head > .wf-pills, .wf-section-head > .wf-segmented { flex: 0 1 auto; }

/* ---------- Type ---------- */
.wf-eyebrow { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--wf-accent); }
.wf-h1 { margin: 0; font-weight: 800; font-size: clamp(38px, 5.2vw, 68px); line-height: 1.02; letter-spacing: -1.5px; }
.wf-h2 { margin: 0; font-weight: 800; font-size: clamp(32px, 3.4vw, 44px); line-height: 1.1; letter-spacing: -1px; }
.wf-h3 { margin: 0; font-weight: 700; font-size: 21px; line-height: 1.25; }
.wf-lead { margin: 0; font-size: 19px; color: var(--wf-text); max-width: 560px; }
.wf-sub { margin: 0; font-size: 17px; color: var(--wf-text); }
.wf-muted { color: var(--wf-muted); }
.wf-link-strong { font-weight: 600; color: var(--wf-accent); }

/* ---------- Buttons ---------- */
.wf-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 26px; border-radius: 26px; border: 1.5px solid transparent;
	font-weight: 600; font-size: 16px; text-decoration: none; cursor: pointer; line-height: 1.2;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.wf-btn--sm { min-height: 44px; padding: 0 20px; border-radius: 22px; font-size: 15px; }
.wf-btn--primary { background: var(--wf-accent); color: #fff; }
.wf-btn--primary:hover { background: var(--wf-accent-dark); color: #fff; }
.wf-btn--outline { border-color: var(--wf-ink); color: var(--wf-ink); background: transparent; }
.wf-btn--outline:hover { background: var(--wf-ink); color: #fff; }
.wf-btn--light { background: #fff; color: var(--wf-ink); }
.wf-btn--ghost-light { border-color: #fff; color: #fff; background: transparent; }
.wf-btn--ghost-light:hover { background: #fff; color: var(--wf-ink); }
.wf-btn--sun { background: var(--wf-sun); color: var(--wf-ink); font-weight: 700; }
.wf-btn--sun:hover { background: #F7B07D; color: var(--wf-ink); }
.wf-icon-btn {
	width: 44px; height: 44px; border-radius: 22px; border: 1px solid var(--wf-line); background: #fff;
	color: var(--wf-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.wf-icon-btn:hover { border-color: var(--wf-ink); }
.wf-icon-btn[aria-pressed="true"] { background: var(--wf-accent); border-color: var(--wf-accent); color: #fff; }
.wf-icon-btn[aria-pressed="true"] svg path { fill: currentColor; }
.wf-pill {
	min-height: 44px; padding: 0 18px; border-radius: 22px; border: 1px solid var(--wf-line); background: #fff;
	color: var(--wf-ink); font-weight: 500; font-size: 15px; cursor: pointer;
}
.wf-pill[aria-pressed="true"] { background: var(--wf-ink); border-color: var(--wf-ink); color: #fff; font-weight: 600; }
.wf-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.wf-segmented { display: inline-flex; gap: 4px; background: #fff; border: 1px solid var(--wf-line); border-radius: 26px; padding: 4px; }
.wf-segmented .wf-pill { border: 0; background: transparent; font-weight: 600; }
.wf-segmented .wf-pill[aria-pressed="true"] { background: var(--wf-ink); color: #fff; }

/* ---------- Tags / meta ---------- */
.wf-tag { display: inline-block; background: var(--wf-tint); color: var(--wf-accent-dark); font-weight: 600; font-size: 13px; padding: 4px 12px; border-radius: 12px; text-decoration: none; }
a.wf-tag:hover { background: #D3E6DF; }
.wf-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: 14px; color: var(--wf-muted); }
.wf-meta a { color: inherit; }
.wf-meta > span, .wf-meta > time { white-space: nowrap; }
.wf-meta__cat { font-weight: 600; color: var(--wf-accent-dark); }
.wf-chip { display: inline-block; padding: 6px 14px; border-radius: 16px; border: 1px solid var(--wf-line); background: #fff; color: var(--wf-ink); text-decoration: none; font-size: 14px; }
.wf-chip:hover { border-color: var(--wf-ink); color: var(--wf-ink); }

/* ---------- Header ---------- */
.wf-header { background: #fff; border-bottom: 1px solid var(--wf-line); position: relative; z-index: 20; }
.wf-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding-top: 18px; padding-bottom: 18px; }
.wf-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--wf-ink); min-width: 0; }
.wf-brand:hover { color: var(--wf-ink); }
.wf-brand__mark { flex-shrink: 0; }
.wf-brand__name { font-family: var(--wf-font-display); font-weight: 800; font-size: 26px; line-height: 1.1; letter-spacing: -.5px; overflow-wrap: break-word; text-wrap: balance; }
.wf-brand .custom-logo { max-height: 48px; max-width: 100%; width: auto; height: auto; display: block; }
.wf-header .wf-brand { flex: 0 1 auto; max-width: 32%; }
@media (min-width: 861px) { .wf-header__inner { flex-wrap: nowrap; } .wf-nav { flex: 0 1 auto; min-width: 0; } }
.wf-header__actions { flex-shrink: 0; }
.wf-brand__mark circle { stroke: var(--wf-accent); }
.wf-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 28px; font-weight: 500; font-size: 15px; }
.wf-nav li { position: relative; }
.wf-nav a { display: inline-block; padding: 10px 0; color: var(--wf-ink); text-decoration: none; }
.wf-nav a:hover { color: var(--wf-accent); }
.wf-nav .current-menu-item > a, .wf-nav .current_page_item > a, .wf-nav .current-menu-ancestor > a, .wf-nav .current_page_parent > a {
	box-shadow: inset 0 -2px 0 var(--wf-orange);
}
.wf-nav .sub-menu { display: none; position: absolute; left: -16px; top: 100%; min-width: 220px; background: #fff; border: 1px solid var(--wf-line); border-radius: 14px; padding: 8px 16px; flex-direction: column; gap: 0; box-shadow: 0 14px 30px rgba(18,32,26,.12); }
.wf-nav li:hover > .sub-menu, .wf-nav li:focus-within > .sub-menu { display: flex; }
.wf-header__actions { display: flex; align-items: center; gap: 12px; }
.wf-search-panel { border-top: 1px solid var(--wf-line); background: #fff; padding: 20px 0; }
.wf-search-panel[hidden] { display: none; }
/* Mobile menu (collapses only when JavaScript is available) */
.wf-menu-toggle { display: none; }
.wf-menu-toggle .wf-icon--close { display: none; }
.wf-menu-toggle[aria-expanded="true"] .wf-icon--close { display: block; }
.wf-menu-toggle[aria-expanded="true"] .wf-menu-toggle__open { display: none; }
@media (max-width: 860px) {
	.wf-header__inner { column-gap: 12px; padding-top: 14px; padding-bottom: 14px; }
	.wf-header__actions { margin-left: auto; gap: 8px; }
	/* Site title shares the row with the buttons and wraps to two lines if needed */
	.wf-header__inner { flex-wrap: wrap; }
	.wf-header .wf-brand { flex: 1 1 0; max-width: none; }
	.wf-header .wf-brand__name {
		font-size: clamp(18px, 5.6vw, 22px);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		overflow: hidden;
	}
	.wf-header .wf-brand__mark { width: 30px; height: 30px; }
	.wf-header .custom-logo { max-height: 40px; }
	.wf-header__actions .wf-btn--sm { padding: 0 16px; }
	.wf-nav { order: 3; width: 100%; }
	.wf-nav ul { flex-direction: column; flex-wrap: nowrap; gap: 0; font-size: 17px; }
	.wf-nav li { border-top: 1px solid var(--wf-line-soft); }
	.wf-nav a { display: flex; align-items: center; min-height: 52px; padding: 0; }
	.wf-nav .current-menu-item > a, .wf-nav .current_page_item > a, .wf-nav .current-menu-ancestor > a, .wf-nav .current_page_parent > a { box-shadow: inset 4px 0 0 var(--wf-orange); padding-left: 14px; font-weight: 600; }
	.wf-nav .sub-menu { display: flex !important; position: static; box-shadow: none; border: 0; border-radius: 0; padding: 0 0 8px 16px; min-width: 0; }
	.wf-nav .sub-menu a { min-height: 44px; font-size: 16px; color: var(--wf-text); }
	.wf-has-js .wf-menu-toggle { display: inline-flex; }
	.wf-has-js .wf-nav { display: none; }
	.wf-has-js .wf-header.is-menu-open .wf-nav { display: block; padding-bottom: 8px; }
}
@media (max-width: 600px) {
	.wf-header__subscribe { display: none; }
}


/* ---------- Search form ---------- */
.wf-searchform { display: flex; flex-wrap: wrap; gap: 12px; max-width: 640px; }
.wf-searchform input[type="search"] { flex: 1 1 260px; }

/* ---------- Forms ---------- */
.wf-field { display: flex; flex-direction: column; gap: 6px; }
.wf-label { font-weight: 600; color: var(--wf-ink); font-size: 15px; }
.wf-input, .wf-select, .wf-textarea,
input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], select, textarea {
	min-height: 48px; border-radius: 12px; border: 1px solid var(--wf-field); background: #fff;
	padding: 10px 14px; font-size: 16px; color: var(--wf-ink); width: 100%;
}
textarea { min-height: 140px; resize: vertical; }
.wf-input[aria-invalid="true"], .wf-textarea[aria-invalid="true"] { border: 2px solid var(--wf-error); }
.wf-field__error { font-size: 14px; font-weight: 600; color: var(--wf-error); }
.wf-alert { border-radius: 12px; padding: 12px 16px; font-weight: 600; font-size: 15px; }
.wf-alert--error { background: var(--wf-error-bg); color: #6B2E12; }
.wf-alert--ok { background: var(--wf-tint); color: var(--wf-accent-dark); }
.wf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Cards ---------- */
.wf-lift { transition: transform .2s ease, box-shadow .2s ease; }
.wf-lift:hover, .wf-lift:focus-within { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(18,32,26,.12); }
.wf-card { background: #fff; border-radius: var(--wf-radius); overflow: hidden; display: flex; flex-direction: column; position: relative; }
.wf-card--tinted { background: var(--wf-bg); }
.wf-card--bordered { border: 1px solid var(--wf-line); }
.wf-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--wf-tint); }
.wf-card__media img, .wf-card__media svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.wf-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
.wf-card__title { margin: 0; font-weight: 700; font-size: 21px; line-height: 1.25; }
.wf-card__title a { color: var(--wf-ink); text-decoration: none; }
.wf-card__title a::after { content: ""; position: absolute; inset: 0; }
.wf-card__title a:hover { color: var(--wf-accent); }
.wf-card__excerpt { margin: 0; color: var(--wf-text); font-size: 15px; }
.wf-card a.wf-tag, .wf-card .wf-meta a { position: relative; z-index: 2; }

.wf-story-lg .wf-card__media { aspect-ratio: 16 / 9; }
.wf-story-lg .wf-card__body { padding: 28px 30px 32px; gap: 12px; }
.wf-story-lg .wf-card__title { font-size: clamp(26px, 2.4vw, 32px); line-height: 1.15; }
.wf-story-sm { flex-direction: row; align-items: center; gap: 20px; padding: 16px; border-radius: 18px; }
.wf-story-sm .wf-card__media { width: 140px; height: 120px; aspect-ratio: auto; border-radius: 12px; flex-shrink: 0; }
.wf-story-sm .wf-card__body { padding: 0; gap: 6px; }
@media (max-width: 480px) { .wf-story-sm .wf-card__media { width: 100px; height: 96px; } }

.wf-region-card { background: var(--wf-bg); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--wf-ink); display: flex; flex-direction: column; }
.wf-region-card:hover { color: var(--wf-ink); }
.wf-region-card__media { aspect-ratio: 10 / 7; overflow: hidden; background: var(--wf-tint); }
.wf-region-card__media img, .wf-region-card__media svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.wf-region-card__body { padding: 16px 18px 18px; }
.wf-region-card__title { margin: 0; font-size: 20px; font-weight: 700; }
.wf-region-card__more { font-size: 14px; color: var(--wf-muted); }

.wf-tool-card { background: #fff; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.wf-tool-card__icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.wf-tool-card p { margin: 0; color: var(--wf-text); }
.wf-tone-green { background: var(--wf-tint); color: var(--wf-accent-dark); }
.wf-tone-orange { background: #FBE7D8; color: #8E4425; }
.wf-tone-blue { background: #DCE7F1; color: #2F4C66; }
.wf-tone-teal { background: #D6EEF0; color: #245247; }
.wf-tone-violet { background: #E6E3F3; color: #4A3D7A; }

/* ---------- Home hero ---------- */
.wf-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 72px; }
.wf-hero__copy { display: flex; flex-direction: column; gap: 24px; }
.wf-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }
.wf-hero__visual { position: relative; border-radius: var(--wf-radius-lg); overflow: hidden; min-height: 520px; background: #F3D9BE; }
.wf-hero__visual > img, .wf-hero__visual > svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wf-feature-card { position: absolute; left: 20px; right: 20px; bottom: 20px; background: #fff; border-radius: 18px; padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.wf-feature-card h2 { margin: 0; font-size: 26px; line-height: 1.2; font-weight: 700; }
.wf-feature-card h2 a { color: var(--wf-ink); text-decoration: none; }
.wf-feature-card h2 a:hover { color: var(--wf-accent); }
.wf-feature-card p { margin: 0; font-size: 15px; color: var(--wf-text); }

/* ---------- Newsletter ---------- */
.wf-newsletter { background: var(--wf-deep); color: #fff; }
.wf-newsletter__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 40px; align-items: center; padding-top: 72px; padding-bottom: 72px; }
.wf-newsletter h2 { color: #fff; margin: 0; font-weight: 800; font-size: clamp(34px, 3.6vw, 48px); letter-spacing: -1px; line-height: 1.05; }
.wf-newsletter p { margin: 0; color: var(--wf-deep-text); }
.wf-newsletter__intro { display: flex; flex-direction: column; gap: 14px; }
.wf-newsletter__intro p { font-size: 18px; max-width: 480px; }
.wf-newsletter form { display: flex; flex-direction: column; gap: 10px; }
.wf-newsletter label { font-weight: 600; font-size: 15px; }
.wf-newsletter__row { display: flex; flex-wrap: wrap; gap: 12px; }
.wf-newsletter input[type="email"] { flex: 1 1 260px; min-height: 56px; border-radius: 28px; border: 2px solid #5C8E80; padding: 0 20px; width: auto; }
.wf-newsletter .wf-btn { min-height: 56px; border-radius: 28px; }
.wf-newsletter__small { font-size: 14px; }
.wf-newsletter__admin { background: rgba(255,255,255,.1); border-radius: 14px; padding: 16px 18px; font-size: 15px; color: #fff; }
.wf-newsletter__admin a { color: #FFD1B3; }

/* ---------- Footer ---------- */
.wf-footer { background: #fff; border-top: 1px solid var(--wf-line); }
.wf-footer__top { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 32px; padding-top: 56px; padding-bottom: 40px; }
.wf-footer__brand p { margin: 8px 0 0; font-size: 15px; color: var(--wf-text); }
.wf-footer h2 { margin: 0 0 8px; font-family: var(--wf-font-body); font-size: 14px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--wf-muted); }
.wf-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.wf-footer a { color: var(--wf-ink); }
.wf-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; padding-bottom: 32px; border-top: 1px solid var(--wf-line); font-size: 14px; color: var(--wf-muted); }
.wf-footer__bottom a { color: var(--wf-muted); }
.wf-footer__bottom ul { flex-direction: row; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; }

/* ---------- Breadcrumbs ---------- */
.wf-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--wf-muted); }
.wf-breadcrumb a { color: var(--wf-muted); }
.wf-breadcrumb li + li::before { content: "/"; margin-right: 8px; color: var(--wf-muted); }
.wf-breadcrumb--light ol, .wf-breadcrumb--light a, .wf-breadcrumb--light li + li::before { color: #fff; }

/* ---------- Page / archive headers ---------- */
.wf-page-head { padding-top: 56px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 16px; max-width: 820px; }
.wf-page-head .wf-lead { max-width: 680px; }

/* ---------- Single post ---------- */
.wf-post-head { max-width: 880px; margin: 0 auto; padding: 48px 32px 40px; display: flex; flex-direction: column; gap: 20px; }
.wf-post-head h1 { margin: 0; font-weight: 800; font-size: clamp(34px, 4.6vw, 60px); line-height: 1.05; letter-spacing: -1.4px; }
.wf-post-head .wf-dek { margin: 0; font-size: 21px; line-height: 1.5; color: var(--wf-text); }
.wf-byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; border-top: 1px solid var(--wf-line); }
.wf-byline__author { display: flex; align-items: center; gap: 14px; }
.wf-byline__author img { border-radius: 50%; width: 48px; height: 48px; }
.wf-byline__name { font-weight: 600; color: var(--wf-ink); }
.wf-byline__name a { color: var(--wf-ink); }
.wf-share { display: flex; gap: 8px; align-items: center; }
.wf-toast { font-size: 14px; font-weight: 600; color: var(--wf-accent-dark); background: var(--wf-tint); padding: 6px 12px; border-radius: 14px; }
.wf-toast[hidden] { display: none; }
.wf-post-figure { margin: 0 auto; }
.wf-post-figure__img { border-radius: var(--wf-radius-lg); overflow: hidden; background: var(--wf-tint); }
.wf-post-figure__img img, .wf-post-figure__img svg { width: 100%; display: block; max-height: 640px; object-fit: cover; }
.wf-post-figure figcaption { padding-top: 10px; font-size: 14px; color: var(--wf-muted); }
.wf-post-body { padding-top: 56px; padding-bottom: 72px; --gap: 56px; }
.wf-post-body .wf-split__main { max-width: 720px; }
.wf-sidebar { display: flex; flex-direction: column; gap: 20px; }
@media (min-width: 1000px) { .wf-sidebar--sticky { position: sticky; top: 24px; } }
.wf-side-card { background: #fff; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.wf-side-card h2 { margin: 0; font-size: 20px; font-weight: 700; }
.wf-side-card--deep { background: var(--wf-deep); border-color: var(--wf-deep); color: #fff; }
.wf-side-card--deep h2 { color: #fff; }
.wf-side-card--deep p { margin: 0; color: var(--wf-deep-text); font-size: 15px; }
.wf-facts-dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wf-facts-dl dt { font-size: 13px; color: var(--wf-muted); }
.wf-facts-dl dd { margin: 0; font-weight: 600; color: var(--wf-ink); }
.wf-toc { display: flex; flex-direction: column; gap: 4px; }
.wf-toc a { color: var(--wf-text); text-decoration: none; padding: 6px 0 6px 14px; box-shadow: inset 3px 0 0 var(--wf-line); }
.wf-toc a:hover, .wf-toc a[aria-current="true"] { color: var(--wf-ink); font-weight: 600; box-shadow: inset 3px 0 0 var(--wf-accent); }
.wf-author-box { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; background: #fff; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); padding: 24px; margin-top: 32px; }
.wf-author-box img { border-radius: 50%; width: 72px; height: 72px; }
.wf-author-box__text { flex: 1 1 300px; display: flex; flex-direction: column; gap: 4px; }
.wf-author-box__name { font-family: var(--wf-font-display); font-weight: 700; font-size: 20px; color: var(--wf-ink); }
.wf-author-box__bio { color: var(--wf-text); margin: 0; }
.wf-post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }

/* ---------- Entry content (block editor output) ---------- */
.wf-entry { font-family: var(--wf-font-serif); font-size: 20px; line-height: 1.7; color: #24332D; }
.wf-entry > * { margin-top: 0; margin-bottom: 24px; }
.wf-entry > *:last-child { margin-bottom: 0; }
.wf-entry h2 { font-weight: 800; font-size: 34px; letter-spacing: -.6px; margin-top: 48px; scroll-margin-top: 24px; }
.wf-entry h3 { font-weight: 700; font-size: 26px; margin-top: 36px; scroll-margin-top: 24px; }
.wf-entry h4 { font-size: 21px; margin-top: 28px; }
.wf-entry a { color: var(--wf-accent); text-underline-offset: 3px; }
.wf-entry ul, .wf-entry ol { padding-left: 1.3em; }
.wf-entry li { margin-bottom: 8px; }
.wf-entry blockquote, .wf-entry .wp-block-quote { margin: 40px 0; padding: 8px 0 8px 28px; border-left: 4px solid var(--wf-orange); font-family: var(--wf-font-display); font-weight: 700; font-size: 28px; line-height: 1.3; color: var(--wf-ink); }
.wf-entry blockquote p { margin: 0; }
.wf-entry blockquote cite { display: block; margin-top: 10px; font-family: var(--wf-font-body); font-size: 15px; font-weight: 500; color: var(--wf-muted); font-style: normal; }
.wf-entry .wp-block-pullquote { border-top: 4px solid var(--wf-orange); border-bottom: 4px solid var(--wf-orange); padding: 32px 0; text-align: center; }
.wf-entry figure { margin-left: 0; margin-right: 0; }
.wf-entry img { border-radius: 16px; }
.wf-entry figcaption, .wf-entry .wp-element-caption { font-family: var(--wf-font-body); font-size: 14px; color: var(--wf-muted); margin-top: 8px; }
.wf-entry table { width: 100%; border-collapse: collapse; font-family: var(--wf-font-body); font-size: 16px; background: #fff; border-radius: 16px; overflow: hidden; }
.wf-entry .wp-block-table { overflow-x: auto; border: 1px solid var(--wf-line); border-radius: 16px; }
.wf-entry th, .wf-entry td { padding: 14px 18px; border-bottom: 1px solid var(--wf-line-soft); text-align: left; }
.wf-entry thead th { color: var(--wf-muted); font-size: 14px; border-bottom: 1px solid var(--wf-line); }
.wf-entry details { font-family: var(--wf-font-body); font-size: 16px; border: 1px solid var(--wf-line); border-radius: 16px; padding: 4px 22px; background: #fff; }
.wf-entry details summary { min-height: 56px; display: flex; align-items: center; font-family: var(--wf-font-display); font-weight: 700; font-size: 19px; color: var(--wf-ink); cursor: pointer; }
.wf-entry pre, .wf-entry code { font-family: ui-monospace, Menlo, monospace; font-size: 15px; }
.wf-entry pre { background: var(--wf-ink); color: #F1F6F3; padding: 20px; border-radius: 14px; overflow-x: auto; }
.wf-entry hr { border: 0; border-top: 1px solid var(--wf-line); margin: 48px 0; }
.wf-entry .wp-block-button__link { background: var(--wf-accent); color: #fff; border-radius: 26px; padding: 14px 26px; font-family: var(--wf-font-body); font-weight: 600; font-size: 16px; text-decoration: none; }
.wf-entry .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wf-ink); border: 1.5px solid var(--wf-ink); }
.wf-entry .has-background { padding: 22px 24px; border-radius: 18px; }
.wf-entry--sans { font-family: var(--wf-font-body); font-size: 17px; color: var(--wf-text); }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide { margin-left: calc(-1 * min(10vw, 120px)); margin-right: calc(-1 * min(10vw, 120px)); max-width: none; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
@media (max-width: 1000px) { .alignwide { margin-left: 0; margin-right: 0; } }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font-size: 14px; color: var(--wf-muted); }
.sticky .wf-card__title::before { content: ""; }
.bypostauthor > .comment-body .fn::after { content: " ★"; color: var(--wf-orange); }

/* Editor colour palette (matches add_theme_support( 'editor-color-palette' )) */
.has-forest-color { color: #0E6B5C; } .has-forest-background-color { background-color: #0E6B5C; color: #fff; }
.has-deep-color { color: #0F3B33; } .has-deep-background-color { background-color: #0F3B33; color: #fff; }
.has-ink-color { color: #12201A; } .has-ink-background-color { background-color: #12201A; color: #fff; }
.has-sunset-color { color: #B4471B; } .has-sunset-background-color { background-color: #F49A5C; color: #12201A; }
.has-mint-color { color: #0A4F44; } .has-mint-background-color { background-color: #E4F0EC; color: #12201A; }
.has-mist-color { color: #4A5852; } .has-mist-background-color { background-color: #F4F6F3; color: #12201A; }
.has-white-color { color: #fff; } .has-white-background-color { background-color: #fff; color: #12201A; }
.wf-entry p.has-background { font-family: var(--wf-font-body); font-size: 16px; line-height: 1.6; }

/* ---------- Comments ---------- */
.wf-comments { max-width: 720px; padding-bottom: 72px; }
.wf-comments h2 { font-size: 30px; margin: 0 0 24px; }
.wf-comments .comment-list { list-style: none; margin: 0 0 40px; padding: 0; }
.wf-comments .comment-list ol { list-style: none; padding-left: 28px; }
.wf-comments .comment-body { background: #fff; border: 1px solid var(--wf-line); border-radius: 18px; padding: 20px 22px; margin-bottom: 16px; }
.wf-comments .comment-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; color: var(--wf-muted); margin-bottom: 8px; }
.wf-comments .comment-author img { border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.wf-comments .comment-author .fn { font-weight: 600; color: var(--wf-ink); font-style: normal; }
.wf-comments .comment-metadata a { color: var(--wf-muted); }
.wf-comments .reply a { font-weight: 600; font-size: 14px; }
.wf-comments .comment-form { display: grid; gap: 16px; }
.wf-comments .comment-form p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.wf-comments .comment-form label { font-weight: 600; color: var(--wf-ink); }
.wf-comments .comment-form-cookies-consent { flex-direction: row !important; align-items: center; gap: 10px !important; }
.wf-comments .comment-form-cookies-consent input { width: 22px; height: 22px; min-height: 0; }
.wf-comments .form-submit input { background: var(--wf-accent); color: #fff; border: 0; min-height: 52px; border-radius: 26px; padding: 0 28px; font-weight: 600; cursor: pointer; width: auto; }

/* ---------- Pagination ---------- */
.wf-pagination { margin-top: 48px; }
.wf-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
.wf-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 22px; border: 1px solid var(--wf-line); background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--wf-ink); text-decoration: none; font-weight: 600; }
.wf-pagination .page-numbers.current { background: var(--wf-ink); color: #fff; border-color: var(--wf-ink); }
.wf-post-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; margin-top: 40px; }
.wf-post-nav a { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--wf-line); border-radius: 18px; padding: 18px 20px; text-decoration: none; color: var(--wf-ink); font-weight: 600; }
.wf-post-nav span { font-size: 13px; color: var(--wf-muted); font-weight: 500; }

/* ---------- Destination ---------- */
.wf-dest-hero { position: relative; overflow: hidden; background: #1F4D42; color: #fff; }
.wf-dest-hero__bg { position: absolute; inset: 0; }
.wf-dest-hero__bg img, .wf-dest-hero__bg svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.wf-dest-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,32,26,.72) 0%, rgba(18,32,26,.45) 50%, rgba(18,32,26,.1) 100%); }
.wf-dest-hero__inner { position: relative; padding-top: 48px; padding-bottom: 96px; display: flex; flex-direction: column; gap: 18px; }
.wf-dest-hero .wf-eyebrow { color: #F7C9A3; margin-top: 24px; }
.wf-dest-hero h1 { color: #fff; margin: 0; font-weight: 800; font-size: clamp(56px, 8vw, 112px); line-height: .95; letter-spacing: -3px; }
.wf-dest-hero p { margin: 0; font-size: 20px; max-width: 560px; color: #F1F6F3; }
.wf-facts { margin: -44px 0 0; position: relative; background: #fff; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); padding: 24px 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 20px; box-shadow: 0 10px 30px rgba(18,32,26,.08); }
.wf-facts dt { font-size: 13px; color: var(--wf-muted); }
.wf-facts dd { margin: 0; font-weight: 600; color: var(--wf-ink); }
.wf-itinerary { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 20px; }
.wf-itinerary li { display: flex; flex-direction: column; gap: 10px; border-top: 4px solid var(--wf-accent); padding-top: 18px; }
.wf-itinerary li:last-child { border-top-color: var(--wf-orange); }
.wf-itinerary__when { font-size: 14px; font-weight: 600; color: var(--wf-muted); }
.wf-itinerary h3 { margin: 0; font-size: 22px; }
.wf-itinerary p { margin: 0; font-size: 15px; color: var(--wf-text); }
.wf-empty { background: #fff; border: 1px dashed var(--wf-field); border-radius: var(--wf-radius); padding: 40px; text-align: center; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.wf-empty h3 { margin: 0; font-size: 22px; }
.wf-empty p { margin: 0; color: var(--wf-text); }
[data-filter-item][hidden] { display: none !important; }

/* ---------- Planner ---------- */
.wf-stepper { display: flex; align-items: center; gap: 8px; }
.wf-stepper button { width: 44px; height: 44px; border-radius: 22px; border: 1px solid var(--wf-line); background: var(--wf-bg); color: var(--wf-ink); font-size: 22px; cursor: pointer; line-height: 1; }
.wf-stepper output { min-width: 96px; text-align: center; font-weight: 700; font-size: 18px; color: var(--wf-ink); }
.wf-fieldset { border: 1px solid var(--wf-line); border-radius: 18px; padding: 8px 24px 16px; margin: 0; }
.wf-fieldset legend { padding: 0 8px; font-family: var(--wf-font-display); font-weight: 700; font-size: 20px; color: var(--wf-ink); }
.wf-cost-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 14px 0; border-bottom: 1px solid var(--wf-line-soft); }
.wf-cost-row:last-child { border-bottom: 0; }
.wf-cost-row label { display: flex; flex-direction: column; line-height: 1.35; }
.wf-cost-row label span:first-child { font-weight: 600; color: var(--wf-ink); }
.wf-cost-row label span + span { font-size: 14px; color: var(--wf-muted); }
.wf-cost-row__input { display: flex; align-items: center; gap: 8px; }
.wf-cost-row__input input { width: 120px; font-weight: 600; min-height: 44px; }
.wf-cost-row__unit { font-size: 14px; color: var(--wf-muted); min-width: 40px; }
.wf-summary { background: var(--wf-deep); color: #fff; border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.wf-summary__label { font-size: 14px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #CFE3DC; }
.wf-summary__total { display: block; font-family: var(--wf-font-display); font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -1.5px; }
.wf-summary__line { font-size: 15px; color: #CFE3DC; }
.wf-summary__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wf-summary__stats div { background: rgba(255,255,255,.08); border-radius: 14px; padding: 14px; }
.wf-summary__stats span { display: block; font-size: 13px; color: #CFE3DC; }
.wf-summary__stats strong { font-size: 20px; }
.wf-bar { height: 8px; border-radius: 4px; background: rgba(255,255,255,.12); overflow: hidden; }
.wf-bar > span { display: block; height: 100%; border-radius: 4px; width: 0; transition: width .3s ease; }
.wf-bar--light { height: 10px; background: #E4EBE7; }
.wf-bar--light > span { background: var(--wf-accent); }
.wf-break-row { display: flex; flex-direction: column; gap: 4px; }
.wf-break-row__top { display: flex; justify-content: space-between; font-size: 14px; }
.wf-break-row__top span + span { color: #CFE3DC; }
.wf-check-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 4px 24px; }
.wf-check-list li { border-bottom: 1px solid var(--wf-line-soft); }
.wf-check { display: flex; align-items: center; gap: 14px; min-height: 52px; cursor: pointer; color: var(--wf-ink); }
.wf-check input { width: 22px; height: 22px; min-height: 0; accent-color: var(--wf-accent); margin: 0; flex-shrink: 0; cursor: pointer; }
.wf-check input:checked + span { color: var(--wf-muted); text-decoration: line-through; }
.wf-stage-btn { display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 0 20px; border-radius: 14px; border: 1px solid var(--wf-line); background: #fff; color: var(--wf-ink); font-weight: 600; font-size: 16px; cursor: pointer; text-align: left; width: 100%; }
.wf-stage-btn span + span { font-size: 14px; font-weight: 500; }
.wf-stage-btn[aria-pressed="true"] { border: 2px solid var(--wf-accent); background: var(--wf-tint); color: var(--wf-accent-dark); }
.wf-task-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wf-task-list li { background: #fff; border: 1px solid var(--wf-line); border-radius: 14px; padding: 4px 18px; }
.wf-task-list .wf-check { align-items: flex-start; padding: 12px 0; }
.wf-task-list .wf-check input { margin-top: 2px; }
.wf-task-list .wf-check span { display: flex; flex-direction: column; line-height: 1.45; }
.wf-task-list .wf-check strong { font-weight: 600; }
.wf-task-list .wf-check small { font-size: 14px; color: var(--wf-muted); }
.wf-task-list .wf-check input:checked + span strong { text-decoration: line-through; color: var(--wf-muted); }
.wf-task-list .wf-check input:checked + span { text-decoration: none; }
.wf-jump-card { display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--wf-line); border-radius: 18px; padding: 18px 20px; text-decoration: none; color: var(--wf-ink); }
.wf-jump-card:hover { color: var(--wf-ink); }
.wf-jump-card__icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wf-jump-card strong { font-family: var(--wf-font-display); font-size: 19px; display: block; line-height: 1.3; }
.wf-jump-card small { font-size: 14px; color: var(--wf-muted); }

/* ---------- Gear ---------- */
.wf-kit-bar { background: var(--wf-deep); color: #fff; border-radius: var(--wf-radius); padding: 22px 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.wf-kit-bar h2 { color: #fff; margin: 0; font-size: 22px; font-weight: 700; }
.wf-kit-bar__status { font-size: 14px; color: #CFE3DC; }
.wf-kit-bar__items { flex: 1 1 400px; display: flex; flex-wrap: wrap; gap: 8px; }
.wf-kit-chip { display: inline-flex; align-items: center; gap: 4px; background: rgba(255,255,255,.12); border-radius: 18px; padding: 2px 4px 2px 14px; font-size: 14px; }
.wf-kit-chip button { width: 32px; height: 32px; border-radius: 16px; border: 0; background: transparent; color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.wf-gear-card__media { height: 180px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.wf-gear-card__media img { width: 100%; height: 100%; object-fit: cover; }
.wf-gear-card__media svg { width: 96px; height: 96px; }
.wf-gear-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; }
.wf-gear-card__price { font-weight: 600; color: var(--wf-ink); }
.wf-kit-toggle { min-height: 44px; padding: 0 16px; border-radius: 22px; border: 1.5px solid var(--wf-ink); background: #fff; color: var(--wf-ink); font-weight: 600; font-size: 14px; cursor: pointer; }
.wf-kit-toggle[aria-pressed="true"] { background: var(--wf-accent); border-color: var(--wf-accent); color: #fff; }
.wf-disclosure { margin: 0; font-size: 14px; color: var(--wf-muted); background: #fff; border: 1px solid var(--wf-line); border-radius: 12px; padding: 12px 16px; }
.wf-kit-count { min-width: 24px; height: 24px; border-radius: 12px; background: var(--wf-accent); color: #fff; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }

/* ---------- About ---------- */
.wf-team-card { background: var(--wf-bg); border-radius: var(--wf-radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.wf-team-card img { border-radius: 50%; width: 80px; height: 80px; }
.wf-team-card h3 { margin: 0; font-size: 22px; }
.wf-team-card p { margin: 0; color: var(--wf-text); }
.wf-principle { background: #fff; border: 1px solid var(--wf-line); border-radius: var(--wf-radius); padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.wf-principle h3 { margin: 0; font-size: 21px; }
.wf-principle p { margin: 0; color: var(--wf-text); }
.wf-contact { background: #fff; border: 1px solid var(--wf-line); border-radius: var(--wf-radius-lg); padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.wf-contact h2 { margin: 0; font-size: 32px; letter-spacing: -.6px; }

/* ---------- Illustrations ---------- */
.wf-illus { width: 100%; height: 100%; display: block; }

/* ---------- Small screens (kept last so it overrides the rules above) ---------- */
/* General small-screen spacing and type */
@media (max-width: 760px) {
	body { overflow-x: clip; }
	.wf-section { padding-top: 56px; padding-bottom: 56px; }
	.wf-section--tight { padding-top: 44px; padding-bottom: 44px; }
	.wf-section-head { margin-bottom: 24px; }
	.wf-h2 { letter-spacing: -.6px; }
	.wf-lead { font-size: 17px; }
	.wf-btn { min-height: 48px; padding: 0 22px; }
	.wf-hero { gap: 32px; padding-top: 32px; padding-bottom: 48px; }
	.wf-hero__actions .wf-btn { flex: 1 1 auto; }
	.wf-hero__visual { min-height: 440px; }
	.wf-feature-card { left: 12px; right: 12px; bottom: 12px; padding: 18px; }
	.wf-feature-card h2 { font-size: 21px; }
	.wf-page-head { padding-top: 32px; padding-bottom: 28px; }
	.wf-newsletter__inner { padding-top: 56px; padding-bottom: 56px; gap: 24px; }
	.wf-newsletter .wf-btn { flex: 1 1 100%; }
	.wf-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding-top: 44px; }
	.wf-footer__brand { grid-column: 1 / -1; }
	.wf-region-card__body { padding: 12px 14px 14px; }
	.wf-region-card__title { font-size: 18px; }
	.wf-pills { gap: 6px; }

	/* Single post */
	.wf-post-head { padding: 28px 20px 28px; gap: 16px; }
	.wf-post-head .wf-dek { font-size: 18px; }
	.wf-post-figure__img { border-radius: 16px; }
	.wf-post-body { padding-top: 36px; padding-bottom: 48px; --gap: 32px; }
	.wf-entry { font-size: 18px; line-height: 1.65; }
	.wf-entry h2 { font-size: 27px; margin-top: 36px; }
	.wf-entry h3 { font-size: 22px; }
	.wf-entry blockquote, .wf-entry .wp-block-quote { font-size: 22px; padding-left: 18px; margin: 28px 0; }
	.wf-entry th, .wf-entry td { padding: 12px 14px; }
	.wf-entry .has-background { padding: 18px; }
	.wf-entry ol, .wf-entry ul { padding-left: 1.15em; }
	.alignleft, .alignright { float: none; margin: 0 0 16px; }
	.wf-byline { gap: 12px; }
	.wf-author-box { padding: 20px; }
	.wf-side-card { padding: 20px; }

	/* Destination */
	.wf-dest-hero__inner { padding-top: 28px; padding-bottom: 80px; gap: 14px; }
	.wf-dest-hero h1 { letter-spacing: -2px; }
	.wf-dest-hero p { font-size: 17px; }
	.wf-dest-hero__bg::after { background: linear-gradient(180deg, rgba(18,32,26,.55) 0%, rgba(18,32,26,.7) 100%); }
	.wf-facts { padding: 18px 20px; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -40px; }
	.wf-itinerary { gap: 16px; }

	/* Planner */
	.wf-fieldset { padding: 4px 16px 10px; }
	.wf-cost-row__input input { width: 104px; }
	.wf-summary { padding: 22px; }
	.wf-summary__total { font-size: 44px; }
	.wf-segmented { width: 100%; }
	.wf-segmented .wf-pill { flex: 1 1 0; padding: 0 8px; }
	.wf-stage-btn { padding: 0 16px; }

	/* Gear */
	.wf-kit-bar { padding: 18px 20px; gap: 12px; }
	.wf-kit-bar__items { flex-basis: 100%; }
	.wf-gear-card__media { height: 150px; }

	/* About */
	.wf-contact { padding: 22px; }
	.wf-contact h2 { font-size: 27px; }
	.wf-principle, .wf-team-card { padding: 22px; }

	/* Long post titles: skip the last breadcrumb, the title is right below it */
	.wf-post-head .wf-breadcrumb li[aria-current] { display: none; }
	.wf-region-card__media { aspect-ratio: 16 / 9; }

	/* Gear: two compact cards per row */
	[data-wf-gear] .wf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	[data-wf-gear] .wf-gear-card__media { height: 110px; }
	[data-wf-gear] .wf-gear-card__media svg { width: 64px; height: 64px; }
	[data-wf-gear] .wf-card__body { padding: 14px 14px 16px; gap: 6px; }
	[data-wf-gear] .wf-card__title { font-size: 16px !important; }
	[data-wf-gear] .wf-card__excerpt { font-size: 13px; }
	[data-wf-gear] .wf-gear-card__foot { flex-direction: column; align-items: stretch; }
	[data-wf-gear] .wf-kit-toggle { width: 100%; }
}

/* ---------- Print ---------- */
@media print {
	.wf-header, .wf-footer, .wf-newsletter, .wf-share, .wf-sidebar, .wf-comments { display: none !important; }
	body { background: #fff; }
}
