#octy-single-post,
#octy-single-post *,
#octy-single-post *::before,
#octy-single-post *::after {
	box-sizing: border-box;
}

#octy-single-post .elementor-widget-post-info .elementor-post-info__terms-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

#octy-single-post .elementor-widget-post-info .elementor-post-info__terms-list a {
	display: inline-flex;
	align-items: center;
	padding: 6px 13px;
	border-radius: 999px;
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #28667e !important;
	background: #edf4f7;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

#octy-single-post .elementor-widget-post-info .elementor-post-info__terms-list a:hover {
	color: #1e4f63 !important;
	background: #cedfea;
}

#octy-single-post .elementor-element-sp06meta .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

#octy-single-post .elementor-element-sp06meta .elementor-icon-list-item:not(:last-child)::after {
	content: '';
	display: inline-block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #d5d0cb;
	margin-left: 14px;
	vertical-align: middle;
}

#octy-single-post .elementor-widget-theme-post-featured-image img {
	width: 100%;
	max-height: 480px;
	object-fit: cover;
}

#octy-single-post .elementor-element-sp09body {
	align-items: start;
}

@media (min-width: 1025px) {
	#octy-single-post .e-con:has(> .elementor-widget-table-of-contents),
	#octy-single-post .elementor-element-sp10tocbox {
		position: sticky;
		top: 100px;
		align-self: start;
		width: 100%;
		z-index: 5;
		max-height: none;
		overflow: visible;
	}

	#octy-single-post .elementor-widget-table-of-contents {
		--toc-body-max-height: calc(100vh - 220px);
		display: flex;
		flex-direction: column;
		max-height: calc(100vh - 120px);
		min-height: 0;
		overflow: hidden;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__header {
		flex-shrink: 0;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__body {
		flex: 1 1 auto;
		min-height: 0;
		max-height: var(--toc-body-max-height) !important;
		overflow-x: hidden;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: #d5d0cb transparent;
		padding-right: 4px;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar {
		width: 5px;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar-track {
		background: transparent;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar-thumb {
		background: #d5d0cb;
		border-radius: 999px;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar-thumb:hover {
		background: #b8b2ab;
	}
}

@media (max-width: 1024px) {
	#octy-single-post .e-con:has(> .elementor-widget-table-of-contents),
	#octy-single-post .elementor-element-sp10tocbox {
		position: static;
		top: auto;
	}

	#octy-single-post .elementor-widget-table-of-contents {
		max-height: none;
		overflow: visible;
	}

	#octy-single-post .elementor-widget-table-of-contents .elementor-toc__body {
		max-height: none !important;
		overflow: visible !important;
		padding-right: 0;
	}
}

#octy-single-post .entry-content h2,
#octy-single-post .elementor-widget-theme-post-content h2 {
	font-family: 'Fraunces', serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #1a1f26;
	margin: 48px 0 16px;
	scroll-margin-top: 96px;
}

#octy-single-post .entry-content h3,
#octy-single-post .elementor-widget-theme-post-content h3 {
	font-family: 'Fraunces', serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: #1a1f26;
	margin: 36px 0 12px;
	scroll-margin-top: 96px;
}

#octy-single-post .entry-content h4,
#octy-single-post .elementor-widget-theme-post-content h4 {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	margin: 28px 0 10px;
	scroll-margin-top: 96px;
}

#octy-single-post .entry-content p,
#octy-single-post .elementor-widget-theme-post-content p {
	margin: 0 0 20px;
}

#octy-single-post .entry-content a,
#octy-single-post .elementor-widget-theme-post-content a {
	color: #28667e;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#octy-single-post .entry-content a:hover,
#octy-single-post .elementor-widget-theme-post-content a:hover {
	color: #d4614a;
}

#octy-single-post .entry-content ul,
#octy-single-post .entry-content ol,
#octy-single-post .elementor-widget-theme-post-content ul,
#octy-single-post .elementor-widget-theme-post-content ol {
	margin: 0 0 20px;
	padding-left: 1.35em;
}

#octy-single-post .entry-content li,
#octy-single-post .elementor-widget-theme-post-content li {
	margin-bottom: 8px;
}

#octy-single-post .entry-content blockquote,
#octy-single-post .elementor-widget-theme-post-content blockquote {
	margin: 32px 0;
	padding: 24px 28px;
	border-left: 4px solid #f07258;
	background: #ffffff;
	border-radius: 0 16px 16px 0;
	font-family: 'Fraunces', serif;
	font-size: 22px;
	font-style: italic;
	line-height: 1.45;
	color: #1a1f26;
}

#octy-single-post .entry-content hr.wp-block-separator,
#octy-single-post .elementor-widget-theme-post-content hr.wp-block-separator {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 0;
	margin: 44px 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #e8e4e0;
	background: none;
	opacity: 1;
}

#octy-single-post .entry-content hr.wp-block-separator.has-alpha-channel-opacity,
#octy-single-post .elementor-widget-theme-post-content hr.wp-block-separator.has-alpha-channel-opacity {
	border-top-color: rgba(26, 31, 38, 0.12);
}

#octy-single-post .entry-content hr.wp-block-separator.is-style-wide,
#octy-single-post .elementor-widget-theme-post-content hr.wp-block-separator.is-style-wide {
	max-width: 100%;
}

#octy-single-post .entry-content hr.wp-block-separator.is-style-dots,
#octy-single-post .elementor-widget-theme-post-content hr.wp-block-separator.is-style-dots {
	border: none;
	height: auto;
	text-align: center;
	background: none;
}

#octy-single-post .entry-content hr.wp-block-separator.is-style-dots::before,
#octy-single-post .elementor-widget-theme-post-content hr.wp-block-separator.is-style-dots::before {
	content: '···';
	display: block;
	font-family: 'Fraunces', serif;
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0.35em;
	color: #f07258;
}

#octy-single-post .entry-content img,
#octy-single-post .elementor-widget-theme-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}

#octy-single-post .entry-content table,
#octy-single-post .elementor-widget-theme-post-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 28px 0;
	font-size: 15px;
}

#octy-single-post .entry-content th,
#octy-single-post .entry-content td,
#octy-single-post .elementor-widget-theme-post-content th,
#octy-single-post .elementor-widget-theme-post-content td {
	border: 1px solid #e8e4e0;
	padding: 12px 14px;
	text-align: left;
}

#octy-single-post .entry-content th,
#octy-single-post .elementor-widget-theme-post-content th {
	background: #edf4f7;
	font-weight: 600;
}

#octy-single-post .elementor-element-sp14authorbox .elementor-author-box {
	padding: 0;
	border: none;
	background: transparent;
}

#octy-single-post .elementor-post-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	overflow: visible;
	padding: 0;
	border: none;
}

#octy-single-post .elementor-post-navigation__separator-wrapper {
	display: none;
}

#octy-single-post .elementor-post-navigation__link {
	width: 100% !important;
	overflow: visible;
	white-space: normal;
	text-overflow: unset;
}

#octy-single-post .elementor-post-navigation__link:not(:has(a)) {
	display: none;
}

#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__prev:not(:has(a))) {
	display: flex;
	justify-content: flex-end;
	gap: 16px;
}

#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__next:not(:has(a))) {
	display: flex;
	justify-content: flex-start;
	gap: 16px;
}

#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__prev:not(:has(a))) .elementor-post-navigation__next,
#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__next:not(:has(a))) .elementor-post-navigation__prev {
	flex: 0 1 calc(50% - 8px);
	max-width: calc(50% - 8px);
}

#octy-single-post .elementor-post-navigation__link a {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	max-width: 100%;
	padding: 22px 24px;
	background: #ffffff;
	border: 1px solid #e8e4e0;
	border-radius: 20px;
	text-decoration: none;
	transition:
		transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
		border-color 0.25s ease;
}

#octy-single-post .elementor-post-navigation__link a:hover {
	transform: translateY(-3px);
	border-color: rgba(40, 102, 126, 0.28);
	box-shadow: 0 18px 40px rgba(15, 43, 53, 0.1);
}

#octy-single-post .elementor-post-navigation__link a:focus-visible {
	outline: 2px solid #28667e;
	outline-offset: 3px;
}

#octy-single-post .elementor-post-navigation__prev a {
	justify-content: flex-start;
}

#octy-single-post .elementor-post-navigation__next a {
	justify-content: flex-end;
}

#octy-single-post .elementor-post-navigation__link__prev,
#octy-single-post .elementor-post-navigation__link__next {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	flex: 1;
	overflow: visible;
}

#octy-single-post .elementor-post-navigation__link__next {
	text-align: right;
	align-items: flex-end;
}

#octy-single-post .post-navigation__prev--label,
#octy-single-post .post-navigation__next--label {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7a746e;
	transition: color 0.25s ease;
}

#octy-single-post .post-navigation__prev--title,
#octy-single-post .post-navigation__next--title {
	font-family: 'Fraunces', serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -0.015em;
	color: #1a1f26;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal;
	text-overflow: unset;
	transition: color 0.25s ease;
}

#octy-single-post .post-navigation__arrow-wrapper {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #edf4f7;
	color: #28667e;
	fill: #28667e;
	font-size: 16px !important;
	transition:
		background 0.25s ease,
		color 0.25s ease,
		fill 0.25s ease,
		transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#octy-single-post .post-navigation__arrow-wrapper i {
	transform: none;
}

#octy-single-post .post-navigation__arrow-wrapper svg {
	width: 14px;
	height: 14px;
}

#octy-single-post .elementor-post-navigation__link a:hover .post-navigation__arrow-wrapper {
	background: #28667e;
	color: #ffffff;
	fill: #ffffff;
}

#octy-single-post .elementor-post-navigation__link a:hover .post-navigation__prev--label,
#octy-single-post .elementor-post-navigation__link a:hover .post-navigation__next--label,
#octy-single-post .elementor-post-navigation__link a:hover .post-navigation__prev--title,
#octy-single-post .elementor-post-navigation__link a:hover .post-navigation__next--title {
	color: #28667e;
}

#octy-single-post .elementor-post-navigation__prev a:hover .post-navigation__arrow-prev {
	transform: translateX(-3px);
}

#octy-single-post .elementor-post-navigation__next a:hover .post-navigation__arrow-next {
	transform: translateX(3px);
}

@media (max-width: 767px) {
	#octy-single-post .elementor-post-navigation {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__prev:not(:has(a))),
	#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__next:not(:has(a))) {
		display: grid;
	}

	#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__prev:not(:has(a))) .elementor-post-navigation__next,
	#octy-single-post .elementor-post-navigation:has(.elementor-post-navigation__next:not(:has(a))) .elementor-post-navigation__prev {
		flex: none;
		max-width: 100%;
	}

	#octy-single-post .elementor-post-navigation__link a {
		padding: 18px 20px;
		gap: 16px;
	}

	#octy-single-post .post-navigation__prev--title,
	#octy-single-post .post-navigation__next--title {
		font-size: 16px;
	}

	#octy-single-post .post-navigation__arrow-wrapper {
		width: 40px;
		height: 40px;
	}
}

@media (max-width: 1024px) {
	#octy-single-post .entry-content h2,
	#octy-single-post .elementor-widget-theme-post-content h2 {
		font-size: 28px;
		margin-top: 36px;
	}

	#octy-single-post .entry-content h3,
	#octy-single-post .elementor-widget-theme-post-content h3 {
		font-size: 22px;
	}
}
