/* ============================================================
   CRITICAL FIXES — SVG Icons + Menu + Mobile
============================================================ */

/* ---- FIX 1: SVG icons always visible ---- */
.lb-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	flex-shrink: 0;
	pointer-events: none;
	overflow: visible;
}
.lb-icon svg, svg.lb-icon {
	display: block;
}

/* ---- FIX 2: Quick action icon circles — icon centered ---- */
.lb-qa-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto .6rem;
	flex-shrink: 0;
}
.lb-qa-card--orange .lb-qa-card__icon { background: #FDEADE; color: #C93A0A; }
.lb-qa-card--orange .lb-qa-card__icon svg { stroke: #C93A0A; }
.lb-qa-card--green  .lb-qa-card__icon { background: #D9EFDA; color: #2E7D32; }
.lb-qa-card--green  .lb-qa-card__icon svg { stroke: #2E7D32; }
.lb-qa-card--blue   .lb-qa-card__icon { background: #D4E4F7; color: #1A4F8B; }
.lb-qa-card--blue   .lb-qa-card__icon svg { stroke: #1A4F8B; }
.lb-qa-card--gold   .lb-qa-card__icon { background: #FFF0C2; color: #B37400; }
.lb-qa-card--gold   .lb-qa-card__icon svg { stroke: #B37400; }

/* ---- FIX 3: Mobile hamburger button ---- */
button.menu-toggle,
.menu-toggle {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	background: var(--lb-primary) !important;
	color: #fff !important;
	border: none !important;
	padding: .5rem .9rem !important;
	border-radius: 6px !important;
	font-family: var(--lb-font-main) !important;
	font-size: .82rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: background .2s ease !important;
	min-width: 44px;
	min-height: 44px;
}
button.menu-toggle:hover,
.menu-toggle:hover { background: var(--lb-primary-dark) !important; }
button.menu-toggle .mobile-menu,
.menu-toggle .mobile-menu { display: none; }

/* Hamburger icon lines — drawn with CSS */
.menu-toggle-icon-wrap {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 20px;
}
.menu-toggle-icon-wrap span {
	display: block;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transition: transform .3s ease, opacity .3s ease;
}
/* Animate to X when open */
.nav-open .menu-toggle-icon-wrap span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-open .menu-toggle-icon-wrap span:nth-child(2) { opacity: 0; }
.nav-open .menu-toggle-icon-wrap span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---- FIX 4: GeneratePress nav on mobile ---- */
@media (max-width: 768px) {
	.main-navigation .main-nav { display: none; }
	.main-navigation .main-nav.toggled-on { display: block; }
	.main-navigation .main-nav ul {
		flex-direction: column;
		background: var(--lb-secondary-dark);
	}
	.main-navigation .main-nav ul li a {
		border-bottom: 1px solid rgba(255,255,255,.1) !important;
		padding: .9rem 1.25rem !important;
	}
	.site-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: .75rem 1rem !important;
	}
}

/* ---- FIX 5: Stats band numbers ---- */
.lb-stat__num {
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--lb-gold);
	line-height: 1.15;
	display: block;
}
@media (max-width: 480px) {
	.lb-stat__num { font-size: 1.1rem; }
	.lb-stats-band__inner { gap: .75rem; }
}

/* ---- FIX 6: Top bar mobile ---- */
@media (max-width: 600px) {
	.lb-top-bar__inner {
		padding: .4rem .75rem;
	}
	.lb-ticker { display: none; }
	.lb-top-bar__right { width: 100%; justify-content: space-between; }
}

/* ---- FIX 7: Breaking band text wrap ---- */
.lb-breaking-band__text {
	max-width: calc(var(--lb-max-width) - 160px);
	margin: 0 auto;
}

/* ---- FIX 8: Section see-all link ---- */
.lb-see-all {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	font-size: .78rem;
	color: var(--lb-secondary);
	font-weight: 600;
	text-decoration: none;
	transition: color .2s;
}
.lb-see-all:hover { color: var(--lb-primary); }

/* ---- FIX 9: Section block spacing ---- */
.lb-section-block { margin-bottom: 2.25rem; }

/* ---- FIX 10: 404 page ---- */
.lb-404-wrap {
	max-width: 600px;
	margin: 4rem auto;
	padding: 2rem;
	text-align: center;
}
.lb-404-icon {
	width: 90px; height: 90px;
	background: var(--lb-primary-light);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 1.5rem;
	color: var(--lb-primary);
}
.lb-404-title {
	font-size: 3rem;
	font-weight: 900;
	color: var(--lb-primary);
	line-height: 1;
	margin-bottom: .5rem;
}
.lb-404-subtitle {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--lb-text);
	margin-bottom: .75rem;
}
.lb-404-desc {
	font-size: .9rem;
	color: var(--lb-text-muted);
	margin-bottom: 2rem;
	line-height: 1.7;
}
.lb-404-links {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: center;
	margin-bottom: 2rem;
}
.lb-404-search {
	display: flex;
	max-width: 400px;
	margin: 0 auto;
	border: 2px solid var(--lb-border);
	border-radius: 30px;
	overflow: hidden;
	background: #fff;
}
.lb-404-search input {
	flex: 1;
	border: none;
	outline: none;
	padding: .6rem 1rem;
	font-family: var(--lb-font-main);
	font-size: .88rem;
}
.lb-404-search button {
	background: var(--lb-primary);
	border: none;
	padding: .6rem 1.1rem;
	cursor: pointer;
	color: #fff;
	display: flex; align-items: center;
}

/* ---- FIX 11: Contact page ---- */
.lb-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}
.lb-contact-card {
	background: var(--lb-card);
	border-radius: var(--lb-radius-lg);
	padding: 1.5rem;
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow-sm);
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	transition: var(--lb-transition);
}
.lb-contact-card:hover { box-shadow: var(--lb-shadow); transform: translateY(-2px); }
.lb-contact-card__icon {
	width: 48px; height: 48px;
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.lb-contact-card__icon--red    { background: var(--lb-primary-light); color: var(--lb-primary); }
.lb-contact-card__icon--blue   { background: var(--lb-secondary-light); color: var(--lb-secondary); }
.lb-contact-card__icon--green  { background: #D9EFDA; color: var(--lb-green); }
.lb-contact-card__icon--gold   { background: #FFF0C2; color: #8B6000; }
.lb-contact-card__icon svg { stroke: currentColor; }
.lb-contact-card__title { font-size: .95rem; font-weight: 700; margin-bottom: .3rem; color: var(--lb-text); }
.lb-contact-card__value { font-size: 1.1rem; font-weight: 800; color: var(--lb-primary); display: block; margin-bottom: .2rem; }
.lb-contact-card__desc  { font-size: .8rem; color: var(--lb-text-muted); line-height: 1.5; }

/* Complaint steps */
.lb-complaint-steps { counter-reset: step; padding: 0; margin: 0; }
.lb-complaint-step {
	display: flex;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--lb-border);
	counter-increment: step;
}
.lb-complaint-step:last-child { border-bottom: none; }
.lb-complaint-step__num {
	width: 36px; height: 36px;
	background: var(--lb-primary);
	color: #fff;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: .85rem;
	font-weight: 800;
	flex-shrink: 0;
}
.lb-complaint-step__title { font-size: .9rem; font-weight: 700; margin-bottom: .2rem; }
.lb-complaint-step__desc  { font-size: .82rem; color: var(--lb-text-muted); line-height: 1.5; }

/* ---- FIX 12: Info grid on homepage ---- */
.lb-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.lb-info-card {
	background: var(--lb-card);
	border-radius: var(--lb-radius-lg);
	padding: 1.25rem;
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow-sm);
	text-align: center;
	transition: var(--lb-transition);
}
.lb-info-card:hover { box-shadow: var(--lb-shadow); transform: translateY(-2px); }
.lb-info-card__icon {
	width: 52px; height: 52px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto .75rem;
}
.lb-info-card__val  { font-size: 1.5rem; font-weight: 900; color: var(--lb-primary); display: block; }
.lb-info-card__label { font-size: .78rem; color: var(--lb-text-muted); display: block; margin-top: .2rem; }
.lb-info-card__desc { font-size: .82rem; color: var(--lb-text); margin-top: .5rem; line-height: 1.5; }

/* ---- FIX 13: Scheme overview table ---- */
.lb-scheme-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .86rem;
	background: var(--lb-card);
	border-radius: var(--lb-radius-lg);
	overflow: hidden;
	box-shadow: var(--lb-shadow-sm);
}
.lb-scheme-table th {
	background: var(--lb-secondary);
	color: #fff;
	padding: .7rem 1rem;
	text-align: left;
	font-weight: 700;
}
.lb-scheme-table td {
	padding: .65rem 1rem;
	border-bottom: 1px solid var(--lb-border);
	vertical-align: top;
	line-height: 1.55;
}
.lb-scheme-table tr:last-child td { border-bottom: none; }
.lb-scheme-table tr:nth-child(even) td { background: var(--lb-bg); }
.lb-scheme-table td:first-child { font-weight: 600; color: var(--lb-secondary); width: 38%; }

@media (max-width: 768px) {
	.lb-contact-grid { grid-template-columns: 1fr; }
	.lb-info-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
	.lb-info-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   FIX 14: Double hamburger — hide GP's duplicate toggle
============================================================ */
/* GeneratePress कधी कधी दोन menu-toggle buttons render करतो */
.site-header .menu-toggle + .menu-toggle,
.inside-header .menu-toggle ~ .menu-toggle {
	display: none !important;
}

/* ---- FIX 15: Homepage / 404 — sidebar hide करा (no-sidebar layout) ---- */
.home .widget-area,
.error404 .widget-area {
	display: none !important;
}
.home .content-area,
.error404 .content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

/* ---- FIX 16: Footer icons — सुनिश्चित करा दिसतात ---- */
.site-footer .lb-icon,
.site-footer svg.lb-icon {
	display: inline-flex !important;
	vertical-align: middle;
	flex-shrink: 0;
}
.lb-footer-logo__icon .lb-icon,
.lb-footer-col h4 .lb-icon,
.lb-footer-links a .lb-icon,
.lb-disclaimer-band .lb-icon {
	display: inline-block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* ---- FIX 17: Hero two-column → single column on mobile ---- */
@media (max-width: 640px) {
	.lb-hero__inner {
		grid-template-columns: 1fr !important;
	}
	.lb-hero__panel {
		display: none !important;
	}
	.lb-hero__title { font-size: 1.5rem !important; }
	.lb-hero__subtitle { font-size: .88rem !important; }
}

/* ---- FIX 18: GeneratePress override — force no sidebar on front page ---- */
.home.generate-sidebar-layout-no-sidebar .widget-area { display: none !important; }
.home .generate-columns-container {
	display: block !important;
}
.home .content-area {
	width: 100% !important;
	max-width: 100% !important;
}

/* ---- FIX 19: Admin bar + top-bar spacing ---- */
.admin-bar .lb-top-bar {
	top: 32px;
}
@media (max-width: 782px) {
	.admin-bar .lb-top-bar { top: 46px; }
}

/* ---- FIX 20: Breaking band wrapping fix on narrow mobile ---- */
@media (max-width: 360px) {
	.lb-breaking-band__text { font-size: .75rem; }
	.lb-hero__cta { flex-direction: column; gap: .5rem; }
	.lb-btn--hero-primary, .lb-btn--hero-outline { width: 100%; justify-content: center; }
}

/* ============================================================
   FIX 21: DOUBLE HAMBURGER — Hide GP's duplicate toggle
   (CSS safety net even if PHP filter works)
============================================================ */
.site-header .inside-header .menu-toggle + .menu-toggle,
.nav-aligned-right .main-navigation ~ .menu-toggle,
.site-header .main-navigation .menu-toggle ~ .menu-toggle { display:none!important; }

/* FIX 22: HOMEPAGE OVERFLOW — No horizontal scroll */
.home, .home body, .home .site-container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}
.home .inside-site-inner,
.home .site-content,
.home .entry-content,
.home .inside-article,
.home article.post,
.home .page-content { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }

/* FIX 23: SIDEBAR FORCE HIDE on homepage */
.home .widget-area,
.home aside.widget-area,
.home .generate-columns-container > aside { display: none !important; }
.home .content-area,
.home .generate-columns-container > .content-area {
    width: 100% !important; max-width: 100% !important;
    float: none !important; flex: none !important;
}
/* GeneratePress grid container */
.home .generate-columns-container { display: block !important; }

/* FIX 24: SVG ICONS — Ensure proper inline display */
.lbp svg.lb-icon,
.lbv5-hero svg.lb-icon,
.lb-icon { display: inline-flex !important; vertical-align: middle; flex-shrink: 0; }

/* FIX 25: Page header title area — only site name, no logo overlap */
.home .site-branding { padding: 0 !important; }
.home .site-header .site-title { font-size: 1.15rem !important; }

/* FIX 26: lbp sections should not inherit GP padding */
.home .lbp-sec .lbp-sec__inner,
.home .lbv5-section .lbv5-section-inner { padding: 0 !important; }

/* FIX 27: lb-full-width-content */
.lb-full-width-content { width: 100% !important; max-width: 100% !important; }
