/* ==========================================================
   THEODOULOU — SINGLE POST TEMPLATE CSS
   No font-family set (added by you elsewhere).
   ========================================================== */

.theo-single * { box-sizing: border-box; }

/* ---------- HERO / HEADER ---------- */
.theo-single-hero {
	padding: 70px 20px 30px;
	text-align: center;
}
.theo-single-hero__inner { max-width: 760px; margin: 0 auto; }
.theo-single-hero__eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2.5px;
	color: #004027;
	margin-bottom: 18px;
}
.theo-single-hero__title {
	font-size: 48px;
    line-height: 55px;
	color: #002216 !important;
	font-family: "Fraunces", serif !important;
	margin: 0 0 20px;
	font-weight: 500;
}
.theo-single-hero__title em,
.theo-single-hero__title > em {
	color: var(--theo-orange, #c98a2e);
	font-style: italic;
}
.theo-single-hero__subtitle {
	font-size: 17px;
	color: var(--theo-text, #444);
	line-height: 1.6;
	max-width: 640px;
	margin: 0 auto;
}

/* ---------- WRAPPER ---------- */
.theo-single-wrapper {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px 100px;
}

/* ---------- META ROW ---------- */
.theo-single-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	padding: 24px 0;
	border-bottom: 1px solid var(--theo-border, #e6e0d2);
	margin-bottom: 40px;
	position: relative;
}
.theo-single-meta__left {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--theo-muted, #6b6b66);
	flex-wrap: wrap;
}
.theo-single-meta .theo-dot { opacity: .5; }

.theo-single-meta__right { position: relative; }
.theo-share-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid var(--theo-border, #e6e0d2);
	font-size: 12px;
    font-family: 'Inter';
    font-weight: 400;
    line-height: 16px;
	color: #004027;
	cursor: pointer;
}

button#theo-share-btn:hover {
    background-color: transparent;
    color: #004027;
}
/* .theo-icon-share::before { content: "↗"; } */

.theo-icon-share::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    vertical-align: middle;

    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23455f53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* .theo-icon-calendar::before { content: "📅"; font-size: 11px; } */

.theo-icon-calendar::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    vertical-align: middle;

    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23455f53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* .theo-icon-clock::before { content: "🕒"; font-size: 11px; } */


.theo-icon-clock::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    vertical-align: middle;

    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23455f53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* .theo-icon-tag::before { content: "🏷"; font-size: 11px; } */
.theo-icon-tag::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
	vertical-align: middle;

    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23455f53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5' fill='%23455f53'/%3E%3C/svg%3E") center/contain no-repeat;
}

.theo-share-dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	background: #fff;
	border: 1px solid var(--theo-border, #e6e0d2);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
	padding: 8px;
	min-width: 160px;
	z-index: 20;
}
.theo-share-dropdown.is-open { display: block; }
.theo-share-dropdown a,
.theo-share-dropdown button {
	display: block;
	width: 100%;
	text-align: left;
	padding: 9px 12px;
	border-radius: 8px;
	font-size: 13px;
	color: var(--theo-dark, #1c1f1e);
	text-decoration: none;
	background: none;
	border: none;
	cursor: pointer;
}
.theo-share-dropdown a:hover,
.theo-share-dropdown button:hover { background: var(--theo-cream, #f4efe4); }

/* ---------- RELATED READING ---------- */
.theo-related { margin-bottom: 50px; }
.theo-related__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.theo-related__all {
	font-size: 12px;
    font-family: 'Inter';
    color: #004027;
	text-decoration: none;
	font-weight: 600;
}
.theo-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 800px) { .theo-related__grid { grid-template-columns: 1fr; } }

.theo-related-card {
	display: block;
	background: #fff;
	border: 1px solid var(--theo-border, #e6e0d2);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
.theo-related-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.theo-related-card__img { height: 150px; background-size: cover; background-position: center; }
.theo-related-card__body { padding: 16px; }
.theo-related-card__body h4 {
	font-size: 15px;
    line-height: 19.25px;
    color: #004027;
    margin: 0 0 8px;
    font-weight: 600;
    font-family: Fraunces, "Cormorant Garamond", Georgia, serif;
}
.theo-related-card__time { font-size: 12px; color: var(--theo-muted, #6b6b66); }

/* ---------- BODY: content + TOC sidebar ---------- */
.theo-single-body {
	display: grid;
	grid-template-columns: 1fr 260px;
	gap: 50px;
	align-items: start;
}
@media (max-width: 900px) {
	.theo-single-body { grid-template-columns: 1fr; }
	.theo-single-toc { display: none; }
}

.theo-single-content {
	 font-size: 15px;
    line-height: 24px;
	color: var(--theo-text, #2b2b28);
}
.theo-single-content h2 {
	font-size: 26px;
    line-height: 32px;
    margin: 44px 0 16px;
    font-family: "Fraunces", serif !important;
	color: var(--theo-dark, #1c1f1e);
	scroll-margin-top: 100px;
}
.theo-single-content h3 {
	font-size: 19px;
	margin: 32px 0 14px;
	color: var(--theo-dark, #1c1f1e);
	scroll-margin-top: 100px;
}
.theo-single-content p { margin: 0 0 18px; }
.theo-single-content ul,
.theo-single-content ol { margin: 0 0 18px; padding-left: 22px; }
.theo-single-content li { margin-bottom: 8px; }
.theo-single-content blockquote {
	margin: 28px 0;
	padding: 18px 22px;
	border-left: 3px solid var(--theo-orange, #c98a2e);
	background: var(--theo-cream, #f4efe4);
	font-style: italic;
	border-radius: 0 10px 10px 0;
}
.theo-single-content img { max-width: 100%; border-radius: 12px; margin: 20px 0; }
.theo-single-content strong { color: var(--theo-dark, #1c1f1e); }

/* TOC sidebar */
.theo-single-toc { position: relative; }
.theo-toc-sticky { position: sticky; top: 100px; }
.theo-toc-list { list-style: none; margin: 14px 0 0; padding: 0; border-left: 2px solid var(--theo-border, #e6e0d2); }
.theo-toc-list li { margin: 0; }
.theo-toc-list a {
	display: block;
	padding: 7px 0 7px 16px;
	font-size: 13.5px;
	color: var(--theo-muted, #6b6b66);
	text-decoration: none;
	border-left: 2px solid transparent;
	margin-left: -2px;
	transition: color .15s ease, border-color .15s ease;
}
.theo-toc-list a:hover { color: var(--theo-dark, #1c1f1e); }
.theo-toc-list a.is-active {
	color: var(--theo-orange-dark, #b5751f);
	border-left-color: var(--theo-orange, #c98a2e);
	font-weight: 600;
}

/* ---------- BOTTOM NAV ---------- */
.theo-single-footer-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 70px;
	padding-top: 30px;
	border-top: 1px solid var(--theo-border, #e6e0d2);
}
.theo-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	font-family: 'Inter';
    line-height: 20px;
    color: #004027;
	text-decoration: none;
}
.theo-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--theo-orange, #c98a2e);
	color: #fff;
	padding: 10px 20px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	font-family: 'Inter';
    line-height: 20px;
	text-decoration: none;
	transition: background .2s ease;
}
.theo-cta-btn:hover { background: var(--theo-orange-dark, #b5751f);
color: #ffffff;}
