/*
Theme Name:  BanksHelper
Description: Child theme of GeneratePress for BanksHelper.com: clean, fast, mobile-first IFSC layout.
Template:    generatepress
Version:     2.0.0
Author:      BanksHelper.com
Text Domain: bankshelper-theme
*/

:root {
	--bh-ink: #0f172a;
	--bh-muted: #5b6577;
	--bh-line: #e3e8ef;
	--bh-bg: #f5f7fb;
	--bh-primary: #1849a9;
	--bh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
}

body { background: var(--bh-bg); color: var(--bh-ink); font-family: var(--bh-font); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: var(--bh-primary); }
a:hover { color: #123a87; }
h1, h2, h3, h4 { color: var(--bh-ink); font-weight: 700; letter-spacing: -.01em; }
h1.entry-title, .page-title { font-size: clamp(1.5rem, 3.5vw, 2rem); line-height: 1.25; }

/* Header */
.site-header { background: #fff; border-bottom: 1px solid var(--bh-line); }
.inside-header { padding: 14px 20px; gap: 1rem; flex-wrap: wrap; }
.main-title { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.main-title a { color: var(--bh-ink); text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }
.main-title a::before { content: ""; width: 28px; height: 28px; border-radius: 8px; background: var(--bh-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2 2 7v2h20V7L12 2zm-7 9v7h3v-7H5zm5.5 0v7h3v-7h-3zM16 11v7h3v-7h-3zM2 20v2h20v-2H2z'/%3E%3C/svg%3E") center/18px no-repeat; }
.site-description { color: var(--bh-muted); font-size: .85rem; margin: 0; }
.bh-header-search { margin-left: auto; flex: 1 1 320px; max-width: 420px; }
.bh-header-search .bh-search input[type=search] { padding: .55rem .8rem; font-size: .95rem; }
.bh-header-search .bh-search button { padding: .55rem .9rem; font-size: .95rem; }

/* Navigation */
.main-navigation, .main-navigation ul ul { background: #fff; }
.main-navigation { border-bottom: 1px solid var(--bh-line); }
.main-navigation .main-nav ul li a { color: var(--bh-ink); font-weight: 600; font-size: .93rem; line-height: 48px; }
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li.current-menu-item > a { color: var(--bh-primary); background: transparent; }
.main-navigation .menu-toggle { color: var(--bh-ink); }

/* Content area */
.site-content { padding-top: 20px; }
.separate-containers .inside-article, .one-container .site-content { background: #fff; border: 1px solid var(--bh-line); border-radius: 12px; }
.bh-full .inside-article, .separate-containers .bh-full .inside-article,
.bh-ifsc .inside-article, .separate-containers.bh-ifsc .inside-article { background: transparent; border: 0; padding: 0; }
.separate-containers .site-main > * { margin-bottom: 20px; }
.container.grid-container { max-width: 1080px; }
.entry-meta { color: var(--bh-muted); font-size: .85rem; }
.paging-navigation, .page-header { background: #fff; border: 1px solid var(--bh-line); border-radius: 12px; }

/* Footer: keep it at the bottom of the window on short pages. */
body { display: flex; flex-direction: column; min-height: 100vh; }
body.admin-bar { min-height: calc(100vh - 32px); }
body > #page.site { flex: 1 0 auto; width: 100%; }
body > .site-header, body > .main-navigation, body > .bh-footer, body > .site-footer { flex: 0 0 auto; }
.bh-footer { margin-top: 2rem; }
.bh-footer { background: #0f172a; color: #cbd5e1; padding: 2rem 20px 1rem; font-size: .9rem; }
.bh-footer-inner { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2rem; }
.bh-footer h2 { color: #fff; font-size: .95rem; margin: 0 0 .5rem; }
.bh-footer ul { list-style: none; margin: 0; padding: 0; }
.bh-footer li { margin: .25rem 0; }
.bh-footer a { color: #cbd5e1; text-decoration: none; }
.bh-footer a:hover { color: #fff; text-decoration: underline; }
.bh-footer-bottom { max-width: 1080px; margin: 1.5rem auto 0; padding-top: 1rem; border-top: 1px solid #1e293b; color: #94a3b8; font-size: .8rem; }
.site-info { display: none; }

@media (max-width: 782px) {
	body.admin-bar { min-height: calc(100vh - 46px); }
}
@media (max-width: 768px) {
	.bh-footer-inner { grid-template-columns: 1fr 1fr; }
	.bh-footer-inner > :first-child { grid-column: 1 / -1; }
	.bh-header-search { max-width: none; flex-basis: 100%; }
	.inside-header { padding: 12px 16px; }
	.site-content { padding-top: 12px; }
	.container.grid-container { padding-left: 16px; padding-right: 16px; }
}
