/* cho theme additions on top of the template's style.css */

.min-w-0 { min-width: 0; }
.h-200px { height: 200px; }
.object-fit-cover { object-fit: cover; }
.btn-vote.active { color: var(--bs-primary); }
.cho-card .card-title a, .entry-content { word-wrap: break-word; }
.entry-content img, .entry-content video { max-width: 100%; height: auto; border-radius: .5rem; }
.entry-content iframe { max-width: 100%; border: 0; border-radius: .5rem; }
.entry-content figure { margin: 1rem 0; }
.entry-content blockquote { border-left: 3px solid var(--bs-primary); padding-left: 1rem; margin: 1rem 0; }
.cho-figure-wide img { width: 100%; }

/* Pikabu-like clamp with fade */
.cho-clamp { position: relative; max-height: 560px; overflow: hidden; transition: max-height .3s ease; }
.cho-clamp.cho-clamp-sm { max-height: 4.8em; }
.cho-clamp.is-open { max-height: none; }
.cho-clamp-fade { position: absolute; left: 0; right: 0; bottom: 0; height: 120px; pointer-events: none; display: none;
	background: linear-gradient(to bottom, rgba(var(--bs-body-bg-rgb), 0), var(--bs-card-bg, var(--bs-body-bg)) 95%); }
.cho-clamp-sm .cho-clamp-fade { height: 2.4em; }
.cho-clamp.is-clamped:not(.is-open) .cho-clamp-fade { display: block; }
.cho-expand { font-weight: 500; }

/* vc.ru-like cards */
.cho-card .entry-content { color: var(--bs-heading-color); }
.cho-card .entry-content figure { margin: 1rem 0; }
.cho-card-badge { position: absolute; right: -3px; bottom: -3px; width: 18px; height: 18px; object-fit: cover; }
.cho-pill { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--bs-border-color); border-radius: 50rem; padding: .2rem .7rem; font-size: .875rem; color: var(--bs-heading-color); }
.cho-vote-pill { display: inline-flex; border: 1px solid var(--bs-border-color); border-radius: 50rem; overflow: hidden; }
.cho-vote-pill .btn { display: inline-flex; align-items: center; gap: .25rem; padding: .2rem .65rem; font-size: .875rem; border: 0; border-radius: 0; }
.cho-vote-pill .cho-vote-up { color: var(--bs-success); }
.cho-vote-pill .cho-vote-down { color: var(--bs-danger); border-left: 1px solid var(--bs-border-color); }
.cho-vote-pill .cho-vote-up.active { background: rgba(var(--bs-success-rgb), .1); }
.cho-vote-pill .cho-vote-down.active { background: rgba(var(--bs-danger-rgb), .1); }

/* 18+ rubric: blurred until "Показать" */
.cho-nsfw:not(.is-shown) > :not(.cho-nsfw-cover):not(.cho-clamp-fade) { filter: blur(28px); pointer-events: none; user-select: none; }
.cho-nsfw .cho-nsfw-cover { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 5rem; gap: .5rem; text-align: center; background: rgba(var(--bs-body-bg-rgb), .35); color: var(--bs-heading-color); }
.cho-nsfw.is-shown .cho-nsfw-cover { display: none; }

/* Best answer */
.cho-best-answer > .d-flex { background: rgba(var(--bs-success-rgb), .06); border-radius: .5rem; padding: .75rem; }

/* Notifications */
.badge-unread { background: rgba(var(--bs-primary-rgb), .06); }

/* Feed tabs scroll on mobile */
[data-cho-tabs] { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
[data-cho-tabs]::-webkit-scrollbar { display: none; }
[data-cho-tabs] .nav-link { white-space: nowrap; }

/* Slider: 4:3 cards like the template */
.cho-slide .card-img { aspect-ratio: 4 / 3; object-fit: cover; }
.swiper-button-disabled { opacity: 0 !important; pointer-events: none; }

/* Space for the mobile "Меню" bar */
@media (max-width: 1399.98px) { main { padding-bottom: 3rem; } }

.comment-wrap .children { list-style: none; padding-left: 1.5rem; }
.cho-pagination .nav-links { display: flex; gap: .25rem; justify-content: center; }
.cho-pagination .page-numbers { padding: .375rem .75rem; border-radius: .375rem; background: var(--bs-card-bg, #fff); }
.cho-pagination .page-numbers.current { background: var(--bs-primary); color: #fff; }

/* Telegram login widget: some browsers paint the iframe corners black. */
iframe[id^="telegram-login"] { border-radius: 8px; color-scheme: normal; }

/* Brand colours: orange "Написать", blue "Подписаться". */
.btn-write {
	--bs-btn-color: #fff;
	--bs-btn-bg: #ea580c;
	--bs-btn-border-color: #ea580c;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #c2410c;
	--bs-btn-hover-border-color: #c2410c;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #c2410c;
	--bs-btn-active-border-color: #c2410c;
}
[data-cho-follow-cat].btn-success {
	--bs-btn-bg: #1286ff;
	--bs-btn-border-color: #1286ff;
	--bs-btn-hover-bg: #0b6fd6;
	--bs-btn-hover-border-color: #0b6fd6;
	--bs-btn-active-bg: #0b6fd6;
	--bs-btn-active-border-color: #0b6fd6;
}
[data-cho-follow-cat].btn-success-soft,
[data-cho-follow-cat].btn-success-soft:hover {
	color: #1286ff;
	background-color: rgba(18, 134, 255, .1);
	border-color: transparent;
}
