:root {
	--bch-ink: #17261f;
	--bch-muted: #66716b;
	--bch-paper: #f7f3e9;
	--bch-cream: #eee6d3;
	--bch-red: #a83c31;
	--bch-gold: #c89535;
	--bch-green: #315d4b;
	--bch-line: rgba(23, 38, 31, .14);
}

.bch-home, .bch-page, .bch-portal-page {
	font-family: "Noto Sans Gujarati", "Nirmala UI", "Shruti", system-ui, -apple-system, sans-serif;
	color: var(--bch-ink);
}

.bch-home *, .bch-page *, .bch-portal-page * { box-sizing: border-box; }
[data-bch-entry-type][hidden] { display: none !important; }
.bch-wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.bch-home { width: 100%; margin: 18px 0 56px; clear: both; }
.bch-kicker { color: var(--bch-red); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.bch-section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding: 38px 0 22px; border-top: 1px solid var(--bch-line); }
.bch-section-head h2 { margin: 6px 0 3px; color: var(--bch-ink); font-family: Georgia, "Noto Serif Gujarati", serif; font-size: clamp(27px, 3vw, 40px); line-height: 1.15; font-weight: 700; }
.bch-section-head p { margin: 0; color: var(--bch-muted); font-size: 14px; }
.bch-text-link, .bch-mobile-more { color: var(--bch-red) !important; font-size: 14px; font-weight: 800; text-decoration: none !important; white-space: nowrap; }
.bch-text-link span, .bch-read span { display: inline-block; transition: transform .2s ease; }
.bch-text-link:hover span, .bch-read:hover span { transform: translateX(4px); }

.bch-issue-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; }
.bch-issue-card { min-width: 0; }
.bch-cover { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 4; border-radius: 4px 12px 12px 4px; background: #dfd5be; box-shadow: 7px 10px 22px rgba(35, 30, 20, .13); transition: transform .25s ease, box-shadow .25s ease; }
.bch-cover::before { position: absolute; z-index: 2; inset: 0 auto 0 0; width: 7px; content: ""; background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(255,255,255,.2), transparent); }
.bch-cover:hover { transform: translateY(-5px) rotate(-.4deg); box-shadow: 10px 16px 28px rgba(35, 30, 20, .18); }
.bch-cover img { width: 100%; height: 100%; object-fit: cover; }
.bch-cover-fallback { display: flex; height: 100%; padding: 28px 25px; flex-direction: column; color: #f7eddb; background: linear-gradient(145deg, #8f342e, #541d20); }
.bch-cover-fallback::after { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(255,255,255,.28); }
.bch-cover-fallback small { position: relative; z-index: 1; color: #eccd88; font-size: 15px; }
.bch-cover-fallback strong { position: relative; z-index: 1; margin: auto 0 12px; font-family: Georgia, "Noto Serif Gujarati", serif; font-size: clamp(25px, 2.6vw, 38px); line-height: 1.2; }
.bch-cover-fallback em { position: relative; z-index: 1; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.3); font-family: Georgia, "Noto Serif Gujarati", serif; font-size: 16px; line-height: 1.4; font-style: normal; }
.bch-issue-copy { padding: 15px 3px 0; }
.bch-issue-copy > span { color: var(--bch-gold); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.bch-issue-copy h3 { margin: 0 0 8px; color: var(--bch-ink); font-family: Georgia, "Noto Serif Gujarati", serif; font-size: 18px; line-height: 1.35; }
.bch-issue-copy a { color: var(--bch-red) !important; font-size: 12px; font-weight: 800; text-decoration: none !important; }

.bch-news-head { margin-top: 55px; }
.bch-category-tabs { display: flex; gap: 8px; padding: 0 0 20px; overflow-x: auto; scrollbar-width: none; }
.bch-category-tabs::-webkit-scrollbar { display: none; }
.bch-tab { flex: 0 0 auto; padding: 9px 15px; color: var(--bch-muted); border: 1px solid var(--bch-line); border-radius: 99px; background: transparent; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.bch-tab:hover, .bch-tab.is-active { color: white; border-color: var(--bch-green); background: var(--bch-green); }
.bch-tab-panel { display: none; }
.bch-tab-panel.is-active { display: block; animation: bch-in .28s ease; }
@keyframes bch-in { from { opacity: 0; transform: translateY(5px); } }
.bch-entry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.bch-entry-card { display: flex; min-height: 238px; overflow: hidden; flex-direction: column; border: 1px solid var(--bch-line); border-radius: 5px; background: #fff; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.bch-entry-card:hover { transform: translateY(-3px); border-color: rgba(49,93,75,.4); box-shadow: 0 12px 30px rgba(23,38,31,.08); }
.bch-entry-image { display: block; aspect-ratio: 16 / 8; overflow: hidden; }
.bch-entry-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.bch-entry-card:hover .bch-entry-image img { transform: scale(1.025); }
.bch-entry-copy { display: flex; padding: 20px; flex: 1; flex-direction: column; }
.bch-entry-meta { display: flex; align-items: center; gap: 10px; color: #818983; font-size: 11px; }
.bch-badge { display: inline-flex; padding: 4px 8px; color: var(--bch-red); border-radius: 3px; background: #f4e7e1; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.bch-type-poem .bch-badge { color: #725122; background: #f4ead2; }
.bch-type-achievement .bch-badge { color: #2d6450; background: #e1eee8; }
.bch-type-matrimonial .bch-badge { color: #813859; background: #f4e1e9; }
.bch-type-advertisement .bch-badge { color: #425d76; background: #e3edf5; }
.bch-entry-copy h3 { margin: 12px 0 8px; font-family: Georgia, "Noto Serif Gujarati", serif; font-size: 20px; line-height: 1.35; }
.bch-entry-copy h3 a { color: var(--bch-ink) !important; text-decoration: none !important; }
.bch-entry-copy p { margin: 0 0 16px; color: var(--bch-muted); font-size: 13px; line-height: 1.75; }
.bch-card-full-content { margin-bottom: 5px; color: var(--bch-muted); font-size: 13px; line-height: 1.75; }
.bch-card-full-content p { margin: 0 0 10px; }
.bch-card-full-content > *:last-child { margin-bottom: 0; }
.bch-read { margin-top: auto; color: var(--bch-red) !important; font-size: 12px; font-weight: 800; text-decoration: none !important; }
.bch-mobile-more { display: none; margin-top: 16px; }

.bch-page { min-height: 70vh; margin-top: -1px; background: #fbfaf6; }
.bch-page-hero { position: relative; overflow: hidden; padding: 62px 0 72px; color: #fff; background: var(--bch-ink); }
.bch-page-hero::after { content: "ક"; position: absolute; top: -120px; right: max(2vw, calc((100vw - 1180px) / 2)); color: rgba(255,255,255,.035); font-family: Georgia, serif; font-size: 440px; line-height: 1; }
.bch-page-hero .bch-wrap { position: relative; z-index: 1; }
.bch-page-hero .bch-kicker { color: #dcae5d; }
.bch-page-hero h1 { max-width: 730px; margin: 13px 0 14px; color: white; font-family: Georgia, "Noto Serif Gujarati", serif; font-size: clamp(44px, 7vw, 80px); line-height: 1.03; letter-spacing: -.03em; }
.bch-page-hero p { max-width: 610px; margin: 0; color: rgba(255,255,255,.7); font-size: 16px; line-height: 1.75; }
.bch-back { display: inline-block; margin-bottom: 32px; color: inherit !important; font-size: 12px; font-weight: 700; opacity: .72; text-decoration: none !important; }
.bch-back:hover { opacity: 1; }
.bch-archive-body, .bch-community-body { padding-block: 58px 90px; }
.bch-year-group + .bch-year-group { margin-top: 62px; }
.bch-year-line { display: flex; align-items: baseline; gap: 15px; margin-bottom: 23px; border-bottom: 1px solid var(--bch-line); }
.bch-year-line h2 { margin: 0 0 -1px; padding-bottom: 10px; border-bottom: 3px solid var(--bch-red); font-family: Georgia, serif; font-size: 31px; }
.bch-year-line span { color: var(--bch-muted); font-size: 12px; }
.bch-empty { padding: 65px 30px; text-align: center; border: 1px dashed var(--bch-line); border-radius: 6px; background: white; }
.bch-empty h2 { font-family: Georgia, "Noto Serif Gujarati", serif; }

.bch-community-hero { background: linear-gradient(120deg, #17392e, #17261f); }
.bch-filter { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 32px; }
.bch-filter-tabs { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.bch-filter-tabs a { flex: 0 0 auto; padding: 9px 14px; color: var(--bch-muted) !important; border: 1px solid var(--bch-line); border-radius: 99px; background: white; font-size: 12px; font-weight: 700; text-decoration: none !important; }
.bch-filter-tabs a.is-active { color: white !important; border-color: var(--bch-green); background: var(--bch-green); }
.bch-search { display: flex; flex: 0 0 auto; }
.bch-search input { width: 190px; padding: 9px 12px; border: 1px solid var(--bch-line); border-radius: 4px 0 0 4px; background: white; font: inherit; font-size: 12px; }
.bch-search button { padding: 9px 12px; color: white; border: 0; border-radius: 0 4px 4px 0; background: var(--bch-red); font: inherit; font-size: 12px; font-weight: 700; }
.bch-all-entries { grid-template-columns: repeat(3, 1fr); }
.bch-pagination { margin-top: 45px; text-align: center; }
.bch-pagination .page-numbers { display: inline-flex; min-width: 36px; height: 36px; margin: 3px; align-items: center; justify-content: center; color: var(--bch-ink); border: 1px solid var(--bch-line); border-radius: 50%; text-decoration: none; }
.bch-pagination .current { color: white; border-color: var(--bch-red); background: var(--bch-red); }

.bch-reader { padding: 62px 20px 90px; background: var(--bch-paper); }
.bch-reader-wrap { width: min(760px, 100%); margin-inline: auto; }
.bch-reader .bch-back { color: var(--bch-ink) !important; }
.bch-reader-head { padding-bottom: 30px; border-bottom: 1px solid var(--bch-line); }
.bch-reader-head h1 { margin: 20px 0 10px; font-family: Georgia, "Noto Serif Gujarati", serif; font-size: clamp(36px, 6vw, 62px); line-height: 1.16; letter-spacing: -.025em; }
.bch-byline { margin: 0; color: var(--bch-muted); font-size: 14px; }
.bch-reader-image { margin: 35px 0; }
.bch-reader-image img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 5px; }
.bch-prose { padding-block: 38px; color: #25372f; font-family: Georgia, "Noto Serif Gujarati", serif; font-size: clamp(18px, 2.1vw, 21px); line-height: 2; }
.bch-prose > *:first-child { margin-top: 0; }
.bch-prose p { margin: 0 0 1.35em; }
.bch-prose h2, .bch-prose h3 { margin-top: 1.6em; line-height: 1.35; }
.bch-prose img { max-width: 100%; height: auto; }
.bch-contact { display: flex; padding: 17px 20px; align-items: center; gap: 15px; border-left: 3px solid var(--bch-gold); background: rgba(255,255,255,.55); }
.bch-contact strong { color: var(--bch-red); font-size: 12px; text-transform: uppercase; }
.bch-reader-foot { margin-top: 45px; padding-top: 22px; border-top: 1px solid var(--bch-line); }
.bch-reader-foot a { color: var(--bch-red) !important; font-weight: 800; text-decoration: none !important; }

@media (max-width: 900px) {
	.bch-issue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bch-entry-grid, .bch-all-entries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bch-filter { align-items: stretch; flex-direction: column; }
	.bch-search input { width: 100%; }
}

@media (max-width: 600px) {
	.bch-wrap { width: min(100% - 28px, 1180px); }
	.bch-home { margin-bottom: 38px; }
	.bch-section-head { padding-top: 28px; align-items: start; flex-direction: column; gap: 12px; }
	.bch-section-head h2 { font-size: 29px; }
	.bch-section-head > .bch-text-link { display: none; }
	.bch-issue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
	.bch-issue-copy h3 { font-size: 15px; }
	.bch-news-head { margin-top: 38px; }
	.bch-entry-grid, .bch-all-entries { grid-template-columns: 1fr; }
	.bch-entry-card { min-height: 210px; }
	.bch-mobile-more { display: inline-block; }
	.bch-page-hero { padding: 38px 0 50px; }
	.bch-page-hero h1 { font-size: 45px; }
	.bch-page-hero::after { right: -80px; font-size: 320px; }
	.bch-archive-body, .bch-community-body { padding-block: 38px 65px; }
	.bch-year-group + .bch-year-group { margin-top: 45px; }
	.bch-reader { padding: 38px 16px 65px; }
	.bch-reader-head h1 { font-size: 39px; }
	.bch-prose { font-size: 18px; line-height: 1.9; }
}
