/* ============================================================================
   LewdStash — VAULT NOIR skin for Postcamp (child layer)
   Палитра (утверждена, этап 1 — концепция A):
     фон #141217 · поверхности #1d1920/#241f28 · кармин #e2445c (+ #b9577a)
     текст #eeeaf2 · muted #9a93a3
   Логотип: N1 Heart-lock (SVG в assets/logo.svg).
   Все стили — перенос утверждённых мокапов concepts/home.html + game.html.
   ========================================================================== */

:root {
	/* переменные PostCamp (тема создана под перекраску) */
	--postcamp-bbc: #141217;
	--postcamp-mc1: #e2445c;
	--postcamp-mc2: #b9577a;
	--postcamp-hc:  #1d1920;
	--postcamp-bc:  #241f28;

	/* система Vault Noir */
	--c-bg: #141217;  --c-bg2: #1d1920;  --c-surface: #241f28;
	--c-accent: #e2445c;  --c-accent2: #b9577a;
	--c-text: #eeeaf2;  --c-muted: #9a93a3;
}

/* ===== База ===== */
body {
	color: var(--c-text);
	background: var(--c-bg);
	font-size: 15px;
	line-height: 1.6;
}

/* ===== Шапка ===== */
.postcamp_fn_header { background: var(--c-bg2); }
.postcamp_fn_main_nav a { color: var(--c-muted); }
.postcamp_fn_main_nav a:hover, .postcamp_fn_main_nav a:hover span span { color: var(--c-accent); }
.logo a { text-decoration: none; display: inline-flex; align-items: center; gap: 11px; }
.c-wordmark {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800; font-size: 21px; letter-spacing: .4px;
	color: var(--c-text); display: inline-flex; align-items: center; gap: 10px;
}
.c-wordmark b { color: var(--c-accent); font-weight: 800; }

/* ===== Карточки ленты ===== */
.postcamp_fn_blog_item .img {
	aspect-ratio: 3/4; max-height: 260px; min-height: 150px;
	background-size: cover; background-position: center;
	border-radius: 12px; overflow: hidden;
}
.postcamp_fn_blog_item .item {
	background: var(--c-surface);
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 14px;
	transition: border-color .2s;
}
.postcamp_fn_blog_item .item:hover { border-color: var(--c-accent); }
.fn_desc { color: var(--c-muted); }
.meta_holder, .meta_item { color: var(--c-muted); }
.category__holder a {
	background: transparent; color: var(--c-accent) !important;
	border: 1px solid var(--c-accent); border-radius: 999px;
	padding: 3px 11px !important; font-size: 11px; font-weight: 700;
}

/* ===== Пилюли-бейджи ===== */
.c-ver {
	background: var(--c-surface); border: 1px solid var(--c-accent2);
	color: var(--c-text); font-size: 11px; font-weight: 700;
	padding: 2px 9px; border-radius: 999px; vertical-align: middle;
}
.c-upd {
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
	color: var(--c-muted); font-size: 10.5px; font-weight: 700;
	padding: 2px 9px; border-radius: 999px; vertical-align: middle;
}
.c-status { font-size: 10.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; vertical-align: middle; }
.c-status--abandoned { background: rgba(154,147,163,.12); border: 1px solid rgba(154,147,163,.4); color: var(--c-muted); }
.c-status--ongoing, .c-status--completed { background: rgba(110,220,150,.12); border: 1px solid rgba(110,220,150,.4); color: #6edc96; }

/* ===== Заголовок single ===== */
.fn__maintitle { color: var(--c-text); }

/* ===== Хиро игры: обложка + мета-грид ===== */
.c-hero { display: flex; gap: 26px; margin: 6px 0 10px; flex-wrap: wrap; }
.c-cover {
	width: 230px; flex-shrink: 0; aspect-ratio: 3/4;
	border-radius: 16px; border: 1px solid rgba(255,255,255,.1);
	background: linear-gradient(160deg,#4a2338,#241f28);
	display: grid; place-items: center;
	font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 64px;
	box-shadow: 0 20px 60px rgba(0,0,0,.5); position: relative; overflow: hidden;
}
.c-cover img { width: 100%; height: 100%; object-fit: cover; }
.c-cover .bver { position: absolute; left: 14px; top: 14px; }
.c-hero-r { flex: 1; min-width: 280px; }
.c-metagrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 18px 0; }
.c-meta { background: var(--c-bg2); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 10px 14px; }
.c-meta i { display: block; font-style: normal; color: var(--c-muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: .8px; }
.c-meta b { font-size: 13.5px; font-weight: 600; }
.c-meta a { color: var(--c-accent) !important; font-size: 13.5px; font-weight: 600; text-decoration: none; margin-right: 8px; }

/* ===== Блок скачивания (4 зеркала, /go/ ссылки) ===== */
.c-download {
	background: var(--c-bg2); border: 1px dashed var(--c-accent);
	border-radius: 14px; padding: 22px 24px; margin: 18px 0; text-align: center;
}
.c-download .ttl {
	font-weight: 800; letter-spacing: 2px; font-size: 15px;
	color: var(--c-text); text-transform: uppercase; margin-bottom: 12px;
	font-family: 'Montserrat', sans-serif;
}
.c-download .row { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 8px; }
.c-download .os { font-weight: 700; font-size: 13px; color: var(--c-muted); width: 100%; }
.c-host {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--c-surface); border: 1px solid rgba(255,255,255,.1);
	color: var(--c-text) !important; font-weight: 700; font-size: 13px;
	padding: 9px 18px; border-radius: 8px; text-decoration: none;
	transition: border-color .2s;
}
.c-host:hover { border-color: var(--c-accent); }
.c-host .dot { width: 10px; height: 10px; border-radius: 3px; background: var(--hc, var(--c-accent)); }

/* ===== Спойлеры (структура первого поста F95) ===== */
details.c-spoiler {
	background: var(--c-bg2); border: 1px solid rgba(255,255,255,.09);
	border-radius: 12px; padding: 0; margin: 14px 0;
}
details.c-spoiler summary { cursor: pointer; padding: 12px 16px; color: var(--c-accent); font-weight: 700; font-size: 14px; }
details.c-spoiler[open] summary { border-bottom: 1px solid rgba(255,255,255,.09); }
details.c-spoiler .body { padding: 14px 16px; color: var(--c-muted); font-size: 14px; }

/* ===== Теги ===== */
.tag_item a, .postcamp_fn_tags a {
	background: var(--c-bg2) !important; color: var(--c-muted) !important;
	border-radius: 999px !important; padding: 4px 12px !important; font-size: 11px !important;
}
.tag_item a:hover { color: var(--c-accent) !important; }

/* ===== Сайдбар (главная): виджеты движков/статусов/тегов ===== */
.c-sidebar { display: grid; gap: 20px; }
.c-widget {
	background: var(--c-bg2); border: 1px solid rgba(255,255,255,.08);
	border-radius: 16px; padding: 18px 18px 14px;
}
.c-widget h4 {
	font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px;
	letter-spacing: 1.6px; text-transform: uppercase; color: var(--c-muted);
	margin-bottom: 12px;
}
.c-cats { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.c-cats a {
	display: inline-block; text-decoration: none;
	background: var(--c-surface); color: var(--c-text) !important;
	border: 1px solid rgba(255,255,255,.09);
	font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 999px;
	transition: border-color .2s;
}
.c-cats a:hover { border-color: var(--c-accent); }
.c-cats a.on { border-color: var(--c-accent); color: var(--c-accent) !important; }
.c-tags a {
	display: inline-block; text-decoration: none;
	color: var(--c-muted) !important; font-size: 11.5px; font-weight: 500;
	padding: 3px 10px; border-radius: 999px;
	background: transparent; border: 1px solid transparent;
}
.c-tags a:hover { color: var(--c-accent) !important; border-color: rgba(226,68,92,.4); }

/* ===== Featured strip (Trending) ===== */
.c-section-h {
	font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px;
	letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-muted);
	margin: 30px 0 4px;
}
.c-featured {
	display: flex; gap: 18px; margin-bottom: 24px; overflow-x: auto;
	padding-bottom: 6px; scrollbar-width: thin; scrollbar-color: var(--c-accent2) transparent;
}
.c-featured .fslide {
	flex: 0 0 170px; aspect-ratio: 3/4.3; border-radius: 14px;
	border: 1px solid rgba(255,255,255,.1); position: relative;
	cursor: pointer; transition: border-color .2s;
	display: flex; align-items: flex-end; padding: 12px; overflow: hidden;
}
.c-featured .fslide:hover { border-color: var(--c-accent); }
.c-featured .fslide b {
	font-family: 'Montserrat', sans-serif; font-size: 12.5px; line-height: 1.3;
	color: var(--c-text); text-shadow: 0 2px 8px rgba(0,0,0,.7); position: relative;
}
.c-featured .fslide .num {
	position: absolute; top: 8px; left: 10px;
	font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 22px;
	color: rgba(255,255,255,.35);
}
.c-featured .fslide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ===== Лента + пагинация ===== */
.c-feed { display: grid; gap: 18px; }
.c-pager { display: flex; gap: 8px; justify-content: center; padding: 26px 0 10px; flex-wrap: wrap; }
.c-pager a, .c-pager span {
	min-width: 38px; height: 38px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,.1); border-radius: 10px;
	color: var(--c-muted) !important; font-weight: 700; font-size: 13px;
	text-decoration: none; padding: 0 12px;
}
.c-pager .cur { background: var(--c-accent); border-color: var(--c-accent); color: #fff !important; }
.c-pager a:hover { border-color: var(--c-accent); color: var(--c-text) !important; }

/* ===== Prev / Next (структура темы) ===== */
.c-pnb { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; }
@media(max-width:700px){ .c-pnb { grid-template-columns: 1fr; } }
.c-pnb a {
	display: flex; gap: 12px; align-items: center; text-decoration: none;
	background: var(--c-bg2); border: 1px solid rgba(255,255,255,.08);
	border-radius: 14px; padding: 12px 14px; transition: border-color .2s;
}
.c-pnb a:hover { border-color: var(--c-accent); }
.c-pnb .rc { width: 46px; height: 60px; border-radius: 8px; flex-shrink: 0; background-size: cover; }
.c-pnb b { font-size: 13px; display: block; line-height: 1.35; color: var(--c-text) !important; }
.c-pnb small { color: var(--c-muted); font-size: 11px; }
.c-pnb .lbl { font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--c-muted); font-weight: 700; }
.c-pnb .next { text-align: right; }

/* ===== Футер ===== */
.postcamp_fn_footer { background: var(--c-bg2) !important; }
.footer_copyright, .footer_menu a { color: var(--c-muted) !important; }
.footer_menu a:hover { color: var(--c-accent) !important; }
