:root {
	--ffmc-ink: #07131d;
	--ffmc-text: #2f2724;
	--ffmc-muted: #69737d;
	--ffmc-line: #dfe4e8;
	--ffmc-soft-line: #eceff2;
	--ffmc-panel: #fff;
	--ffmc-warm-panel: #fff9f4;
	--ffmc-bg: #f7f1e9;
	--ffmc-star: #e8a600;
	--ffmc-heart: #e85b78;
	--ffmc-memo: #4f91b8;
}

#header,
.l-header,
header[role="banner"] {
	position: relative !important;
}

.ffmc-header-member-slot,
.ffmc-header-member-slot * {
	box-sizing: border-box !important;
	letter-spacing: 0 !important;
}

.ffmc-header-member-slot {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	margin-left: 14px !important;
	z-index: 100 !important;
}

.ffmc-header-member-list-item {
	display: flex !important;
	align-items: center !important;
	margin: 0 0 0 10px !important;
	padding: 0 !important;
	list-style: none !important;
}

.ffmc-header-member-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	min-width: 0 !important;
	height: 38px !important;
	padding: 5px 12px 5px 7px !important;
	border: 1px solid rgba(107, 91, 84, 0.18) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.92) !important;
	box-shadow: none !important;
	color: #4f4642 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
}

.ffmc-header-member-link:hover,
.ffmc-header-member-link:focus-visible {
	border-color: rgba(107, 91, 84, 0.34) !important;
	background: #fff !important;
	color: #2f2724 !important;
	transform: translateY(-1px) !important;
}

.ffmc-header-member-avatar {
	display: inline-grid !important;
	place-items: center !important;
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 28px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
	background: #f1f3f5 !important;
	color: #6f777f !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

.ffmc-header-member-avatar img,
.ffmc-avatar-large img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.ffmc-header-member-avatar svg {
	width: 17px !important;
	height: 17px !important;
	fill: currentColor !important;
}

.ffmc-header-member-slot--mobile {
	display: none !important;
}

.ffmc-header-member-slot--fallback {
	position: absolute !important;
	top: 50% !important;
	right: 20px !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
}

@media (min-width: 961px) {
	.ffmc-header-member-list-item {
		width: 0 !important;
		margin: 0 !important;
	}

	.ffmc-header-member-slot--desktop {
		position: absolute !important;
		top: 50% !important;
		right: clamp(28px, 4vw, 72px) !important;
		margin: 0 !important;
		transform: translateY(-50%) !important;
	}
}

@media (max-width: 960px) {
	.ffmc-header-member-slot--desktop,
	.ffmc-header-member-list-item {
		display: none !important;
	}

	.ffmc-header-member-slot--mobile {
		position: absolute !important;
		top: 50% !important;
		right: 62px !important;
		display: inline-flex !important;
		margin: 0 !important;
		transform: translateY(-50%) !important;
	}

	.ffmc-header-member-slot--mobile .ffmc-header-member-link {
		width: 38px !important;
		height: 38px !important;
		padding: 5px !important;
		border-color: transparent !important;
		background: transparent !important;
	}

	.ffmc-header-member-slot--mobile .ffmc-header-member-label {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
	}

	.ffmc-header-member-slot--mobile .ffmc-header-member-avatar {
		width: 30px !important;
		height: 30px !important;
		flex-basis: 30px !important;
	}
}

html:has(.ffmc-auth-shell),
html:has(.ffmc-dashboard-shell),
body:has(.ffmc-auth-shell),
body:has(.ffmc-dashboard-shell) {
	overflow-x: hidden !important;
	background: var(--ffmc-bg) url("https://futofura.com/wp-content/uploads/2026/04/bg_media.png") center top / 100% auto repeat-y !important;
}

body:has(.ffmc-auth-shell) #content,
body:has(.ffmc-dashboard-shell) #content,
body:has(.ffmc-auth-shell) .l-content,
body:has(.ffmc-dashboard-shell) .l-content,
body:has(.ffmc-auth-shell) .l-mainContent .l-container,
body:has(.ffmc-dashboard-shell) .l-mainContent .l-container,
body:has(.ffmc-auth-shell) .l-mainContent,
body:has(.ffmc-dashboard-shell) .l-mainContent,
body:has(.ffmc-auth-shell) .l-mainContent__inner,
body:has(.ffmc-dashboard-shell) .l-mainContent__inner,
body:has(.ffmc-auth-shell) .post_content,
body:has(.ffmc-dashboard-shell) .post_content {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	overflow-x: hidden !important;
}

body:has(.ffmc-auth-shell) .p-breadcrumb,
body:has(.ffmc-dashboard-shell) .p-breadcrumb,
body:has(.ffmc-auth-shell) #breadcrumb,
body:has(.ffmc-dashboard-shell) #breadcrumb,
body:has(.ffmc-auth-shell) .breadcrumb,
body:has(.ffmc-dashboard-shell) .breadcrumb,
body:has(.ffmc-auth-shell) .c-pageTitle,
body:has(.ffmc-dashboard-shell) .c-pageTitle,
body:has(.ffmc-auth-shell) .p-entry__title,
body:has(.ffmc-dashboard-shell) .p-entry__title,
body:has(.ffmc-auth-shell) .p-articleHead,
body:has(.ffmc-dashboard-shell) .p-articleHead,
body:has(.ffmc-auth-shell) .l-mainContent__inner > h1,
body:has(.ffmc-dashboard-shell) .l-mainContent__inner > h1 {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.ffmc-auth-shell,
.ffmc-dashboard-shell,
.ffmc-auth-shell *,
.ffmc-dashboard-shell *,
.ffmc-auth-shell *::before,
.ffmc-dashboard-shell *::before,
.ffmc-auth-shell *::after,
.ffmc-dashboard-shell *::after,
.ffmc-favorite-actions,
.ffmc-favorite-actions *,
.ffmc-favorite-actions *::before,
.ffmc-favorite-actions *::after {
	box-sizing: border-box !important;
	letter-spacing: 0 !important;
	min-width: 0 !important;
}

.ffmc-auth-shell,
.ffmc-dashboard-shell {
	max-width: 100% !important;
	overflow-x: hidden !important;
	overflow-x: clip !important;
}

body:has(.ffmc-auth-shell) .post_content {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	min-height: calc(100vh - 104px) !important;
	padding-top: 34px !important;
	padding-bottom: 56px !important;
}

.ffmc-auth-shell {
	width: min(100% - 32px, 500px) !important;
	margin: 0 auto !important;
	color: var(--ffmc-ink) !important;
	font-family: inherit !important;
}

.ffmc-auth-shell > .ffmc-title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--ffmc-ink) !important;
	font-size: 25px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	text-align: center !important;
}

.ffmc-auth-shell > .ffmc-title::before,
.ffmc-auth-shell > .ffmc-title::after {
	content: none !important;
	display: none !important;
}

.ffmc-panel--auth {
	overflow: hidden !important;
	border: 1px solid var(--ffmc-line) !important;
	border-radius: 8px !important;
	background: var(--ffmc-panel) !important;
	box-shadow: none !important;
}

.ffmc-social-logins {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 22px 58px 18px !important;
	border-bottom: 1px solid var(--ffmc-soft-line) !important;
	background: var(--ffmc-panel) !important;
}

.ffmc-social-button {
	display: grid !important;
	justify-items: center !important;
	gap: 7px !important;
	min-width: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--ffmc-ink) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

.ffmc-social-mark {
	display: grid !important;
	place-items: center !important;
	width: 58px !important;
	height: 58px !important;
	border: 1px solid var(--ffmc-line) !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
	font-size: 25px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.ffmc-social-button--google .ffmc-social-mark {
	color: #4285f4 !important;
}

.ffmc-social-button--x .ffmc-social-mark {
	color: #000 !important;
}

.ffmc-social-button--amazon .ffmc-social-mark {
	color: #f39a00 !important;
}

.ffmc-auth-main {
	padding: 26px 38px 30px !important;
	background: var(--ffmc-panel) !important;
}

.ffmc-form {
	display: grid !important;
	gap: 16px !important;
	margin: 0 !important;
}

.ffmc-form .ffmc-field,
.ffmc-form label {
	display: grid !important;
	gap: 8px !important;
	margin: 0 !important;
	color: var(--ffmc-ink) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
}

.ffmc-panel--auth input[type="email"],
.ffmc-panel--auth input[type="password"] {
	display: block !important;
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 10px 14px !important;
	border: 1px solid var(--ffmc-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	appearance: none !important;
}

.ffmc-panel--auth input::placeholder {
	color: #9aa4ad !important;
}

.ffmc-panel--auth input[type="email"]:focus,
.ffmc-panel--auth input[type="password"]:focus {
	border-color: var(--ffmc-ink) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(7, 19, 29, 0.08) !important;
}

.ffmc-auth-links {
	margin: -2px 0 0 !important;
	text-align: center !important;
}

.ffmc-auth-links a,
.ffmc-auth-footer a {
	color: var(--ffmc-muted) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
}

.ffmc-check {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	color: var(--ffmc-muted) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

.ffmc-check input {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	accent-color: var(--ffmc-ink) !important;
}

.ffmc-button,
.ffmc-link-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	padding: 0 18px !important;
	border: 1px solid var(--ffmc-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	appearance: none !important;
}

.ffmc-panel--auth .ffmc-button {
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	border: 0 !important;
	background: var(--ffmc-ink) !important;
	color: #fff !important;
	font-size: 15px !important;
}

.ffmc-auth-footer {
	padding: 20px !important;
	border-top: 1px solid var(--ffmc-soft-line) !important;
	background: var(--ffmc-panel) !important;
	text-align: center !important;
}

.ffmc-notice {
	margin: 0 0 16px !important;
	padding: 12px 14px !important;
	border: 1px solid #f1d8d1 !important;
	border-radius: 8px !important;
	background: #fff7f4 !important;
	color: #7a3527 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}

.ffmc-notice--success {
	border-color: #d8eadf !important;
	background: #f6fbf8 !important;
	color: #206c42 !important;
}

body:has(.ffmc-dashboard-shell) .post_content {
	min-height: calc(100vh - 104px) !important;
	padding-top: 28px !important;
	padding-bottom: 56px !important;
}

.ffmc-dashboard-shell {
	display: block !important;
	width: min(100% - 32px, 420px) !important;
	max-width: 420px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(90, 72, 63, 0.18) !important;
	border-radius: 12px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: none !important;
	color: var(--ffmc-text) !important;
	font-family: inherit !important;
}

.ffmc-dashboard-shell * {
	max-width: 100% !important;
}

.ffmc-dashboard-nav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 20px 18px 12px !important;
	overflow: visible !important;
	background: #fff !important;
}

.ffmc-dashboard-nav h2 {
	flex: 0 0 100% !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--ffmc-text) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
}

.ffmc-dashboard-nav h2::before,
.ffmc-dashboard-nav h2::after {
	content: none !important;
	display: none !important;
}

.ffmc-dashboard-nav a {
	flex: 0 1 auto !important;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid #e7ddd6 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #69534c !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
	white-space: normal !important;
}

.ffmc-dashboard-nav a.is-active {
	border-color: var(--ffmc-text) !important;
	background: var(--ffmc-text) !important;
	color: #fff !important;
}

.ffmc-dashboard-main,
.ffmc-dashboard-aside {
	padding-right: 18px !important;
	padding-left: 18px !important;
}

.ffmc-dashboard-toolbar,
.ffmc-dashboard-card,
.ffmc-dashboard-tip,
.ffmc-dashboard-account {
	border-radius: 8px !important;
	box-shadow: none !important;
}

.ffmc-dashboard-toolbar {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 12px !important;
	padding: 14px !important;
	background: var(--ffmc-warm-panel) !important;
}

.ffmc-dashboard-toolbar p,
.ffmc-dashboard-tip p,
.ffmc-dashboard-account p {
	margin: 0 !important;
	color: #7b6c66 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
}

.ffmc-dashboard-toolbar strong,
.ffmc-dashboard-account p {
	display: block !important;
	overflow: hidden !important;
	color: var(--ffmc-text) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.ffmc-dashboard-toolbar .ffmc-inline-form {
	margin: 0 !important;
}

.ffmc-dashboard-toolbar .ffmc-link-button {
	min-height: 34px !important;
	padding: 0 12px !important;
	background: #fff !important;
	font-size: 12px !important;
}

.ffmc-dashboard-card {
	margin: 0 0 12px !important;
	padding: 16px 14px 6px !important;
	background: #fff !important;
}

.ffmc-section-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid #f0e8e2 !important;
}

.ffmc-section-head p {
	margin: 0 0 3px !important;
	color: #8a756d !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

.ffmc-section-head h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--ffmc-text) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

.ffmc-section-head h3::before,
.ffmc-section-head h3::after {
	content: none !important;
	display: none !important;
}

.ffmc-section-head > span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 30px !important;
	height: 28px !important;
	padding: 0 9px !important;
	border-radius: 8px !important;
	background: #f6efe9 !important;
	color: var(--ffmc-text) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.ffmc-favorites {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-favorite-card {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 14px 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-bottom: 1px solid #f0e8e2 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.ffmc-favorite-card:last-child {
	border-bottom: 0 !important;
}

.ffmc-favorite-link {
	display: grid !important;
	grid-template-columns: 22px 54px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	color: inherit !important;
	text-decoration: none !important;
}

.ffmc-favorite-check {
	display: grid !important;
	place-items: center !important;
	width: 22px !important;
	height: 22px !important;
	background: transparent !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.ffmc-favorite-check--interest {
	color: var(--ffmc-star) !important;
}

.ffmc-favorite-check--favorite {
	color: var(--ffmc-heart) !important;
}

.ffmc-favorite-check--recent {
	color: #8a756d !important;
	font-size: 10px !important;
}

.ffmc-favorite-thumb {
	width: 54px !important;
	height: 54px !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background: #f3f4f5 !important;
}

.ffmc-favorite-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.ffmc-favorite-body {
	min-width: 0 !important;
	overflow: hidden !important;
}

.ffmc-favorite-body strong {
	display: block !important;
	overflow: hidden !important;
	margin: 0 0 4px !important;
	color: var(--ffmc-text) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.ffmc-favorite-body span {
	display: block !important;
	color: #8a756d !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.ffmc-favorite-remove-form {
	justify-self: start !important;
	margin: 0 0 0 86px !important;
}

.ffmc-favorite-remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 30px !important;
	padding: 0 12px !important;
	border: 1px solid #e7ddd6 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #69534c !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	cursor: pointer !important;
}

.ffmc-empty {
	margin: 14px 0 8px !important;
	padding: 20px 14px !important;
	border: 1px dashed #e0d5ce !important;
	border-radius: 8px !important;
	background: #fffdfb !important;
	color: #7b6c66 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.7 !important;
	text-align: center !important;
}

.ffmc-dashboard-aside {
	display: block !important;
	padding-bottom: 18px !important;
}

.ffmc-dashboard-tip,
.ffmc-dashboard-account {
	margin: 0 0 12px !important;
	padding: 14px !important;
	background: var(--ffmc-warm-panel) !important;
}

.ffmc-dashboard-tip h3,
.ffmc-dashboard-account h3 {
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--ffmc-text) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
}

.ffmc-dashboard-tip h3::before,
.ffmc-dashboard-tip h3::after,
.ffmc-dashboard-account h3::before,
.ffmc-dashboard-account h3::after {
	content: none !important;
	display: none !important;
}

.ffmc-favorite-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-favorite-actions .ffmc-favorite-form {
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-favorite-actions .ffmc-favorite-button {
	position: relative !important;
	display: inline-grid !important;
	grid-template-columns: 30px minmax(0, 1fr) !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 116px !important;
	min-width: 116px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 10px !important;
	overflow: visible !important;
	border: 1px solid var(--ffmc-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	cursor: pointer !important;
	appearance: none !important;
}

.ffmc-favorite-actions .ffmc-favorite-button:hover,
.ffmc-favorite-actions .ffmc-favorite-button:focus-visible {
	border-color: #cbd3da !important;
	background: #fafbfc !important;
	outline: none !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-active {
	border-color: var(--ffmc-line) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest.is-active {
	background: #fff9df !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite.is-active {
	background: #fff0f4 !important;
}

.ffmc-favorite-actions .ffmc-favorite-icon {
	display: grid !important;
	place-items: center !important;
	width: 30px !important;
	height: 30px !important;
	font-size: 28px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest .ffmc-favorite-icon {
	color: var(--ffmc-star) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite .ffmc-favorite-icon {
	color: var(--ffmc-heart) !important;
}

.ffmc-favorite-actions .ffmc-favorite-label {
	display: block !important;
	overflow: hidden !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling .ffmc-favorite-icon {
	animation: ffmc-star-spark 620ms ease both !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling::before,
.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling::after {
	content: "*" !important;
	position: absolute !important;
	color: var(--ffmc-star) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	pointer-events: none !important;
	animation: ffmc-spark-fly 620ms ease both !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling::before {
	top: -8px !important;
	left: 14px !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling::after {
	right: 12px !important;
	bottom: -8px !important;
	animation-delay: 80ms !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping .ffmc-favorite-icon {
	animation: ffmc-heart-pop 680ms cubic-bezier(0.2, 1.5, 0.4, 1) both !important;
}

@keyframes ffmc-star-spark {
	0% { transform: scale(0.86) rotate(0deg); }
	42% { transform: scale(1.35) rotate(18deg); }
	100% { transform: scale(1) rotate(0deg); }
}

@keyframes ffmc-spark-fly {
	0% { opacity: 0; transform: translate(0, 6px) scale(0.5); }
	35% { opacity: 1; }
	100% { opacity: 0; transform: translate(4px, -12px) scale(1.1); }
}

@keyframes ffmc-heart-pop {
	0% { transform: scale(0.72) rotate(-18deg); }
	45% { transform: scale(1.38) rotate(10deg); }
	72% { transform: scale(0.94) rotate(-5deg); }
	100% { transform: scale(1) rotate(0deg); }
}

.ffmc-spot-favorite {
	display: flex !important;
	justify-content: flex-end !important;
	margin: 18px 0 !important;
}

.ffmc-spot-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	width: 100% !important;
}

.ffmc-memo-button {
	position: relative !important;
	display: inline-grid !important;
	grid-template-columns: 30px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 7px !important;
	width: 166px !important;
	min-width: 166px !important;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	overflow: visible !important;
	border: 1px solid var(--ffmc-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-align: left !important;
	cursor: pointer !important;
	appearance: none !important;
}

.ffmc-memo-button:hover,
.ffmc-memo-button:focus-visible {
	border-color: #cbd3da !important;
	background: #fafbfc !important;
	outline: none !important;
}

.ffmc-memo-button.is-active {
	background: #fff9f4 !important;
}

.ffmc-memo-button-icon {
	display: grid !important;
	place-items: center !important;
	width: 30px !important;
	height: 30px !important;
	color: #c8762e !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.ffmc-memo-button-label {
	display: block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.ffmc-memo-button.is-writing .ffmc-memo-button-icon {
	animation: ffmc-memo-write 650ms ease both !important;
}

@keyframes ffmc-memo-write {
	0% { transform: translateY(0) rotate(0deg); }
	35% { transform: translateY(-3px) rotate(-12deg); }
	70% { transform: translateY(1px) rotate(7deg); }
	100% { transform: translateY(0) rotate(0deg); }
}

html.ffmc-modal-open,
body.ffmc-modal-open {
	overflow: hidden !important;
}

.ffmc-memo-modal[hidden] {
	display: none !important;
}

.ffmc-memo-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: grid !important;
	place-items: center !important;
	padding: 22px !important;
	box-sizing: border-box !important;
}

.ffmc-memo-modal,
.ffmc-memo-modal *,
.ffmc-memo-modal *::before,
.ffmc-memo-modal *::after {
	box-sizing: border-box !important;
	letter-spacing: 0 !important;
}

.ffmc-memo-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(19, 15, 13, 0.46) !important;
}

.ffmc-memo-dialog {
	position: relative !important;
	display: grid !important;
	grid-template-rows: auto auto minmax(0, 1fr) auto !important;
	width: min(100%, 760px) !important;
	max-height: min(92vh, 820px) !important;
	overflow: hidden !important;
	border: 1px solid #eadfd7 !important;
	border-radius: 10px !important;
	background: #fffaf6 !important;
	box-shadow: none !important;
	color: var(--ffmc-text) !important;
	font-family: inherit !important;
}

.ffmc-memo-head {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 40px !important;
	gap: 14px !important;
	padding: 24px 28px 18px !important;
	border-bottom: 1px solid #eee3dc !important;
	background: #fffdfb !important;
}

.ffmc-memo-head h2,
.ffmc-memo-group h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--ffmc-text) !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
}

.ffmc-memo-head h2::before,
.ffmc-memo-head h2::after,
.ffmc-memo-group h3::before,
.ffmc-memo-group h3::after {
	content: none !important;
	display: none !important;
}

.ffmc-memo-head h2 {
	font-size: 24px !important;
}

.ffmc-memo-head p {
	margin: 6px 0 0 !important;
	color: #786a63 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.7 !important;
}

.ffmc-memo-close {
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	border: 1px solid #eadfd7 !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #5d4a43 !important;
	font-size: 24px !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.ffmc-memo-message {
	margin: 14px 28px 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #dde9df !important;
	border-radius: 8px !important;
	background: #fbfffc !important;
	color: var(--ffmc-text) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.6 !important;
}

.ffmc-memo-message--error {
	border-color: #ead7d7 !important;
	background: #fff8f8 !important;
}

.ffmc-memo-body {
	display: grid !important;
	gap: 14px !important;
	min-height: 0 !important;
	padding: 18px 28px 20px !important;
	overflow-y: auto !important;
	overscroll-behavior: contain !important;
}

.ffmc-memo-date,
.ffmc-memo-free {
	display: grid !important;
	gap: 8px !important;
	margin: 0 !important;
	color: var(--ffmc-text) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
}

.ffmc-memo-date input,
.ffmc-memo-free textarea {
	width: 100% !important;
	border: 1px solid #dfe4e8 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font: inherit !important;
	font-weight: 500 !important;
	appearance: none !important;
}

.ffmc-memo-date input {
	max-width: 220px !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
}

.ffmc-memo-free textarea {
	min-height: 112px !important;
	padding: 12px 14px !important;
	resize: vertical !important;
}

.ffmc-memo-free small {
	color: #80746e !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-align: right !important;
}

.ffmc-memo-groups {
	display: grid !important;
	gap: 14px !important;
}

.ffmc-memo-group {
	padding: 16px !important;
	border: 1px solid #eee3dc !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.72) !important;
}

.ffmc-memo-group h3 {
	margin-bottom: 12px !important;
	font-size: 15px !important;
}

.ffmc-memo-tags {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	max-width: 100% !important;
	overflow: visible !important;
}

.ffmc-memo-tag {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	min-height: 44px !important;
	max-width: 100% !important;
	padding: 0 14px !important;
	border: 1px solid #e5ddd8 !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #5f514b !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	cursor: pointer !important;
	appearance: none !important;
}

.ffmc-memo-tag-check {
	display: none !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}

.ffmc-memo-tag.is-selected .ffmc-memo-tag-check {
	display: inline !important;
}

.ffmc-memo-tag--positive.is-selected {
	border-color: #f4b15d !important;
	background: #fff4e5 !important;
	color: #583920 !important;
}

.ffmc-memo-tag--negative.is-selected {
	border-color: #8fb9dd !important;
	background: #eef7ff !important;
	color: #263f55 !important;
}

.ffmc-memo-tag--neutral.is-selected {
	border-color: #bfc8d0 !important;
	background: #f4f7f9 !important;
	color: #26313a !important;
}

.ffmc-memo-confirm {
	padding: 16px !important;
	border: 1px solid #ead7d7 !important;
	border-radius: 8px !important;
	background: #fff8f8 !important;
}

.ffmc-memo-confirm strong,
.ffmc-memo-confirm p {
	display: block !important;
	margin: 0 0 8px !important;
	color: var(--ffmc-text) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.ffmc-memo-confirm div {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-top: 12px !important;
}

.ffmc-memo-foot {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	padding: 16px 28px 22px !important;
	border-top: 1px solid #eee3dc !important;
	background: #fffdfb !important;
}

.ffmc-memo-save,
.ffmc-memo-delete,
.ffmc-memo-secondary,
.ffmc-memo-danger {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 0 18px !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	cursor: pointer !important;
	appearance: none !important;
}

.ffmc-memo-save {
	min-width: 220px !important;
	border: 1px solid #2d2523 !important;
	background: #2d2523 !important;
	color: #fff !important;
}

.ffmc-memo-delete,
.ffmc-memo-secondary {
	border: 1px solid #ded5ce !important;
	background: #fff !important;
	color: #69534c !important;
}

.ffmc-memo-danger {
	border: 1px solid #c85656 !important;
	background: #c85656 !important;
	color: #fff !important;
}

.ffmc-note-card em {
	display: block !important;
	margin-top: 4px !important;
	overflow: hidden !important;
	color: #80746e !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* Layout refinement: keep these overrides after the base rules to beat SWELL. */
.ffmc-auth-shell > .ffmc-title,
.ffmc-dashboard-nav h2,
.ffmc-section-head h3 {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.ffmc-auth-shell--required {
	width: min(100% - 32px, 500px) !important;
	padding-top: 30px !important;
}

.ffmc-panel--required .ffmc-title {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--ffmc-ink) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	text-align: left !important;
}

.ffmc-panel--required .ffmc-auth-copy {
	margin-bottom: 18px !important;
}

@media (min-width: 980px) {
	.ffmc-dashboard-shell {
		display: grid !important;
		grid-template-columns: 220px minmax(0, 1fr) !important;
		gap: 28px !important;
		width: min(100% - 64px, 1120px) !important;
		max-width: 1120px !important;
		min-height: 620px !important;
		margin: 0 auto !important;
		padding: 34px 0 !important;
		overflow: visible !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.ffmc-dashboard-nav {
		position: sticky !important;
		top: 24px !important;
		align-self: start !important;
		display: grid !important;
		gap: 6px !important;
		margin: 0 !important;
		padding: 22px 18px !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.94) !important;
		box-shadow: none !important;
	}

	.ffmc-dashboard-nav h2 {
		margin: 0 0 20px !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--ffmc-ink) !important;
		font-size: 25px !important;
		line-height: 1.3 !important;
	}

	.ffmc-dashboard-nav a {
		display: block !important;
		width: 100% !important;
		min-height: 42px !important;
		margin: 0 !important;
		padding: 8px 10px 8px 18px !important;
		border: 0 !important;
		border-left: 3px solid transparent !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: var(--ffmc-ink) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.7 !important;
		text-decoration: none !important;
	}

	.ffmc-dashboard-nav a:hover,
	.ffmc-dashboard-nav a:focus-visible {
		background: rgba(255, 255, 255, 0.58) !important;
		outline: none !important;
	}

	.ffmc-dashboard-nav a.is-active {
		border-left-color: var(--ffmc-ink) !important;
		background: transparent !important;
		color: var(--ffmc-ink) !important;
		font-weight: 800 !important;
	}

	.ffmc-dashboard-main,
	.ffmc-dashboard-aside {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.ffmc-dashboard-main {
		min-width: 0 !important;
	}

	.ffmc-dashboard-toolbar,
	.ffmc-dashboard-card,
	.ffmc-dashboard-tip,
	.ffmc-dashboard-account {
		border: 0 !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.96) !important;
		box-shadow: none !important;
	}

	.ffmc-dashboard-toolbar {
		margin-bottom: 18px !important;
		padding: 20px 24px !important;
	}

	.ffmc-dashboard-card {
		margin-bottom: 18px !important;
		padding: 24px 28px 12px !important;
	}

	.ffmc-dashboard-tip,
	.ffmc-dashboard-account {
		margin-bottom: 18px !important;
		padding: 22px !important;
	}
}

.ffmc-favorite-actions {
	gap: 12px !important;
}

.ffmc-favorite-actions .ffmc-favorite-button {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: 42px auto !important;
	justify-items: center !important;
	align-items: center !important;
	gap: 4px !important;
	width: 104px !important;
	min-width: 104px !important;
	height: 84px !important;
	min-height: 84px !important;
	padding: 9px 8px 8px !important;
	overflow: visible !important;
	border: 2px solid var(--ffmc-star) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	text-align: center !important;
}

.ffmc-favorite-actions .ffmc-favorite-button:hover,
.ffmc-favorite-actions .ffmc-favorite-button:focus-visible {
	background: #fff !important;
	transform: translateY(-1px) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest.is-active {
	border-color: var(--ffmc-star) !important;
	background: var(--ffmc-star) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite.is-active {
	border-color: var(--ffmc-heart) !important;
	background: var(--ffmc-heart) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest {
	border-color: var(--ffmc-star) !important;
	background: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite {
	border-color: var(--ffmc-heart) !important;
	background: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-icon {
	width: 42px !important;
	height: 42px !important;
	font-size: 40px !important;
	line-height: 1 !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest.is-active .ffmc-favorite-icon {
	color: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite.is-active .ffmc-favorite-icon {
	color: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest:hover,
.ffmc-favorite-actions .ffmc-favorite-button--interest:focus-visible {
	border-color: var(--ffmc-star) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite:hover,
.ffmc-favorite-actions .ffmc-favorite-button--favorite:focus-visible {
	border-color: var(--ffmc-heart) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-active {
	color: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-label {
	display: block !important;
	width: 100% !important;
	overflow: visible !important;
	color: inherit !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

.ffmc-spot-actions {
	align-items: flex-start !important;
	gap: 12px !important;
}

.ffmc-spot-member-actions {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-spot-member-actions--hero {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: auto !important;
	margin: 0 12px !important;
	clear: both !important;
	text-align: left !important;
}

.ffmc-spot-member-actions--hero .ffmc-spot-actions {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: auto !important;
	gap: 6px !important;
}

.ffmc-spot-member-actions--hero .ffmc-favorite-actions {
	flex-wrap: nowrap !important;
	gap: 6px !important;
}

.ffmc-spot-member-actions--hero .ffmc-favorite-actions .ffmc-favorite-button,
.ffmc-spot-member-actions--hero .ffmc-memo-button {
	grid-template-columns: 1fr !important;
	grid-template-rows: 1fr !important;
	place-items: center !important;
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	padding: 0 !important;
	border-width: 2px !important;
	border-radius: 8px !important;
}

.ffmc-spot-member-actions--hero .ffmc-favorite-actions .ffmc-favorite-icon,
.ffmc-spot-member-actions--hero .ffmc-memo-button-icon {
	width: auto !important;
	height: auto !important;
	font-size: 25px !important;
	line-height: 1 !important;
}

.ffmc-spot-member-actions--hero .ffmc-favorite-label,
.ffmc-spot-member-actions--hero .ffmc-memo-button-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

.spot-map {
	position: relative !important;
}

.ffmc-spot-member-actions--map {
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 18px 0 26px !important;
	padding: 0 !important;
	clear: both !important;
	transform: none !important;
}

.ffmc-spot-member-actions--map .ffmc-spot-actions {
	justify-content: center !important;
	width: auto !important;
}

.ffmc-spot-member-actions--map .ffmc-memo-button {
	border-width: 2px !important;
	border-color: var(--ffmc-line) !important;
}

.ffmc-memo-button {
	grid-template-columns: 1fr !important;
	grid-template-rows: 34px auto !important;
	justify-items: center !important;
	gap: 4px !important;
	width: 126px !important;
	min-width: 126px !important;
	height: 84px !important;
	min-height: 84px !important;
	padding: 10px 8px 8px !important;
	border-color: #e1e4e7 !important;
	background: #fff !important;
	text-align: center !important;
}

.ffmc-memo-button.is-active {
	border-color: #ead4bd !important;
	background: #fff3e8 !important;
}

.ffmc-memo-button-icon {
	width: 34px !important;
	height: 34px !important;
	font-size: 28px !important;
}

.ffmc-memo-button-label {
	overflow: visible !important;
	font-size: 11px !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

@media (max-width: 760px) {
	html:has(.ffmc-auth-shell),
	html:has(.ffmc-dashboard-shell),
body:has(.ffmc-auth-shell),
body:has(.ffmc-dashboard-shell) {
		background-size: 100% auto !important;
	}

	body:has(.ffmc-auth-shell) .post_content,
	body:has(.ffmc-dashboard-shell) .post_content {
		min-height: calc(100vh - 80px) !important;
		padding-top: 24px !important;
		padding-bottom: 40px !important;
	}

	.ffmc-auth-shell,
	.ffmc-dashboard-shell {
		width: min(100% - 24px, 420px) !important;
	}

	.ffmc-auth-main {
		padding: 24px 24px 28px !important;
	}

	.ffmc-social-logins {
		gap: 10px !important;
		padding: 20px 30px 18px !important;
	}

	.ffmc-social-mark {
		width: 54px !important;
		height: 54px !important;
	}

	.ffmc-favorite-actions {
		gap: 8px !important;
	}

	.ffmc-favorite-actions .ffmc-favorite-button {
		width: 108px !important;
		min-width: 108px !important;
	}

	.ffmc-spot-actions {
		justify-content: center !important;
	}

	.ffmc-spot-member-actions--hero {
		margin: 8px 0 0 !important;
	}

	.ffmc-spot-member-actions--hero .ffmc-spot-actions,
	.ffmc-spot-member-actions--hero .ffmc-favorite-actions {
		justify-content: flex-start !important;
	}

	.ffmc-spot-member-actions--map {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 14px 0 22px !important;
	}

	.ffmc-spot-member-actions--map .ffmc-spot-actions {
		justify-content: center !important;
	}

	.ffmc-memo-button {
		width: 154px !important;
		min-width: 154px !important;
	}

	.ffmc-memo-modal {
		padding: 12px !important;
	}

	.ffmc-memo-dialog {
		max-height: 94vh !important;
		border-radius: 8px !important;
	}

	.ffmc-memo-head,
	.ffmc-memo-body,
	.ffmc-memo-foot {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.ffmc-memo-head h2 {
		font-size: 21px !important;
	}

	.ffmc-memo-foot {
		display: grid !important;
	}

	.ffmc-memo-save,
	.ffmc-memo-delete {
		width: 100% !important;
		min-width: 0 !important;
	}
}

/* Member dashboard and memo refinements. */
@media (min-width: 980px) {
	.ffmc-dashboard-nav {
		padding: 22px 16px !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.94) !important;
	}

	.ffmc-dashboard-nav h2 {
		padding: 0 8px !important;
	}
}

.ffmc-section-head p {
	display: none !important;
}

.ffmc-account-list {
	display: grid !important;
	gap: 14px !important;
	padding: 18px 0 !important;
}

.ffmc-account-list > div {
	display: grid !important;
	gap: 4px !important;
	padding: 14px 0 !important;
	border-bottom: 1px solid #f0e8e2 !important;
}

.ffmc-account-list span {
	color: #7b6c66 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.ffmc-account-list strong {
	color: var(--ffmc-ink) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	word-break: break-all !important;
}

.ffmc-account-logout {
	margin: 8px 0 0 !important;
}

.ffmc-account-overview {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 18px 0 0 !important;
	padding: 18px !important;
	border: 1px solid #e7d8ce !important;
	border-radius: 8px !important;
	background: #f8f1ec !important;
	box-shadow: none !important;
}

.ffmc-account-overview-main {
	display: grid !important;
	gap: 4px !important;
	min-width: 0 !important;
}

.ffmc-account-overview-main span {
	color: #7b6c66 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
}

.ffmc-account-overview-main strong {
	color: var(--ffmc-ink) !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	line-height: 1.45 !important;
	word-break: break-all !important;
}

.ffmc-account-overview-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px !important;
	margin-top: 4px !important;
}

.ffmc-account-overview-meta em {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 28px !important;
	padding: 0 10px !important;
	border-radius: 999px !important;
	background: #fffdfb !important;
	color: #665852 !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

.ffmc-account-forms {
	display: grid !important;
	gap: 12px !important;
	margin-top: 18px !important;
}

.ffmc-account-form {
	display: grid !important;
	gap: 14px !important;
	margin: 0 !important;
	padding: 18px 0 20px !important;
	border: 0 !important;
	border-bottom: 1px solid #f0e8e2 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.ffmc-account-form:last-child {
	border-bottom: 0 !important;
}

.ffmc-account-form--profile {
	padding: 0 !important;
	border-bottom: 0 !important;
}

.ffmc-account-form h4 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--ffmc-ink) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
}

.ffmc-account-form h4::before,
.ffmc-account-form h4::after {
	content: none !important;
	display: none !important;
}

.ffmc-account-help {
	margin: -4px 0 0 !important;
	color: #726864 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.7 !important;
}

.ffmc-account-current {
	display: grid !important;
	gap: 3px !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
	background: #f8f1ec !important;
}

.ffmc-account-current span {
	color: #7b6c66 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.ffmc-account-current strong {
	color: var(--ffmc-ink) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	word-break: break-all !important;
}

.ffmc-account-toggle {
	display: block !important;
	margin: 0 !important;
	border: 1px solid #e7d8ce !important;
	border-radius: 8px !important;
	background: #fffdfb !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.ffmc-account-toggle summary {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	min-height: 66px !important;
	padding: 12px 18px !important;
	border: 0 !important;
	background: #f8f1ec !important;
	color: var(--ffmc-ink) !important;
	font-weight: 900 !important;
	line-height: 1.45 !important;
	cursor: pointer !important;
	list-style: none !important;
}

.ffmc-account-toggle summary > span {
	display: grid !important;
	gap: 4px !important;
	min-width: 0 !important;
}

.ffmc-account-toggle summary strong,
.ffmc-account-toggle summary small {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	line-height: 1.45 !important;
}

.ffmc-account-toggle summary strong {
	color: var(--ffmc-ink) !important;
	font-size: 15px !important;
	font-weight: 900 !important;
}

.ffmc-account-toggle summary small {
	color: #776862 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

.ffmc-account-toggle summary::-webkit-details-marker {
	display: none !important;
}

.ffmc-account-toggle summary::before {
	content: none !important;
	display: none !important;
}

.ffmc-account-toggle summary::before,
.ffmc-account-toggle summary::after {
	border: 0 !important;
	background: transparent !important;
}

.ffmc-account-toggle summary::after {
	content: "＋" !important;
	display: inline-grid !important;
	place-items: center !important;
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 28px !important;
	border: 1px solid #d8c7bb !important;
	border-radius: 50% !important;
	color: #5f514b !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.ffmc-account-toggle[open] summary {
	border-bottom: 1px solid #d8c7bb !important;
	background: #eadfd7 !important;
}

.ffmc-account-toggle[open] summary::after {
	content: "−" !important;
	background: #fffdfb !important;
}

.ffmc-account-toggle-body {
	display: grid !important;
	gap: 14px !important;
	padding: 16px 18px 18px !important;
	background: #fffdfb !important;
	box-shadow: inset 3px 0 0 #eadfd7 !important;
}

.ffmc-account-toggle-body .ffmc-account-form {
	padding: 0 !important;
	border-bottom: 0 !important;
}

.ffmc-dashboard-card--account .ffmc-field {
	gap: 7px !important;
	margin: 0 !important;
}

.ffmc-dashboard-card--account .ffmc-field span {
	color: var(--ffmc-ink) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
}

.ffmc-dashboard-card--account input[type="text"],
.ffmc-dashboard-card--account input[type="email"],
.ffmc-dashboard-card--account input[type="password"],
.ffmc-dashboard-card--account input[type="file"] {
	width: 100% !important;
	min-height: 46px !important;
	padding: 9px 13px !important;
	border: 1px solid #dfe4e8 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	appearance: none !important;
}

.ffmc-dashboard-card--account input:focus {
	border-color: #9aa7b1 !important;
	outline: 3px solid rgba(7, 19, 29, 0.08) !important;
}

.ffmc-avatar-editor {
	display: grid !important;
	gap: 16px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.ffmc-avatar-current {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.ffmc-avatar-large {
	display: inline-grid !important;
	place-items: center !important;
	flex: 0 0 72px !important;
	width: 72px !important;
	height: 72px !important;
	overflow: hidden !important;
	border-radius: 50% !important;
	background: #f1f3f5 !important;
	color: #6f777f !important;
	font-size: 26px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

.ffmc-avatar-current strong {
	display: block !important;
	margin-bottom: 3px !important;
	color: var(--ffmc-ink) !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1.4 !important;
}

.ffmc-avatar-current p {
	margin: 0 !important;
	color: #756b66 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.6 !important;
}

.ffmc-avatar-options {
	display: grid !important;
	gap: 12px !important;
}

.ffmc-avatar-option {
	display: inline-flex !important;
	align-items: center !important;
	gap: 9px !important;
	width: fit-content !important;
	max-width: 100% !important;
	margin: 0 !important;
	color: #3a302d !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
}

.ffmc-avatar-option input {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: var(--ffmc-ink) !important;
}

.ffmc-avatar-presets {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	padding-left: 25px !important;
}

.ffmc-avatar-preset {
	position: relative !important;
	display: block !important;
	width: 72px !important;
	height: 72px !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.ffmc-avatar-preset input {
	position: absolute !important;
	inset: auto 4px 4px auto !important;
	z-index: 2 !important;
	width: 17px !important;
	height: 17px !important;
	margin: 0 !important;
	accent-color: var(--ffmc-ink) !important;
}

.ffmc-avatar-preset img {
	display: block !important;
	width: 72px !important;
	height: 72px !important;
	border: 2px solid #eee4dc !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	background: #fff !important;
}

.ffmc-avatar-preset:has(input:checked) img {
	border-color: var(--ffmc-ink) !important;
}

.ffmc-avatar-cropper {
	display: grid !important;
	gap: 10px !important;
	padding: 12px !important;
	border: 1px solid #eee4dc !important;
	border-radius: 8px !important;
	background: #fff !important;
}

.ffmc-avatar-cropper[hidden] {
	display: none !important;
}

.ffmc-avatar-crop-preview {
	width: 150px !important;
	height: 150px !important;
	margin: 0 auto 4px !important;
	overflow: hidden !important;
	border: 2px solid #2f2724 !important;
	border-radius: 50% !important;
	background-color: #f7f1e9 !important;
	background-repeat: no-repeat !important;
}

.ffmc-avatar-cropper label {
	display: grid !important;
	grid-template-columns: 88px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 10px !important;
	color: #4d423e !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

.ffmc-avatar-cropper input[type="range"] {
	width: 100% !important;
	accent-color: var(--ffmc-ink) !important;
}

@media (max-width: 760px) {
	.ffmc-account-overview {
		align-items: flex-start !important;
		padding: 14px !important;
	}

	.ffmc-account-overview-main strong {
		font-size: 15px !important;
	}

	.ffmc-account-toggle summary {
		min-height: 54px !important;
		padding: 0 14px !important;
		font-size: 14px !important;
	}

	.ffmc-account-toggle-body {
		padding: 14px !important;
	}

	.ffmc-avatar-current {
		align-items: flex-start !important;
	}

	.ffmc-avatar-large {
		width: 62px !important;
		height: 62px !important;
		flex-basis: 62px !important;
	}

	.ffmc-avatar-presets {
		padding-left: 0 !important;
	}
}

.ffmc-favorite-card {
	gap: 12px !important;
	padding: 18px 0 !important;
}

.ffmc-favorite-link {
	grid-template-columns: 28px 92px minmax(0, 1fr) !important;
	gap: 14px !important;
	align-items: center !important;
}

.ffmc-favorite-thumb {
	width: 92px !important;
	height: 70px !important;
	border-radius: 8px !important;
}

.ffmc-favorite-thumb--empty {
	display: block !important;
	background: #f2ede8 !important;
}

.ffmc-favorite-body strong {
	display: block !important;
	overflow: visible !important;
	color: var(--ffmc-ink) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	text-overflow: clip !important;
	white-space: normal !important;
	word-break: keep-all !important;
	overflow-wrap: anywhere !important;
}

.ffmc-favorite-body span {
	margin-top: 4px !important;
	font-size: 13px !important;
}

.ffmc-favorite-card-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	margin-left: 134px !important;
}

.ffmc-favorite-card-actions .ffmc-memo-button {
	width: auto !important;
	min-width: 150px !important;
	height: 38px !important;
	min-height: 38px !important;
	grid-template-columns: 22px auto !important;
	grid-template-rows: 1fr !important;
	justify-content: center !important;
	padding: 0 13px !important;
}

.ffmc-favorite-card-actions .ffmc-memo-button-icon {
	width: 22px !important;
	height: 22px !important;
	font-size: 18px !important;
}

.ffmc-favorite-card-actions .ffmc-memo-button-label {
	white-space: nowrap !important;
}

.ffmc-favorite-card-actions .ffmc-favorite-remove-form {
	margin: 0 !important;
}

.ffmc-favorite-remove {
	min-height: 38px !important;
	padding: 0 14px !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping {
	overflow: visible !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping::before,
.ffmc-favorite-actions .ffmc-favorite-button.is-popping::after {
	content: "♥" !important;
	position: absolute !important;
	left: 50% !important;
	top: 28px !important;
	color: var(--ffmc-heart) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	pointer-events: none !important;
	animation: ffmc-heart-float 720ms ease-out both !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping::before {
	margin-left: -26px !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping::after {
	margin-left: 18px !important;
	animation-delay: 70ms !important;
}

@keyframes ffmc-heart-float {
	0% { opacity: 0; transform: translateY(8px) scale(0.7) rotate(-12deg); }
	30% { opacity: 1; transform: translateY(-2px) scale(1); }
	100% { opacity: 0; transform: translateY(-30px) scale(1.25) rotate(14deg); }
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping .ffmc-favorite-icon {
	animation: ffmc-heart-bounce 720ms cubic-bezier(0.2, 1.35, 0.32, 1) both !important;
}

@keyframes ffmc-heart-bounce {
	0% { transform: scale(0.84); }
	35% { transform: scale(1.28); }
	58% { transform: scale(0.92); }
	78% { transform: scale(1.08); }
	100% { transform: scale(1); }
}

.ffmc-memo-dialog {
	width: min(100%, 820px) !important;
	max-height: calc(100vh - 24px) !important;
	max-height: calc(100dvh - 24px) !important;
}

.ffmc-memo-head {
	padding-top: 18px !important;
	padding-bottom: 14px !important;
}

.ffmc-memo-head h2 {
	font-size: 23px !important;
}

.ffmc-memo-head p {
	margin-top: 4px !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

.ffmc-memo-body {
	gap: 10px !important;
	min-height: 0 !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	overflow-y: auto !important;
}

.ffmc-memo-group {
	padding: 12px 14px !important;
}

.ffmc-memo-group h3 {
	margin-bottom: 8px !important;
	font-size: 15px !important;
}

.ffmc-memo-sentiment-blocks {
	display: grid !important;
	gap: 8px !important;
}

.ffmc-memo-sentiment {
	display: grid !important;
	gap: 6px !important;
}

.ffmc-memo-sentiment p {
	margin: 0 !important;
	color: #806f68 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

.ffmc-memo-sentiment--positive p {
	color: #a05c17 !important;
}

.ffmc-memo-sentiment--negative p {
	color: #416c92 !important;
}

.ffmc-memo-tags {
	gap: 6px !important;
}

.ffmc-memo-tag {
	min-height: 34px !important;
	padding: 0 11px !important;
	font-size: 12px !important;
}

.ffmc-memo-line-note {
	display: block !important;
	width: 100% !important;
	height: 38px !important;
	min-height: 38px !important;
	margin-top: 10px !important;
	padding: 8px 11px !important;
	border: 1px solid #e3ded9 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ffmc-ink) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

.ffmc-memo-date input {
	min-height: 40px !important;
}

.ffmc-memo-free textarea {
	min-height: 86px !important;
}

.ffmc-memo-foot {
	position: static !important;
	bottom: 0 !important;
	z-index: 2 !important;
	padding-top: 12px !important;
	padding-bottom: 14px !important;
	background: #fffdfb !important;
}

@media (max-width: 760px) {
	.ffmc-favorite-link {
		grid-template-columns: 24px 74px minmax(0, 1fr) !important;
		gap: 10px !important;
	}

	.ffmc-favorite-thumb {
		width: 74px !important;
		height: 58px !important;
	}

	.ffmc-favorite-card-actions {
		margin-left: 108px !important;
	}
}

@media (min-width: 761px) and (max-width: 979px) {
	body:has(.ffmc-dashboard-shell) .post_content {
		padding-top: 28px !important;
	}

	.ffmc-dashboard-shell {
		display: grid !important;
		grid-template-columns: 190px minmax(0, 1fr) !important;
		gap: 18px !important;
		width: min(100% - 32px, 900px) !important;
		max-width: 900px !important;
		overflow: visible !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}

	.ffmc-dashboard-nav {
		align-self: start !important;
		display: grid !important;
		gap: 6px !important;
		padding: 18px 14px !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.94) !important;
	}

	.ffmc-dashboard-nav h2 {
		margin-bottom: 12px !important;
		font-size: 22px !important;
	}

	.ffmc-dashboard-nav a {
		border: 0 !important;
		border-left: 3px solid transparent !important;
		border-radius: 0 !important;
		background: transparent !important;
		font-size: 14px !important;
	}

	.ffmc-dashboard-nav a.is-active {
		border-left-color: var(--ffmc-ink) !important;
		background: transparent !important;
		color: var(--ffmc-ink) !important;
	}

	.ffmc-dashboard-main {
		min-width: 0 !important;
		padding: 0 !important;
	}

	.ffmc-dashboard-card {
		padding: 22px 24px 12px !important;
	}
}

@media (max-width: 760px) {
	.ffmc-dashboard-shell {
		display: block !important;
		overflow: hidden !important;
		border-radius: 10px !important;
		background: rgba(255, 255, 255, 0.95) !important;
	}

	.ffmc-dashboard-nav {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 7px !important;
		padding: 18px 16px 10px !important;
		background: #fff !important;
	}

	.ffmc-dashboard-nav h2 {
		flex: 0 0 100% !important;
		font-size: 22px !important;
	}

	.ffmc-dashboard-nav a {
		border-radius: 999px !important;
		font-size: 12px !important;
	}

	.ffmc-dashboard-main {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}

	.ffmc-dashboard-card {
		padding: 18px 16px 8px !important;
	}

	.ffmc-favorite-card-actions {
		margin-left: 0 !important;
		padding-left: 34px !important;
	}

	.ffmc-favorite-card-actions .ffmc-memo-button {
		min-width: 142px !important;
	}

	.ffmc-memo-dialog {
		max-height: calc(100vh - 16px) !important;
		max-height: calc(100dvh - 16px) !important;
	}

	.ffmc-memo-body {
		padding-bottom: 14px !important;
	}

	.ffmc-memo-tag {
		max-width: 100% !important;
	}
}

/* Final spot action icon polish. Keep this after older spot button rules. */
.ffmc-favorite-actions .ffmc-favorite-button,
.ffmc-memo-button {
	border-width: 1.5px !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest {
	border-color: var(--ffmc-star) !important;
	background: #fff !important;
	color: var(--ffmc-star) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite {
	border-color: var(--ffmc-heart) !important;
	background: #fff !important;
	color: var(--ffmc-heart) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--interest.is-active {
	border-color: var(--ffmc-star) !important;
	background: var(--ffmc-star) !important;
	color: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--favorite.is-active {
	border-color: var(--ffmc-heart) !important;
	background: var(--ffmc-heart) !important;
	color: #fff !important;
}

.ffmc-favorite-actions .ffmc-favorite-icon,
.ffmc-memo-button-icon {
	display: grid !important;
	place-items: center !important;
	color: inherit !important;
}

.ffmc-favorite-svg,
.ffmc-memo-svg {
	display: block !important;
	width: 1em !important;
	height: 1em !important;
	overflow: visible !important;
}

.ffmc-favorite-svg path,
.ffmc-memo-svg path {
	vector-effect: non-scaling-stroke !important;
	stroke: currentColor !important;
	stroke-width: 2.15 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.ffmc-favorite-actions .ffmc-favorite-button:not(.is-active) .ffmc-favorite-svg path,
.ffmc-memo-button .ffmc-memo-svg path {
	fill: none !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-active .ffmc-favorite-svg path {
	fill: currentColor !important;
}

.ffmc-memo-button {
	border-color: var(--ffmc-memo) !important;
	background: #fff !important;
	color: var(--ffmc-memo) !important;
}

.ffmc-memo-button.is-active,
.ffmc-memo-button:hover,
.ffmc-memo-button:focus-visible {
	border-color: var(--ffmc-memo) !important;
	background: var(--ffmc-memo) !important;
	color: #fff !important;
}

.ffmc-spot-member-actions--hero .ffmc-favorite-actions .ffmc-favorite-button,
.ffmc-spot-member-actions--hero .ffmc-memo-button {
	border-width: 1.5px !important;
}

.ffmc-spot-member-actions--hero .ffmc-favorite-svg,
.ffmc-spot-member-actions--hero .ffmc-memo-svg {
	width: 24px !important;
	height: 24px !important;
}

.ff-card-head {
	position: relative !important;
}

.ff-card {
	position: relative !important;
}

.ff-card-head > .ff-card-link {
	padding-right: 128px !important;
}

.ffmc-spot-member-actions--search {
	position: absolute !important;
	top: 24px !important;
	right: 24px !important;
	z-index: 6 !important;
	display: inline-flex !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-spot-member-actions--search .ffmc-spot-actions,
.ffmc-spot-member-actions--search .ffmc-favorite-actions {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 6px !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-spot-member-actions--search .ffmc-favorite-actions .ffmc-favorite-button,
.ffmc-spot-member-actions--search .ffmc-memo-button {
	grid-template-columns: 1fr !important;
	grid-template-rows: 1fr !important;
	place-items: center !important;
	width: 34px !important;
	min-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	border-width: 1.5px !important;
	border-radius: 8px !important;
}

.ffmc-spot-member-actions--search .ffmc-favorite-icon,
.ffmc-spot-member-actions--search .ffmc-memo-button-icon {
	width: auto !important;
	height: auto !important;
	font-size: 22px !important;
	line-height: 1 !important;
}

.ffmc-spot-member-actions--search .ffmc-favorite-svg,
.ffmc-spot-member-actions--search .ffmc-memo-svg {
	width: 21px !important;
	height: 21px !important;
}

.ffmc-spot-member-actions--search .ffmc-favorite-label,
.ffmc-spot-member-actions--search .ffmc-memo-button-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

.ffmc-spot-member-actions--map .ffmc-memo-button {
	border-width: 1.5px !important;
	border-color: var(--ffmc-memo) !important;
}

@media (max-width: 760px) {
	.ff-card-head > .ff-card-link {
		padding-right: 116px !important;
	}

	.ffmc-spot-member-actions--search {
		top: 14px !important;
		right: 14px !important;
	}

	.ffmc-spot-member-actions--search .ffmc-favorite-actions .ffmc-favorite-button,
	.ffmc-spot-member-actions--search .ffmc-memo-button {
		width: 32px !important;
		min-width: 32px !important;
		height: 32px !important;
		min-height: 32px !important;
	}

	.ffmc-spot-member-actions--search .ffmc-favorite-svg,
	.ffmc-spot-member-actions--search .ffmc-memo-svg {
		width: 19px !important;
		height: 19px !important;
	}
}

/* Media article favorite button. Keep this block last so SWELL/media CSS does not flatten it. */
.ffmc-favorite-actions .ffmc-favorite-button--media_favorite {
	border-color: var(--ffmc-heart) !important;
	background: #fff !important;
	color: var(--ffmc-heart) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button--media_favorite.is-active {
	border-color: var(--ffmc-heart) !important;
	background: var(--ffmc-heart) !important;
	color: #fff !important;
}

.ffmc-media-favorite {
	display: flex !important;
	width: auto !important;
	max-width: 100% !important;
}

.ffmc-media-favorite .ffmc-favorite-actions {
	display: inline-flex !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-media-favorite .ffmc-favorite-form {
	margin: 0 !important;
}

.ffmc-media-favorite--archive {
	position: absolute !important;
	top: calc(125cqw - 54px) !important;
	right: 10px !important;
	bottom: auto !important;
	z-index: 5 !important;
}

.ffmc-media-favorite--single {
	justify-content: flex-end !important;
	margin-top: -66px !important;
	padding-right: 12px !important;
}

.ffmc-media-favorite--archive .ffmc-favorite-button,
.ffmc-media-favorite--single .ffmc-favorite-button {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: 1fr !important;
	place-items: center !important;
	width: 42px !important;
	min-width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	border-width: 1.5px !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

.ffmc-media-favorite--archive .ffmc-favorite-icon,
.ffmc-media-favorite--single .ffmc-favorite-icon {
	width: auto !important;
	height: auto !important;
	color: inherit !important;
}

.ffmc-media-favorite--archive .ffmc-favorite-svg,
.ffmc-media-favorite--single .ffmc-favorite-svg {
	width: 25px !important;
	height: 25px !important;
	padding-right: 0 !important;
}

.ffmc-media-favorite--archive .ffmc-favorite-label,
.ffmc-media-favorite--single .ffmc-favorite-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

.ffmc-favorites--media_favorite .ffmc-favorite-check {
	color: var(--ffmc-heart) !important;
}

@media (max-width: 640px) {
	.ffmc-media-favorite--archive {
		top: calc(125cqw - 48px) !important;
		right: 8px !important;
		bottom: auto !important;
	}

	.ffmc-media-favorite--archive .ffmc-favorite-button,
	.ffmc-media-favorite--single .ffmc-favorite-button {
		width: 38px !important;
		min-width: 38px !important;
		height: 38px !important;
		min-height: 38px !important;
	}

	.ffmc-media-favorite--archive .ffmc-favorite-svg,
	.ffmc-media-favorite--single .ffmc-favorite-svg {
		width: 22px !important;
		height: 22px !important;
		padding-right: 0 !important;
	}
}

/* Ajax placement and tap effects hardening. */
.ff-card-head {
	position: relative !important;
}

.ff-card-head .ffmc-spot-member-actions--search {
	top: 0 !important;
	right: 0 !important;
}

.ff-card > .ffmc-spot-member-actions--search {
	top: 24px !important;
	right: 24px !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-error {
	animation: ffmc-button-error 420ms ease both !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling {
	overflow: visible !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling::before,
.ffmc-favorite-actions .ffmc-favorite-button.is-sparkling::after {
	content: "\2726" !important;
	text-shadow: 0 0 10px rgba(232, 166, 0, 0.32) !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping::before,
.ffmc-favorite-actions .ffmc-favorite-button.is-popping::after {
	content: "\2665" !important;
}

.ffmc-favorite-actions .ffmc-favorite-button.is-popping .ffmc-favorite-icon {
	animation: ffmc-heart-twirl 680ms cubic-bezier(0.2, 1.35, 0.32, 1) both !important;
}

.ffmc-media-favorite--archive,
.ffmc-media-favorite--single {
	pointer-events: auto !important;
}

.media-card-has-favorite {
	container-type: inline-size !important;
}

@supports not (width: 1cqw) {
	.ffmc-media-favorite--archive {
		top: 238px !important;
	}
}

@media (max-width: 920px) {
	.ffmc-media-favorite--single {
		margin-top: 18px !important;
		padding-right: 0 !important;
	}
}

.ffmc-media-favorite--archive .ffmc-favorite-actions,
.ffmc-media-favorite--single .ffmc-favorite-actions {
	pointer-events: auto !important;
}

@keyframes ffmc-heart-twirl {
	0% { transform: scale(0.82) rotate(0deg); }
	34% { transform: scale(1.22) rotate(-8deg); }
	62% { transform: scale(0.96) rotate(7deg); }
	100% { transform: scale(1) rotate(0deg); }
}

@keyframes ffmc-button-error {
	0%, 100% { transform: translateX(0); }
	24% { transform: translateX(-3px); }
	48% { transform: translateX(3px); }
	72% { transform: translateX(-2px); }
}

/* Final media/memo positioning pass. */
.ffmc-media-favorite--single {
	justify-content: flex-end !important;
	margin-top: -112px !important;
	margin-bottom: 56px !important;
	padding-right: clamp(130px, 13vw, 230px) !important;
}

.ffmc-memo-modal {
	align-items: center !important;
	padding: 28px !important;
}

.ffmc-memo-dialog {
	grid-template-rows: auto auto minmax(0, 1fr) auto !important;
	max-height: calc(100vh - 56px) !important;
	max-height: calc(100dvh - 56px) !important;
	overflow: hidden !important;
}

.ffmc-memo-body {
	min-height: 0 !important;
	padding-bottom: 28px !important;
	overflow-y: auto !important;
}

.ffmc-memo-foot {
	flex-shrink: 0 !important;
	min-height: 88px !important;
	padding: 16px 28px 20px !important;
	background: #fffdfb !important;
}

.ffmc-memo-save,
.ffmc-memo-delete {
	position: relative !important;
	bottom: auto !important;
	transform: none !important;
}

@media (max-width: 920px) {
	.ffmc-media-favorite--single {
		justify-content: flex-start !important;
		margin-top: 16px !important;
		margin-bottom: 0 !important;
		padding-right: 0 !important;
	}
}

@media (max-width: 640px) {
	.ffmc-memo-modal {
		padding: 12px !important;
	}

	.ffmc-memo-dialog {
		max-height: calc(100vh - 24px) !important;
		max-height: calc(100dvh - 24px) !important;
	}

	.ffmc-memo-foot {
		display: grid !important;
		grid-template-columns: 1fr !important;
		min-height: 132px !important;
		padding: 12px !important;
	}

	.ffmc-memo-save,
	.ffmc-memo-delete {
		width: 100% !important;
		min-width: 0 !important;
	}
}

/* Media single favorite belongs above the article date. */
.media-single-hero-copy > .ffmc-media-favorite--single {
	justify-content: flex-start !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
}

.media-single-hero-copy > .ffmc-media-favorite--single .ffmc-favorite-button {
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
}

/* Media single favorite sits on the thumbnail bottom-right. */
.media-single-hero-visual {
	position: relative !important;
}

.media-single-hero-visual > .ffmc-media-favorite--single {
	position: absolute !important;
	right: 16px !important;
	bottom: 16px !important;
	z-index: 8 !important;
	display: flex !important;
	justify-content: flex-end !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.media-single-hero-visual > .ffmc-media-favorite--single .ffmc-favorite-button {
	width: 46px !important;
	min-width: 46px !important;
	height: 46px !important;
	min-height: 46px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	backdrop-filter: blur(3px) !important;
}

.media-single-hero-visual > .ffmc-media-favorite--single .ffmc-favorite-button.is-active {
	background: var(--ffmc-heart) !important;
}

@media (max-width: 640px) {
	.media-single-hero-visual > .ffmc-media-favorite--single {
		right: 12px !important;
		bottom: 12px !important;
	}
}

/* Mobile member/memo final pass. */
.ffmc-memo-close {
	position: relative !important;
	flex: 0 0 38px !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
}

.ffmc-memo-close::before,
.ffmc-memo-close::after {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	display: block !important;
	width: 17px !important;
	height: 2px !important;
	border-radius: 999px !important;
	background: currentColor !important;
	transform-origin: center !important;
}

.ffmc-memo-close::before {
	transform: translate(-50%, -50%) rotate(45deg) !important;
}

.ffmc-memo-close::after {
	transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.ffmc-memo-dialog {
	height: min(820px, calc(100dvh - 44px)) !important;
	max-height: calc(100dvh - 44px) !important;
	grid-template-rows: auto auto minmax(0, 1fr) auto !important;
}

.ffmc-memo-body {
	min-height: 0 !important;
	overflow-y: auto !important;
	padding-bottom: 96px !important;
	scroll-padding-bottom: 110px !important;
}

.ffmc-memo-foot {
	position: sticky !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 20 !important;
	min-height: 76px !important;
	padding: 12px 28px calc(14px + env(safe-area-inset-bottom)) !important;
	border-top: 1px solid #eee3dc !important;
	background: rgba(255, 253, 251, 0.98) !important;
	box-shadow: 0 -8px 18px rgba(45, 37, 35, 0.05) !important;
}

@media (max-width: 760px) {
	body:has(.ffmc-dashboard-shell) #content,
	body:has(.ffmc-dashboard-shell) .l-content,
	body:has(.ffmc-dashboard-shell) .l-mainContent .l-container,
	body:has(.ffmc-dashboard-shell) .l-mainContent,
	body:has(.ffmc-dashboard-shell) .l-mainContent__inner,
	body:has(.ffmc-dashboard-shell) .post_content {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body:has(.ffmc-dashboard-shell) .post_content {
		min-height: calc(100dvh - 72px) !important;
		padding-bottom: 24px !important;
	}

	.ffmc-dashboard-shell {
		width: min(100%, 420px) !important;
		margin-top: 0 !important;
		border-top-left-radius: 0 !important;
		border-top-right-radius: 0 !important;
	}

	.ffmc-memo-modal {
		align-items: stretch !important;
		padding: 6px !important;
	}

	.ffmc-memo-dialog {
		width: 100% !important;
		height: calc(100dvh - 12px) !important;
		max-height: calc(100dvh - 12px) !important;
		border-radius: 8px !important;
	}

	.ffmc-memo-head {
		grid-template-columns: minmax(0, 1fr) 38px !important;
		gap: 10px !important;
		padding: 18px 16px 14px !important;
	}

	.ffmc-memo-close {
		width: 38px !important;
		height: 38px !important;
	}

	.ffmc-memo-body {
		padding: 14px 16px 118px !important;
		scroll-padding-bottom: 132px !important;
	}

	.ffmc-memo-foot {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-auto-flow: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		position: fixed !important;
		right: 6px !important;
		bottom: 6px !important;
		left: 6px !important;
		z-index: 1000002 !important;
		min-height: auto !important;
		padding: 10px 10px calc(10px + env(safe-area-inset-bottom)) !important;
		border: 1px solid #eee3dc !important;
		border-radius: 0 0 8px 8px !important;
		background: rgba(255, 253, 251, 0.98) !important;
		box-shadow: 0 -8px 22px rgba(45, 37, 35, 0.08) !important;
	}

	.ffmc-memo-save,
	.ffmc-memo-delete {
		display: flex !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 48px !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
		font-size: 13px !important;
		white-space: nowrap !important;
	}

	.ffmc-memo-delete[hidden] + .ffmc-memo-save {
		grid-column: 1 / -1 !important;
	}
}

/* Toast style for memo save/delete messages. */
.ffmc-memo-message {
	position: fixed !important;
	top: calc(18px + env(safe-area-inset-top)) !important;
	left: 50% !important;
	z-index: 1000003 !important;
	width: max-content !important;
	max-width: calc(100vw - 32px) !important;
	margin: 0 !important;
	padding: 11px 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(18, 15, 14, 0.78) !important;
	box-shadow: 0 10px 28px rgba(18, 15, 14, 0.18) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	pointer-events: none !important;
	transform: translateX(-50%) translateY(-8px) !important;
	animation: ffmc-memo-toast 3s ease both !important;
}

.ffmc-memo-message--error {
	background: rgba(52, 38, 35, 0.84) !important;
	color: #fff !important;
}

@keyframes ffmc-memo-toast {
	0% {
		opacity: 0;
		transform: translateX(-50%) translateY(-10px);
	}
	12% {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
	82% {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateX(-50%) translateY(-8px);
	}
}

/* Account settings: calm list-style panels matched to the page background. */
.ffmc-dashboard-card--account .ffmc-account-overview,
.ffmc-dashboard-card--account .ffmc-account-toggle,
.ffmc-dashboard-card--account .ffmc-account-toggle summary,
.ffmc-dashboard-card--account .ffmc-account-toggle-body,
.ffmc-dashboard-card--account .ffmc-account-current {
	background: #f8f3ed !important;
}

.ffmc-dashboard-card--account .ffmc-account-overview,
.ffmc-dashboard-card--account .ffmc-account-toggle {
	border-color: #f8f3ed !important;
}

.ffmc-dashboard-card--account .ffmc-account-overview {
	align-items: flex-start !important;
}

.ffmc-dashboard-card--account .ffmc-account-overview-main {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
}

.ffmc-dashboard-card--account .ffmc-account-overview-row {
	display: grid !important;
	gap: 4px !important;
	min-width: 0 !important;
}

.ffmc-dashboard-card--account .ffmc-account-overview-row span {
	color: #8a756d !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
}

.ffmc-dashboard-card--account .ffmc-account-overview-row strong {
	overflow-wrap: anywhere !important;
	color: var(--ffmc-ink) !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1.45 !important;
}

.ffmc-dashboard-card--account .ffmc-account-toggle {
	border-width: 1px !important;
	border-style: solid !important;
	box-shadow: none !important;
}

.ffmc-dashboard-card--account .ffmc-account-toggle[open] {
	border-color: #8f7160 !important;
}

.ffmc-dashboard-card--account .ffmc-account-toggle[open] summary {
	border-bottom: 1px solid #8f7160 !important;
}

.ffmc-dashboard-card--account .ffmc-account-toggle-body {
	box-shadow: none !important;
}

.ffmc-dashboard-card--account .ffmc-account-toggle summary::after {
	border-color: #8f7160 !important;
	background: transparent !important;
	color: #8f7160 !important;
}

.ffmc-dashboard-card--account .ffmc-link-button {
	border-color: #8f7160 !important;
	background: #8f7160 !important;
	color: #fff !important;
}

.ffmc-dashboard-card--account .ffmc-link-button:hover,
.ffmc-dashboard-card--account .ffmc-link-button:focus-visible {
	background: #725848 !important;
	border-color: #725848 !important;
	color: #fff !important;
}

.ffmc-dashboard-card--account > .ffmc-notice--success {
	position: fixed !important;
	top: calc(18px + env(safe-area-inset-top)) !important;
	left: 50% !important;
	z-index: 1000003 !important;
	width: max-content !important;
	max-width: calc(100vw - 32px) !important;
	margin: 0 !important;
	padding: 11px 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(18, 15, 14, 0.78) !important;
	box-shadow: 0 10px 28px rgba(18, 15, 14, 0.18) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	pointer-events: none !important;
	transform: translateX(-50%) translateY(-8px) !important;
	animation: ffmc-memo-toast 3s ease both !important;
}

/* Member dashboard navigation hierarchy. */
.ffmc-dashboard-nav .ffmc-dashboard-nav-group {
	display: grid !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ffmc-dashboard-nav .ffmc-dashboard-nav-children {
	position: relative !important;
	display: grid !important;
	gap: 2px !important;
	margin: 0 0 4px 10px !important;
	padding: 2px 0 2px 13px !important;
	border-left: 2px solid rgba(143, 113, 96, 0.32) !important;
}

.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent {
	color: var(--ffmc-ink) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
}

.ffmc-dashboard-nav a.ffmc-dashboard-nav-child {
	color: #6d5a50 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.ffmc-dashboard-nav a.ffmc-dashboard-nav-child::before {
	content: "" !important;
	display: inline-block !important;
	width: 5px !important;
	height: 5px !important;
	margin-right: 8px !important;
	border-radius: 50% !important;
	background: rgba(143, 113, 96, 0.45) !important;
	vertical-align: 0.08em !important;
}

.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-active,
.ffmc-dashboard-nav a.ffmc-dashboard-nav-child.is-active {
	color: var(--ffmc-ink) !important;
	font-weight: 900 !important;
}

@media (min-width: 761px) {
	.ffmc-dashboard-nav .ffmc-dashboard-nav-group.is-open .ffmc-dashboard-nav-children {
		border-left-color: var(--ffmc-ink) !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child.is-active::before {
		background: var(--ffmc-ink) !important;
	}
}

@media (max-width: 760px) {
	.ffmc-dashboard-card--account .ffmc-account-overview-main {
		grid-template-columns: 1fr !important;
		gap: 9px !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-group {
		display: contents !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-children {
		grid-column: 1 / -1 !important;
		order: 2 !important;
		display: none !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		margin: -1px 0 3px !important;
		padding: 7px 2px 3px !important;
		border-left: 0 !important;
		overflow-x: auto !important;
		scrollbar-width: none !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-children::-webkit-scrollbar {
		display: none !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-group.is-open .ffmc-dashboard-nav-children {
		display: flex !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child::before {
		display: none !important;
	}

	.ffmc-dashboard-nav {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
		padding: 18px 16px 12px !important;
		background: rgba(255, 255, 255, 0.96) !important;
	}

	.ffmc-dashboard-nav h2 {
		grid-column: 1 / -1 !important;
		order: 0 !important;
		margin: 0 0 2px !important;
		font-size: 22px !important;
		line-height: 1.25 !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent {
		order: 1 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 40px !important;
		padding: 0 8px !important;
		border: 1px solid #eadfd7 !important;
		border-radius: 999px !important;
		background: #fff !important;
		color: #4b3b35 !important;
		font-size: 12px !important;
		font-weight: 900 !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-active,
	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-section-active {
		border-color: #2f2724 !important;
		background: #2f2724 !important;
		color: #fff !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child {
		flex: 0 0 auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 34px !important;
		padding: 0 13px !important;
		border: 1px solid #eadfd7 !important;
		border-radius: 999px !important;
		background: #f8f3ed !important;
		color: #6d5a50 !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child.is-active {
		border-color: #8f7160 !important;
		background: #8f7160 !important;
		color: #fff !important;
	}
}

/* Keep memo footer actions stable after save/delete state changes. */
.ffmc-memo-delete[hidden] {
	display: none !important;
}

.ffmc-memo-button.is-active {
	border-color: var(--ffmc-memo) !important;
	background: var(--ffmc-memo) !important;
	color: #fff !important;
}

.ffmc-memo-button:not(.is-active):hover,
.ffmc-memo-button:not(.is-active):focus-visible {
	border-color: var(--ffmc-memo) !important;
	background: #fff !important;
	color: var(--ffmc-memo) !important;
}

.ffmc-memo-foot .ffmc-memo-delete {
	order: 1 !important;
}

.ffmc-memo-foot .ffmc-memo-save {
	order: 2 !important;
}

@media (max-width: 760px) {
	.ffmc-memo-foot {
		grid-auto-flow: row !important;
	}

	.ffmc-memo-foot .ffmc-memo-delete {
		grid-column: 1 !important;
	}

	.ffmc-memo-foot .ffmc-memo-save {
		grid-column: 2 !important;
	}

	.ffmc-memo-delete[hidden] + .ffmc-memo-save {
		grid-column: 1 / -1 !important;
	}
}

/* Final stability rules: keep memo footer and mobile map actions from reflowing after state changes. */
.ffmc-memo-foot {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

.ffmc-memo-foot .ffmc-memo-delete,
.ffmc-memo-foot .ffmc-memo-save {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	white-space: nowrap !important;
}

.ffmc-memo-foot .ffmc-memo-delete {
	order: 1 !important;
	grid-column: 1 !important;
}

.ffmc-memo-foot .ffmc-memo-save {
	order: 2 !important;
	grid-column: 2 !important;
}

@media (max-width: 760px) {
	.ffmc-spot-member-actions--map {
		width: 100% !important;
		margin: 12px 0 20px !important;
		padding: 0 10px !important;
	}

	.ffmc-spot-member-actions--map .ffmc-spot-actions {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: clamp(6px, 2vw, 10px) !important;
		width: min(100%, 430px) !important;
		margin: 0 auto !important;
		align-items: stretch !important;
		justify-content: center !important;
	}

	.ffmc-spot-member-actions--map .ffmc-favorite-actions {
		display: contents !important;
	}

	.ffmc-spot-member-actions--map .ffmc-favorite-form {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.ffmc-spot-member-actions--map .ffmc-favorite-actions .ffmc-favorite-button,
	.ffmc-spot-member-actions--map .ffmc-memo-button {
		width: 100% !important;
		min-width: 0 !important;
		height: clamp(72px, 21vw, 84px) !important;
		min-height: 0 !important;
		padding: 7px 4px 6px !important;
		border-width: 1.7px !important;
		border-radius: 8px !important;
		grid-template-rows: minmax(34px, 1fr) auto !important;
		gap: 2px !important;
	}

	.ffmc-spot-member-actions--map .ffmc-favorite-icon,
	.ffmc-spot-member-actions--map .ffmc-memo-button-icon {
		width: clamp(30px, 9vw, 38px) !important;
		height: clamp(30px, 9vw, 38px) !important;
	}

	.ffmc-spot-member-actions--map .ffmc-favorite-svg,
	.ffmc-spot-member-actions--map .ffmc-memo-svg {
		width: clamp(28px, 8vw, 36px) !important;
		height: clamp(28px, 8vw, 36px) !important;
	}

	.ffmc-spot-member-actions--map .ffmc-favorite-label,
	.ffmc-spot-member-actions--map .ffmc-memo-button-label {
		font-size: clamp(9px, 2.7vw, 11px) !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	.ffmc-memo-foot {
		grid-auto-flow: column !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 10px !important;
	}
}

/* Faster mypage tab switching and saved-list preview affordances. */
.ffmc-dashboard-shell.is-loading .ffmc-dashboard-main {
	opacity: 0.58 !important;
	pointer-events: none !important;
	transition: opacity 0.16s ease !important;
}

.ffmc-dashboard-more {
	display: flex !important;
	justify-content: flex-end !important;
	margin: 14px 0 0 !important;
	padding-top: 12px !important;
	border-top: 1px solid rgba(143, 113, 96, 0.14) !important;
}

.ffmc-dashboard-more a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	padding: 0 15px !important;
	border: 1px solid rgba(143, 113, 96, 0.28) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #5b483f !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.ffmc-dashboard-more a:hover,
.ffmc-dashboard-more a:focus-visible {
	border-color: #8f7160 !important;
	background: #8f7160 !important;
	color: #fff !important;
}

@media (max-width: 760px) {
	html:has(.ffmc-dashboard-shell),
	body:has(.ffmc-dashboard-shell) {
		background: #fff !important;
		background-image: none !important;
	}

	body:has(.ffmc-dashboard-shell) #header,
	body:has(.ffmc-dashboard-shell) .l-header,
	body:has(.ffmc-dashboard-shell) header[role="banner"] {
		background: #fff !important;
		background-image: none !important;
	}

	body:has(.ffmc-dashboard-shell) .post_content {
		background: var(--ffmc-bg) url("https://futofura.com/wp-content/uploads/2026/04/bg_media.png") center top / 100% auto repeat-y !important;
	}

	.ffmc-dashboard-more {
		justify-content: stretch !important;
		margin-top: 12px !important;
		padding-top: 10px !important;
	}

	.ffmc-dashboard-more a {
		width: 100% !important;
		min-height: 40px !important;
		font-size: 12px !important;
	}
}

/* Mobile mypage navigation: compact top navigation inspired by bottom nav patterns. */
@media (max-width: 760px) {
	body:has(.ffmc-dashboard-shell) {
		margin: 0 !important;
		overflow-x: hidden !important;
	}

	body:has(.ffmc-dashboard-shell) #content,
	body:has(.ffmc-dashboard-shell) #main_content,
	body:has(.ffmc-dashboard-shell) .l-content,
	body:has(.ffmc-dashboard-shell) .l-mainContent .l-container,
	body:has(.ffmc-dashboard-shell) .l-mainContent,
	body:has(.ffmc-dashboard-shell) .l-mainContent__inner,
	body:has(.ffmc-dashboard-shell) .post_content {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		width: 100% !important;
		max-width: none !important;
	}

	body:has(.ffmc-dashboard-shell) #content,
	body:has(.ffmc-dashboard-shell) .l-content,
	body:has(.ffmc-dashboard-shell) .l-mainContent,
	body:has(.ffmc-dashboard-shell) .l-mainContent__inner {
		min-height: 0 !important;
	}

	body:has(.ffmc-dashboard-shell) .post_content {
		display: block !important;
		width: 100% !important;
		min-height: calc(100dvh - 72px) !important;
		background-color: var(--ffmc-bg) !important;
		background-image: url("https://futofura.com/wp-content/uploads/2026/04/bg_media.png") !important;
		background-position: center top !important;
		background-size: 100% auto !important;
		background-repeat: repeat-y !important;
	}

	.ffmc-dashboard-shell {
		width: 100% !important;
		max-width: none !important;
		min-height: calc(100dvh - 72px) !important;
		margin: 0 auto !important;
		padding: 0 8px 18px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.ffmc-dashboard-nav {
		position: sticky !important;
		top: 0 !important;
		z-index: 30 !important;
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 0 !important;
		width: calc(100% + 16px) !important;
		max-width: none !important;
		margin: 0 -8px 14px !important;
		padding: 7px 8px 8px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #8f7160 !important;
		box-shadow: 0 8px 18px rgba(143, 113, 96, 0.16) !important;
	}

	.ffmc-dashboard-nav h2 {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-group {
		display: contents !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent {
		order: 1 !important;
		position: relative !important;
		display: grid !important;
		grid-template-rows: 24px auto !important;
		align-items: center !important;
		justify-items: center !important;
		min-height: 52px !important;
		padding: 4px 2px 2px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: rgba(255, 255, 255, 0.76) !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1.25 !important;
		text-align: center !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent::before {
		display: grid !important;
		place-items: center !important;
		width: 24px !important;
		height: 24px !important;
		color: currentColor !important;
		font-size: 21px !important;
		font-weight: 400 !important;
		line-height: 1 !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent[href*="ffmc_tab=saved"]::before {
		content: "\2606" !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent[href*="ffmc_tab=media_favorite"]::before {
		content: "\2661" !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent[href*="ffmc_tab=account"]::before {
		content: "\25EF" !important;
		font-size: 18px !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-active,
	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-section-active {
		background: transparent !important;
		color: #fff !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-active::after,
	.ffmc-dashboard-nav a.ffmc-dashboard-nav-parent.is-section-active::after {
		content: "" !important;
		position: absolute !important;
		right: 50% !important;
		bottom: 0 !important;
		display: block !important;
		width: 22px !important;
		height: 2px !important;
		border-radius: 999px !important;
		background: #fff !important;
		transform: translateX(50%) !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-children {
		grid-column: 1 / -1 !important;
		order: 2 !important;
		display: none !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 0 !important;
		margin: 8px 0 0 !important;
		padding: 5px !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: rgba(255, 255, 255, 0.16) !important;
		overflow: visible !important;
	}

	.ffmc-dashboard-nav .ffmc-dashboard-nav-group.is-open .ffmc-dashboard-nav-children {
		display: grid !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 34px !important;
		padding: 0 4px !important;
		border: 0 !important;
		border-radius: 6px !important;
		background: transparent !important;
		color: rgba(255, 255, 255, 0.76) !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child::before {
		display: none !important;
	}

	.ffmc-dashboard-nav a.ffmc-dashboard-nav-child.is-active {
		background: #fff !important;
		color: #8f7160 !important;
	}

	.ffmc-dashboard-main {
		padding: 0 !important;
	}

	.ffmc-dashboard-card {
		margin-bottom: 12px !important;
		background: rgba(255, 255, 255, 0.96) !important;
	}
}
