/* ============================================================
 * STOP FACTURE — single.css
 * 3-column article layout (TOC + content + sidebar).
 * ========================================================== */

/* ─── ARTICLE HEAD ────────────────────────────────────────── */
.sfe-article-head{
	background:var(--sfe-cream);
	padding:48px 0 36px;
	border-bottom:1px solid var(--sfe-border);
}
.sfe-article-head-inner{
	max-width:var(--sfe-container);margin:0 auto;padding:0 var(--sfe-gutter);
}
.sfe-breadcrumb{
	font-family:var(--sfe-mono);font-size:11px;letter-spacing:.12em;
	text-transform:uppercase;color:var(--sfe-gray);
	margin-bottom:24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.sfe-breadcrumb a{color:var(--sfe-gray);text-decoration:none}
.sfe-breadcrumb a:hover{color:var(--sfe-burgundy)}
.sfe-breadcrumb .sfe-sep{color:var(--sfe-gray-light)}
.sfe-breadcrumb .sfe-current{color:var(--sfe-burgundy);font-weight:600}

.sfe-article-category{
	display:inline-flex;align-items:center;gap:10px;
	font-family:var(--sfe-mono);font-size:11px;font-weight:600;
	letter-spacing:.18em;text-transform:uppercase;color:var(--sfe-burgundy);
	padding:5px 12px;border:1px solid var(--sfe-burgundy);
	background:var(--sfe-burgundy-soft);margin-bottom:24px;
}
.sfe-article-category::before{
	content:'';width:6px;height:6px;background:var(--sfe-burgundy);border-radius:50%;
}

.sfe-article-title{
	font-family:var(--sfe-serif);font-size:64px;font-weight:800;
	line-height:1;letter-spacing:-.025em;color:var(--sfe-ink);
	max-width:1100px;margin:0 0 24px;
}
.sfe-article-title em{
	font-style:italic;font-weight:600;color:var(--sfe-burgundy);
	position:relative;
}
.sfe-article-title em::after{
	content:'';position:absolute;bottom:6px;left:-2px;right:-2px;
	height:10px;background:var(--sfe-yellow);z-index:-1;opacity:.55;
}
.sfe-article-dek{
	font-family:var(--sfe-serif);font-size:22px;line-height:1.5;
	color:var(--sfe-ink-soft);max-width:900px;margin:0 0 32px;font-weight:400;
}
.sfe-article-meta{
	display:flex;align-items:center;gap:24px;
	padding-top:24px;border-top:2px solid var(--sfe-ink);
	font-family:var(--sfe-mono);font-size:12px;letter-spacing:.04em;
	color:var(--sfe-gray);flex-wrap:wrap;
}
.sfe-article-meta .sfe-author{
	color:var(--sfe-ink);font-weight:600;
	display:flex;align-items:center;gap:10px;
}
.sfe-article-meta .sfe-author::before{
	content:'';width:28px;height:28px;border-radius:50%;
	background-image:linear-gradient(135deg,var(--sfe-burgundy) 0%,var(--sfe-ink) 100%);
}
.sfe-article-meta .sfe-sep{color:var(--sfe-gray-light)}

/* ─── 3-COL LAYOUT ───────────────────────────────────────── */
.sfe-layout{
	max-width:var(--sfe-container);
	margin:0 auto;padding:48px var(--sfe-gutter) 80px;
	display:grid;
	grid-template-columns:240px minmax(0,1fr) 320px;
	gap:64px;align-items:start;
}

/* ─── TOC LEFT ───────────────────────────────────────────── */
.sfe-toc{position:sticky;top:120px;font-family:var(--sfe-sans)}
.sfe-toc-label{
	font-family:var(--sfe-mono);font-size:11px;font-weight:600;
	letter-spacing:.18em;text-transform:uppercase;color:var(--sfe-burgundy);
	padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--sfe-ink);
	display:flex;align-items:center;gap:10px;
}
.sfe-toc-label::before{
	content:'§';font-family:var(--sfe-serif);font-size:18px;color:var(--sfe-burgundy);
}
.sfe-toc-list{list-style:none;margin:0;padding:0;position:relative}
.sfe-toc-list::before{
	content:'';position:absolute;
	left:11px;top:8px;bottom:8px;
	width:1px;background:var(--sfe-border-strong);
}
.sfe-toc-item{
	position:relative;padding-left:32px;padding-block:9px;
}
.sfe-toc-item::before{
	content:'';position:absolute;
	left:8px;top:16px;width:7px;height:7px;
	background:var(--sfe-cream);border:1px solid var(--sfe-gray-light);
	border-radius:50%;z-index:2;transition:all .25s;
}
.sfe-toc-item a{
	font-size:13.5px;line-height:1.4;color:var(--sfe-ink-soft);
	text-decoration:none;font-weight:400;display:block;transition:color .2s;
}
.sfe-toc-item a:hover{color:var(--sfe-burgundy)}
.sfe-toc-item.is-active::before{
	background:var(--sfe-burgundy);border-color:var(--sfe-burgundy);
	box-shadow:0 0 0 4px var(--sfe-burgundy-soft);
}
.sfe-toc-item.is-active a{color:var(--sfe-burgundy);font-weight:600}

/* ─── CONTENT CENTER ─────────────────────────────────────── */
.sfe-content{font-family:var(--sfe-sans)}

/* Body paragraphs in serif for editorial reading */
.sfe-content > p,
.sfe-content > div > p{
	font-size:17px;line-height:1.75;color:var(--sfe-ink);
	margin:0 0 22px;font-family:var(--sfe-serif);font-weight:400;
}
.sfe-content > p strong{color:var(--sfe-burgundy);font-weight:700}
.sfe-content > p a,
.sfe-content > div > p a{
	color:var(--sfe-ink);text-decoration:none;
	background-image:linear-gradient(var(--sfe-yellow),var(--sfe-yellow));
	background-size:100% 6px;background-position:0 90%;background-repeat:no-repeat;
	padding:0 2px;transition:background-size .2s;
}
.sfe-content > p a:hover,
.sfe-content > div > p a:hover{
	background-size:100% 100%;background-position:0 100%;
}

/* Drop cap on the first paragraph */
.sfe-content > p:first-of-type::first-letter{
	font-family:var(--sfe-serif);font-size:78px;font-weight:900;
	line-height:.85;float:left;padding:8px 12px 0 0;
	color:var(--sfe-burgundy);margin-top:4px;
}

/* H2 numbered */
.sfe-content h2{
	font-family:var(--sfe-serif);font-size:38px;font-weight:800;
	line-height:1.1;letter-spacing:-.02em;
	margin:56px 0 24px;padding-top:32px;
	border-top:2px solid var(--sfe-ink);position:relative;
}
.sfe-content h2 .sfe-h2-num{
	font-family:var(--sfe-mono);font-size:12px;font-weight:600;
	letter-spacing:.2em;color:var(--sfe-burgundy);
	display:block;margin-bottom:12px;text-transform:uppercase;
}
.sfe-content h3{
	font-family:var(--sfe-serif);font-size:24px;font-weight:700;
	line-height:1.25;margin:36px 0 14px;
	color:var(--sfe-ink);letter-spacing:-.01em;
}

/* Lists */
.sfe-content > ul,
.sfe-content > ol{
	font-family:var(--sfe-serif);font-size:17px;line-height:1.75;
	margin:0 0 22px;padding-left:24px;
}
.sfe-content > ul li,
.sfe-content > ol li{margin-bottom:8px}

/* Images */
.sfe-content img{margin:24px 0}
.sfe-content figure{margin:32px 0}
.sfe-content figcaption{
	font-family:var(--sfe-mono);font-size:11px;letter-spacing:.08em;
	color:var(--sfe-gray);text-align:center;margin-top:8px;text-transform:uppercase;
}

/* ─── SHARE ──────────────────────────────────────────────── */
.sfe-share{
	margin-top:48px;padding-top:24px;border-top:1px solid var(--sfe-border);
	display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.sfe-share-label{
	font-family:var(--sfe-mono);font-size:11px;font-weight:600;
	letter-spacing:.15em;text-transform:uppercase;color:var(--sfe-burgundy);
}
.sfe-share a{
	font-family:var(--sfe-mono);font-size:12px;
	color:var(--sfe-ink);text-decoration:none;
	padding:8px 14px;border:1px solid var(--sfe-border-strong);
	transition:all .2s;
}
.sfe-share a:hover{background:var(--sfe-ink);color:var(--sfe-cream);border-color:var(--sfe-ink)}

/* ─── SIDEBAR RIGHT ──────────────────────────────────────── */
.sfe-sidebar{
	position:sticky;top:120px;
	display:flex;flex-direction:column;gap:24px;
}

/* Partner card */
.sfe-partner-card{
	border:2px solid var(--sfe-ink);
	background:var(--sfe-cream-light);overflow:hidden;
}
.sfe-partner-head{
	background:var(--sfe-ink);color:var(--sfe-cream);
	padding:10px 16px;
	font-family:var(--sfe-mono);font-size:10px;font-weight:600;
	letter-spacing:.18em;text-transform:uppercase;
	display:flex;align-items:center;justify-content:space-between;
}
.sfe-partner-badge{
	background:var(--sfe-yellow);color:var(--sfe-ink);
	padding:2px 8px;font-size:9px;letter-spacing:.1em;
}
.sfe-partner-body{padding:20px 20px 22px}
.sfe-partner-logo{
	display:flex;align-items:center;justify-content:space-between;
	margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--sfe-border);
}
.sfe-partner-name{
	font-family:var(--sfe-serif);font-size:24px;font-weight:900;
	letter-spacing:-.02em;color:var(--sfe-ink);
}
.sfe-partner-country{
	font-family:var(--sfe-mono);font-size:10px;font-weight:600;
	letter-spacing:.12em;color:var(--sfe-burgundy);
	background:var(--sfe-burgundy-soft);padding:3px 8px;border:1px solid var(--sfe-burgundy);
}
.sfe-partner-card h4{
	font-family:var(--sfe-serif);font-size:18px;font-weight:700;
	line-height:1.25;margin:0 0 10px;letter-spacing:-.01em;
}
.sfe-partner-desc{
	font-size:13px;line-height:1.55;color:var(--sfe-ink-soft);
	margin:0 0 14px;
}
.sfe-partner-bullets{
	list-style:none;margin:0 0 18px;padding:0 0 16px 0;
	border-bottom:1px dashed var(--sfe-border-strong);
}
.sfe-partner-bullets li{
	font-family:var(--sfe-sans);font-size:12.5px;line-height:1.45;
	color:var(--sfe-ink-soft);padding-left:20px;margin-bottom:7px;position:relative;
}
.sfe-partner-bullets li::before{
	content:'→';position:absolute;left:0;top:0;
	color:var(--sfe-burgundy);font-weight:700;
}
.sfe-partner-promo{
	background:var(--sfe-cream-warm);
	border:1px dashed var(--sfe-burgundy);
	padding:12px 14px;text-align:center;margin-bottom:14px;
}
.sfe-promo-lab{
	font-family:var(--sfe-mono);font-size:9px;font-weight:600;
	letter-spacing:.18em;text-transform:uppercase;color:var(--sfe-burgundy);margin-bottom:4px;
}
.sfe-promo-code{
	font-family:var(--sfe-mono);font-size:18px;font-weight:700;
	letter-spacing:.08em;color:var(--sfe-ink);
}
.sfe-promo-sub{
	font-family:var(--sfe-serif);font-size:11px;font-style:italic;
	color:var(--sfe-ink-soft);margin-top:4px;
}
.sfe-partner-cta{
	display:block;text-align:center;
	background:var(--sfe-burgundy);color:var(--sfe-cream);
	padding:13px 18px;
	font-family:var(--sfe-mono);font-size:11px;font-weight:600;
	letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
	border:2px solid var(--sfe-burgundy);transition:all .2s;
}
.sfe-partner-cta:hover{background:var(--sfe-ink);border-color:var(--sfe-ink);color:var(--sfe-cream)}
.sfe-partner-tiny{
	font-family:var(--sfe-mono);font-size:9px;letter-spacing:.08em;
	color:var(--sfe-gray);text-align:center;margin-top:10px;line-height:1.5;
}

/* Newsletter side block */
.sfe-side-widget{
	background:var(--sfe-burgundy);color:var(--sfe-cream);
	padding:22px 20px;border:2px solid var(--sfe-burgundy);
	position:relative;overflow:hidden;
}
.sfe-side-widget::before{
	content:'';position:absolute;top:-30px;right:-30px;
	width:100px;height:100px;background:var(--sfe-burgundy-x);
	clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
}
.sfe-side-widget-title{
	font-family:var(--sfe-serif);font-size:20px;font-weight:700;
	line-height:1.2;margin:0 0 8px;color:var(--sfe-cream);
	position:relative;z-index:2;
}

/* Related box */
.sfe-related-box{
	border:1px solid var(--sfe-border-strong);
	padding:18px 18px 16px;background:var(--sfe-cream-light);
}
.sfe-related-lab{
	font-family:var(--sfe-mono);font-size:10px;font-weight:600;
	letter-spacing:.18em;text-transform:uppercase;color:var(--sfe-burgundy);
	padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--sfe-border);
}
.sfe-related-box ul{list-style:none;margin:0;padding:0}
.sfe-related-box li{padding:8px 0;border-bottom:1px dashed var(--sfe-border)}
.sfe-related-box li:last-child{border-bottom:none}
.sfe-related-box li a{
	font-family:var(--sfe-serif);font-size:14px;font-weight:500;
	color:var(--sfe-ink);text-decoration:none;line-height:1.35;
	display:block;transition:color .2s;
}
.sfe-related-box li a:hover{color:var(--sfe-burgundy)}
.sfe-related-meta{
	font-family:var(--sfe-mono);font-size:9px;letter-spacing:.1em;
	text-transform:uppercase;color:var(--sfe-gray);margin-top:4px;
}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width:1180px){
	.sfe-layout{grid-template-columns:200px 1fr 280px;gap:40px}
	.sfe-article-title{font-size:48px}
}
@media (max-width:980px){
	.sfe-layout{grid-template-columns:1fr;gap:32px}
	.sfe-toc,.sfe-sidebar{position:static}
	.sfe-toc{
		background:var(--sfe-cream-light);border:1px solid var(--sfe-border);
		padding:20px 24px;
	}
	.sfe-article-title{font-size:38px}
}
@media (max-width:640px){
	.sfe-article-head{padding:32px 0 24px}
	.sfe-article-title{font-size:30px}
	.sfe-article-dek{font-size:17px}
	.sfe-content > p:first-of-type::first-letter{font-size:60px}
	.sfe-content h2{font-size:28px}
}
