/* ============================================================
   VoteOurVoice — AI Redesign  v2
   Aggressively overrides original style.css / responsive.css
   while keeping every JS hook intact.
   ============================================================ */

:root {
	--rd-navy:        #0B1E3B;
	--rd-navy-deep:   #071530;
	--rd-navy-soft:   #1A3260;
	--rd-red:         #BF0D3E;
	--rd-red-hover:   #A00B34;
	--rd-blue:        #1E5FC4;
	--rd-gold:        #E8B923;
	--rd-bg:          #F0F4FA;
	--rd-bg-alt:      #E8EDF6;
	--rd-text:        #1A1F36;
	--rd-text-muted:  #5A6578;
	--rd-border:      #D8E0ED;
	--rd-white:       #FFFFFF;
	--rd-gradient:    linear-gradient(135deg, #BF0D3E 0%, #8B0A2B 100%);
	--rd-gradient-blue: linear-gradient(135deg, #1E5FC4 0%, #0B1E3B 100%);
	--rd-shadow-sm:   0 1px 4px rgba(11,30,59,0.08);
	--rd-shadow-md:   0 4px 20px rgba(11,30,59,0.12);
	--rd-shadow-lg:   0 12px 40px rgba(11,30,59,0.18);
	--rd-radius:      12px;
	--rd-radius-sm:   8px;
	--rd-radius-lg:   20px;
	--rd-font:        'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--rd-font-head:   'Space Grotesk', 'Inter', sans-serif;
}

/* ================================================================
   GLOBAL RESETS
   ================================================================ */
body {
	font-family: var(--rd-font) !important;
	color: var(--rd-text) !important;
	background: var(--rd-bg) !important;
	-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 { font-family: var(--rd-font-head); }
.section-padding { margin-top: 0 !important; }

/* ================================================================
   NAVBAR
   ================================================================ */
.rd-navbar {
	background: rgba(11,30,59,0.96) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	transition: all 0.3s ease;
}
.rd-navbar.top-nav-collapse {
	background: rgba(7,21,48,0.99) !important;
	box-shadow: 0 4px 24px rgba(0,0,0,0.35);
}
.rd-navbar .navbar-brand img,
.rd-navbar .logo-image img { width: 155px !important; height: auto !important; }
.rd-nav-links {
	display: flex !important; gap: 4px !important;
	list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.rd-nav-links .nav-item { list-style: none; }
.rd-nav-links .nav-link {
	color: rgba(255,255,255,0.82) !important; font-size: 14px !important;
	font-weight: 500 !important; padding: 8px 14px !important;
	border-radius: 8px !important; text-decoration: none !important;
	transition: all 0.2s ease !important;
}
.rd-nav-links .nav-link:hover { color: #fff !important; background: rgba(255,255,255,0.09) !important; }
.rd-navbar .signup-area { margin-left: auto; }
.rd-navbar .signup-area .signup { display: flex; align-items: center; gap: 8px; }
.rd-navbar .signup-area .area { display: inline-block; }
.rd-navbar .signup-area .login {
	color: rgba(255,255,255,0.85) !important; font-weight: 500 !important;
	font-size: 14px !important; padding: 8px 14px !important; text-decoration: none !important;
}
.rd-cta-btn {
	display: inline-block !important;
	background: var(--rd-gradient) !important; border: none !important;
	padding: 9px 20px !important; border-radius: 8px !important;
	color: #fff !important; font-weight: 600 !important; font-size: 14px !important;
	text-decoration: none !important; transition: opacity 0.2s ease !important;
	box-shadow: 0 4px 14px rgba(191,13,62,0.35) !important;
}
.rd-cta-btn:hover { opacity: 0.88 !important; }

/* ================================================================
   HERO
   ================================================================ */
.rd-hero, #hero-area.rd-hero {
	position: relative !important; min-height: 100vh !important;
	background: var(--rd-navy-deep) !important;
	padding-top: 110px !important; padding-bottom: 80px !important;
	overflow: hidden !important; display: flex !important; align-items: center !important;
}
#hero-area .hero-overlay { background: none !important; background-image: none !important; }
.rd-hero-bg { position: absolute !important; inset: 0 !important; z-index: 0 !important; pointer-events: none; }
.rd-hero-gradient {
	position: absolute; inset: 0;
	background: radial-gradient(ellipse at 15% 25%,rgba(191,13,62,0.28) 0%,transparent 55%),
	            radial-gradient(ellipse at 85% 75%,rgba(30,95,196,0.32) 0%,transparent 55%),
	            linear-gradient(180deg,#071530 0%,#0B1E3B 100%);
}
.rd-hero-grid {
	position: absolute; inset: 0;
	background-image: linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),
	                  linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(ellipse at center,black 30%,transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse at center,black 30%,transparent 75%);
}
.rd-hero-container { position: relative !important; z-index: 2 !important; }

.rd-hero-badge {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 16px; background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.14); border-radius: 100px;
	color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.10em; margin-bottom: 22px;
}
.rd-badge-dot {
	width: 7px; height: 7px; background: #34D399; border-radius: 50%; flex-shrink: 0;
	box-shadow: 0 0 0 4px rgba(52,211,153,0.25); animation: rd-pulse 2.2s infinite;
}
@keyframes rd-pulse {
	0%,100%{ box-shadow: 0 0 0 4px rgba(52,211,153,0.25); }
	50%    { box-shadow: 0 0 0 8px rgba(52,211,153,0.10); }
}
.rd-hero-title {
	font-family: var(--rd-font-head) !important;
	font-size: clamp(34px,5.5vw,66px) !important; font-weight: 700 !important;
	color: #fff !important; line-height: 1.06 !important;
	letter-spacing: -0.02em !important; margin: 0 0 18px !important;
}
.rd-hero-gradient-text {
	background: linear-gradient(135deg,#FF8FAB 0%,#BF0D3E 45%,#7BAEF8 100%);
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.rd-hero-sub {
	font-size: clamp(15px,1.7vw,18px) !important; color: rgba(255,255,255,0.76) !important;
	line-height: 1.65 !important; max-width: 660px !important; margin: 0 auto 32px !important;
}

/* ZIP search — reset absolute/float mess from original */
.election1 .content, .election2 .content { position: static !important; display: block !important; }
.rd-zip-search {
	position: relative !important; max-width: 520px !important;
	margin: 0 auto 16px !important; background: #fff !important;
	border-radius: 100px !important; padding: 5px 5px 5px 16px !important;
	display: flex !important; align-items: center !important;
	box-shadow: 0 20px 60px rgba(0,0,0,0.30) !important; overflow: visible !important;
}
.election1 .content .search-icon,
.election2 .content .search-icon,
.rd-zip-search .search-icon {
	position: static !important; margin-left: 0 !important;
	width: auto !important; height: auto !important; background: none !important;
	display: flex !important; align-items: center !important; padding: 0 !important;
}
.rd-zip-submit {
	background: var(--rd-gradient) !important; color: #fff !important;
	padding: 12px 22px !important; border-radius: 100px !important;
	font-weight: 600 !important; font-size: 14px !important; cursor: pointer !important;
	display: inline-flex !important; align-items: center !important; gap: 8px !important;
	white-space: nowrap !important; flex-shrink: 0 !important; border: none !important;
	line-height: 1.4 !important; transition: opacity 0.2s !important;
}
.rd-zip-submit:hover { opacity: 0.88 !important; }
.rd-zip-submit i { font-size: 12px; }
.rd-zip-icon { color: var(--rd-red) !important; font-size: 16px !important; margin-right: 4px !important; flex-shrink: 0; }
.rd-zip-input,
.election1 .content input.rd-zip-input,
.election2 .content input.rd-zip-input {
	flex: 1 !important; width: auto !important; max-width: none !important;
	min-width: 0 !important; height: auto !important; border: none !important;
	background: transparent !important; padding: 12px 8px !important;
	font-size: 16px !important; color: var(--rd-text) !important; font-weight: 500 !important;
	box-shadow: none !important; outline: none !important;
	border-radius: 0 !important; display: block !important; margin: 0 !important;
}
.rd-zip-input::placeholder { color: #9FABB8 !important; }
.rd-zip-note {
	color: #FECDD3 !important; text-align: center !important;
	font-size: 13px !important; margin-top: 12px !important; display: block !important;
}
.rd-zip-loader { text-align: center; margin-top: 12px !important; }

.rd-hero-meta {
	display: flex !important; gap: 22px !important; justify-content: center !important;
	flex-wrap: wrap !important; margin-top: 20px !important; margin-bottom: 44px !important;
}
.rd-hero-meta-item {
	color: rgba(255,255,255,0.72) !important; font-size: 13px !important;
	font-weight: 500 !important; display: inline-flex !important; align-items: center !important; gap: 7px !important;
}
.rd-hero-meta-item i { color: #34D399 !important; }
.rd-hero-stats {
	display: grid !important; grid-template-columns: repeat(3,1fr) !important;
	gap: 12px !important; max-width: 680px !important; margin: 0 auto !important;
	padding: 24px 28px !important; background: rgba(255,255,255,0.06) !important;
	border: 1px solid rgba(255,255,255,0.10) !important; border-radius: 18px !important;
	backdrop-filter: blur(10px);
}
.rd-stat { text-align: center; }
.rd-stat-num { font-family: var(--rd-font-head) !important; font-size: clamp(22px,3vw,36px) !important; font-weight: 700 !important; color: #fff !important; line-height: 1 !important; margin-bottom: 5px !important; }
.rd-stat-label { color: rgba(255,255,255,0.68) !important; font-size: 12px !important; font-weight: 500 !important; }

/* ================================================================
   SECTION HELPERS
   ================================================================ */
.rd-section-label {
	display: inline-block; padding: 5px 14px; background: rgba(191,13,62,0.09); color: var(--rd-red);
	font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; border-radius: 100px; margin-bottom: 14px;
}
.rd-section-label.centered { display: block; text-align: center; }
.rd-section-label.light { background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.9); }
.rd-section-label i { margin-right: 5px; }
.rd-section-heading {
	font-family: var(--rd-font-head) !important; font-size: clamp(26px,3.8vw,44px) !important;
	font-weight: 700 !important; color: var(--rd-navy-deep) !important;
	line-height: 1.15 !important; letter-spacing: -0.02em !important; margin-bottom: 18px !important;
}
.rd-section-heading.light { color: #fff !important; }
.rd-section-para { font-size: 16px !important; color: var(--rd-text-muted) !important; line-height: 1.7 !important; margin-bottom: 16px !important; }
.rd-section-para.light { color: rgba(255,255,255,0.80) !important; }
.rd-accent-text { background: var(--rd-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rd-how-header { margin-bottom: 52px; }

.rd-btn-primary {
	display: inline-flex !important; align-items: center !important; gap: 8px !important;
	padding: 13px 26px !important; background: var(--rd-gradient) !important;
	color: #fff !important; font-weight: 600 !important; font-size: 15px !important;
	text-decoration: none !important; border-radius: 10px !important; border: none !important;
	cursor: pointer !important; transition: opacity 0.2s ease !important;
	box-shadow: 0 6px 18px rgba(191,13,62,0.30) !important; line-height: 1.4 !important;
}
.rd-btn-primary:hover { opacity: 0.88 !important; color: #fff !important; }
.rd-btn-primary i { font-size: 12px; }
.rd-btn-wide { width: 100% !important; justify-content: center !important; }
.rd-inline-cta { margin-top: 22px; }

/* ================================================================
   WHY SECTION
   ================================================================ */
.rd-why-section, #red-blue { padding: 90px 0 !important; background: var(--rd-bg) !important; }
#red-blue .dsktpbg { background: none !important; background-image: none !important; }
.rd-why-img-wrap { border-radius: var(--rd-radius-lg); overflow: hidden; box-shadow: var(--rd-shadow-lg); }
.rd-why-img-wrap img { width: 100%; height: auto; display: block; }
.rd-why-content { padding-left: 30px; }
.rd-why-content h2, .politicians h2 { color: var(--rd-navy-deep) !important; }

/* ================================================================
   HOW IT WORKS
   ================================================================ */
.rd-how-section { padding: 90px 0 !important; background: var(--rd-bg-alt) !important; }
.rd-step-card {
	background: #fff !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius-lg) !important; padding: 34px 26px !important;
	height: 100% !important; position: relative !important; margin-bottom: 22px !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important; overflow: hidden;
}
.rd-step-card:hover { transform: translateY(-5px) !important; box-shadow: var(--rd-shadow-lg) !important; border-color: transparent !important; }
.rd-step-num {
	font-family: var(--rd-font-head) !important; font-size: 50px !important; font-weight: 700 !important;
	line-height: 1 !important; opacity: 0.18 !important; position: absolute !important;
	top: 20px !important; right: 22px !important; margin: 0 !important;
	background: var(--rd-gradient) !important; -webkit-background-clip: text !important;
	background-clip: text !important; -webkit-text-fill-color: transparent !important;
}
.rd-step-icon {
	width: 54px; height: 54px; border-radius: 13px; background: rgba(191,13,62,0.09);
	color: var(--rd-red); display: flex; align-items: center; justify-content: center;
	font-size: 22px; margin-bottom: 18px;
}
.rd-step-card h4 { font-family: var(--rd-font-head) !important; font-size: 19px !important; font-weight: 700 !important; color: var(--rd-navy-deep) !important; margin-bottom: 10px !important; }
.rd-step-card p { color: var(--rd-text-muted) !important; font-size: 15px !important; line-height: 1.6 !important; margin: 0 !important; }

/* ================================================================
   AI SECTION
   ================================================================ */
.rd-ai-section { padding: 100px 0 !important; background: #fff !important; position: relative; overflow: hidden; }
.rd-ai-section::before {
	content:''; position: absolute; top: -180px; right: -180px;
	width: 480px; height: 480px;
	background: radial-gradient(circle,rgba(30,95,196,0.10) 0%,transparent 70%); pointer-events: none;
}
.rd-ai-content { padding-right: 28px; }
.rd-feature-list { list-style: none !important; padding: 0 !important; margin: 20px 0 28px !important; }
.rd-feature-list li { padding: 9px 0 !important; font-size: 15px !important; color: var(--rd-text) !important; display: flex !important; align-items: center !important; gap: 11px !important; }
.rd-feature-list li i { color: #10B981 !important; font-size: 17px !important; flex-shrink: 0; }
.rd-ai-window { background: #fff; border-radius: var(--rd-radius-lg); box-shadow: var(--rd-shadow-lg); overflow: hidden; border: 1px solid var(--rd-border); }
.rd-ai-window-top { background: var(--rd-navy-deep); padding: 13px 16px; display: flex; align-items: center; gap: 7px; }
.rd-dot { width: 11px; height: 11px; border-radius: 50%; }
.rd-dot.red   { background: #FF5F57; }
.rd-dot.yellow{ background: #FEBC2E; }
.rd-dot.green { background: #28C840; }
.rd-ai-window-title { color: rgba(255,255,255,0.65); font-size: 12px; margin-left: auto; font-weight: 500; }
.rd-ai-window-body { padding: 22px; min-height: 340px; background: #F9FAFB; }
.rd-ai-msg { display: flex; gap: 10px; margin-bottom: 14px; animation: rd-slideUp 0.35s ease; }
.rd-ai-msg.user { justify-content: flex-end; }
.rd-ai-msg.bot  { justify-content: flex-start; }
@keyframes rd-slideUp { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.rd-ai-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--rd-gradient); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.rd-ai-bubble { max-width: 78%; padding: 11px 15px; border-radius: 14px; font-size: 14px; line-height: 1.55; color: var(--rd-text); }
.rd-ai-msg.user .rd-ai-bubble { background: var(--rd-gradient); color: #fff; border-bottom-right-radius: 4px; }
.rd-ai-msg.bot  .rd-ai-bubble { background: #fff; border: 1px solid var(--rd-border); border-bottom-left-radius: 4px; }
.rd-ai-point { display: block; padding: 1px 0; }
.rd-ai-typing { display: flex; gap: 4px; padding: 11px 15px; background: #fff; border: 1px solid var(--rd-border); border-radius: 14px; border-bottom-left-radius: 4px; width: fit-content; margin-left: 44px; }
.rd-ai-typing span { width: 6px; height: 6px; background: #94A3B8; border-radius: 50%; animation: rd-type 1.4s infinite; }
.rd-ai-typing span:nth-child(2){ animation-delay: 0.2s; }
.rd-ai-typing span:nth-child(3){ animation-delay: 0.4s; }
@keyframes rd-type { 0%,60%,100%{opacity:0.3;transform:translateY(0)} 30%{opacity:1;transform:translateY(-4px)} }

/* ================================================================
   GRADING SECTION
   ================================================================ */
.rd-grade-section, #grade { padding: 90px 0 !important; background: var(--rd-bg) !important; }
.grade .icon-box.rd-grade-card, .rd-grade-card {
	background: #fff !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius-lg) !important; padding: 38px 24px !important;
	text-align: center !important; margin-bottom: 22px !important;
	position: relative !important; overflow: hidden !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.rd-grade-card:hover { transform: translateY(-5px) !important; box-shadow: var(--rd-shadow-lg) !important; }
.rd-grade-card::before { content:''; position: absolute; top:0;left:0;right:0; height:4px; border-radius:4px 4px 0 0; }
.rd-grade-red::before   { background: var(--rd-gradient); }
.rd-grade-blue::before  { background: var(--rd-gradient-blue); }
.rd-grade-gold::before  { background: linear-gradient(135deg,#FBBF24,#E8B923); }
.grade .icon-box.rd-grade-card .icon, .rd-grade-card .icon {
	width: 68px !important; height: 68px !important; border-radius: 16px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 26px !important; margin: 0 auto 18px !important;
	color: #fff !important; background: var(--rd-gradient) !important;
}
.grade .icon-box.rd-grade-card .icon1, .rd-grade-card .icon1 {
	width: 68px !important; height: 68px !important; border-radius: 16px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 26px !important; margin: 0 auto 18px !important;
	color: #fff !important; background: var(--rd-gradient-blue) !important;
}
.grade .icon-box.rd-grade-card .icon2, .rd-grade-card .icon2 {
	width: 68px !important; height: 68px !important; border-radius: 16px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 26px !important; margin: 0 auto 18px !important;
	color: #fff !important; background: linear-gradient(135deg,#FBBF24,#E8B923) !important;
}
.rd-grade-card h4 { font-family: var(--rd-font-head) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--rd-navy-deep) !important; margin-bottom: 8px !important; }
.rd-grade-card p { color: var(--rd-text-muted) !important; font-size: 15px !important; margin: 0 !important; }
.rd-grade-cta {
	background: linear-gradient(135deg,var(--rd-navy-deep),var(--rd-navy)) !important;
	padding: 30px 32px !important; border-radius: var(--rd-radius-lg) !important;
	align-items: center !important; margin: 28px 0 0 !important;
}
.grade-block.rd-grade-cta p, .rd-grade-cta p { color: #fff !important; font-size: 18px !important; font-weight: 600 !important; margin: 0 !important; }
.rd-grade-cta .redarea { text-align: right; }

/* ================================================================
   VOICE / ZIP #2
   ================================================================ */
.rd-voice-section, #voice-area.rd-voice-section {
	position: relative !important; padding: 100px 0 !important;
	background: var(--rd-navy-deep) !important; overflow: hidden !important;
}
#voice-area.rd-voice-section .hero-overlay,
.rd-voice-section .hero-overlay {
	background: none !important; background-color: transparent !important; background-image: none !important;
}
.rd-voice-section .rd-section-heading { color: #fff !important; }
.rd-voice-section .rd-section-para { color: rgba(255,255,255,0.78) !important; }
.rd-zip-dark { background: #fff !important; }

/* ================================================================
   REPORT CARD SECTION — bill cards + politician cards
   ================================================================ */
.rd-report-section, #report-card.report-card-result {
	padding: 80px 0 !important; background: var(--rd-bg-alt) !important;
}
.rd-report-section .card-bg, #report-card.report-card-result .card-bg {
	background: none !important; background-image: none !important; padding: 0 !important;
}
.rd-report-section .basic-1 { background: none !important; }
.rd-report-wrap {
	background: #fff !important; border-radius: var(--rd-radius-lg) !important;
	padding: 32px !important; box-shadow: var(--rd-shadow-md) !important;
}

/* Politician cards */
#pol_data h2 { font-family: var(--rd-font-head) !important; color: var(--rd-navy-deep) !important; font-size: 26px !important; font-weight: 700 !important; margin-bottom: 22px !important; text-align: center !important; }
#pol_data h2 span { color: var(--rd-red) !important; }
#pol_data .para {
	color: var(--rd-text-muted) !important; font-size: 15px !important; text-align: center !important;
	margin: 20px 0 !important; padding: 16px !important;
	background: rgba(30,95,196,0.06) !important; border-radius: var(--rd-radius-sm) !important;
	border-left: 4px solid var(--rd-blue) !important;
}
/* Kill dark navy man-info */
.lightbox-basic-submit .man-info, #pol_data .man-info {
	background: #fff !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius) !important; color: var(--rd-text) !important;
	width: auto !important; padding: 18px !important; margin-top: 8px !important;
	display: flex !important; align-items: center !important; gap: 14px !important;
	overflow: visible !important; position: relative !important; height: auto !important;
}
.lightbox-basic-submit .man-info img, #pol_data .man-info img {
	width: 72px !important; height: 72px !important; border-radius: 50% !important;
	object-fit: cover !important; flex-shrink: 0 !important; border: 3px solid var(--rd-bg-alt) !important;
}
.lightbox-basic-submit .man-info .content, #pol_data .man-info .content {
	position: static !important; display: block !important; margin: 0 !important;
}
.lightbox-basic-submit .man-info .content h5, #pol_data .man-info .content h5 {
	color: var(--rd-navy-deep) !important; font-size: 16px !important; font-weight: 700 !important; margin-bottom: 4px !important; line-height: 1.3 !important;
}
.lightbox-basic-submit .man-info .content p, #pol_data .man-info .content p {
	color: var(--rd-text-muted) !important; font-size: 13px !important; margin: 0 !important; line-height: 1.4 !important;
}

/* Bill cards — replace float/absolute with flex */
.lightbox-basic-submit .bill-info {
	background: #fff !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius) !important; margin-top: 18px !important;
	overflow: visible !important; padding: 0 !important;
}
.lightbox-basic-submit .bill-info .header {
	background: var(--rd-navy-deep) !important; color: #fff !important;
	padding: 14px 20px !important; border-radius: var(--rd-radius) var(--rd-radius) 0 0 !important;
}
.lightbox-basic-submit .bill-info .header h6 {
	color: #fff !important; font-size: 14px !important; font-weight: 600 !important; margin: 0 !important; line-height: 1.4 !important;
}
.lightbox-basic-submit .bill-info .middle {
	display: flex !important; flex-direction: row !important; align-items: stretch !important;
	background: var(--rd-bg-alt) !important; overflow: visible !important;
	position: static !important; height: auto !important;
}
/* Kill all absolute/float from original */
.lightbox-basic-submit .bill-info .middle .left-part,
.lightbox-basic-submit .bill-info .middle .middle-part,
.lightbox-basic-submit .bill-info .middle .right-part {
	position: static !important; float: none !important;
	width: auto !important; height: auto !important;
	left: auto !important; top: auto !important; overflow: visible !important;
}
.lightbox-basic-submit .bill-info .middle .left-part {
	flex: 0 0 160px !important; padding: 16px 14px !important;
	border-right: 1px solid var(--rd-border) !important;
}
.lightbox-basic-submit .bill-info .middle .left-part .content {
	display: flex !important; gap: 4px !important; padding: 3px 0 !important; flex-direction: row !important;
}
.lightbox-basic-submit .bill-info .middle .left-part .content .first,
.lightbox-basic-submit .bill-info .middle .left-part .content .second,
.lightbox-basic-submit .bill-info .middle .left-part .second {
	float: none !important; width: auto !important; position: static !important;
}
.lightbox-basic-submit .bill-info .middle .left-part .content .first p {
	color: var(--rd-text-muted) !important; font-size: 12px !important; font-weight: 600 !important;
	margin: 0 !important; white-space: nowrap !important;
}
.lightbox-basic-submit .bill-info .middle .left-part .content .second p {
	color: var(--rd-text) !important; font-size: 12px !important; font-weight: 600 !important; margin: 0 !important;
}
.lightbox-basic-submit .bill-info .middle .middle-part {
	flex: 1 !important; padding: 16px 16px !important;
	border-right: 1px solid var(--rd-border) !important; border-left: none !important;
	display: flex !important; flex-direction: column !important; gap: 8px !important;
}
.lightbox-basic-submit .bill-info .middle .middle-part p { font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important; }
.lightbox-basic-submit .bill-info .middle .middle-part a {
	position: static !important; display: inline-flex !important; align-items: center !important; gap: 5px !important;
	color: var(--rd-red) !important; font-weight: 600 !important; font-size: 12px !important;
	text-decoration: none !important; padding: 5px 10px !important;
	background: rgba(191,13,62,0.08) !important; border-radius: 6px !important;
	margin: 0 !important; margin-top: 0 !important;
	transition: all 0.2s ease !important; white-space: nowrap !important;
}
.lightbox-basic-submit .bill-info .middle .middle-part a:hover {
	background: var(--rd-red) !important; color: #fff !important;
}
.lightbox-basic-submit .bill-info .middle .right-part {
	flex: 0 0 160px !important; padding: 16px 14px !important;
	background: #fff !important; display: flex !important;
	flex-direction: column !important; justify-content: center !important;
}
.lightbox-basic-submit .bill-info .middle .right-part label {
	display: block !important; font-size: 12px !important; color: var(--rd-text-muted) !important;
	margin-bottom: 8px !important; font-weight: 600 !important; margin-right: 0 !important;
}
.lightbox-basic-submit .bill-info .middle .right-part .select {
	display: flex !important; gap: 12px !important; position: static !important;
	font-size: 13px !important; font-weight: 600 !important; color: var(--rd-text) !important; flex-wrap: wrap !important;
}
.lightbox-basic-submit .bill-info .middle .right-part input[type=radio] {
	accent-color: var(--rd-red) !important; cursor: pointer !important; margin: 0 3px 0 0 !important;
}

/* Result CTA */
.rd-result-cta, .text-container.hide_result_popup {
	text-align: center !important; padding: 36px 20px !important;
	background: #fff !important; border-radius: var(--rd-radius-lg) !important;
	margin-top: 28px !important; box-shadow: var(--rd-shadow-sm) !important;
}
.rd-result-cta h2, .text-container.hide_result_popup h2 {
	font-family: var(--rd-font-head) !important; color: var(--rd-navy-deep) !important;
	font-size: 26px !important; font-weight: 700 !important; margin-bottom: 12px !important;
}
.rd-result-cta p, .text-container.hide_result_popup p {
	color: var(--rd-text-muted) !important; font-size: 15px !important; margin-bottom: 22px !important;
}

/* ================================================================
   POPUPS
   ================================================================ */
.rd-popup-bg {
	background: #fff !important; border-radius: var(--rd-radius-lg) !important;
	padding: 36px 30px !important; box-shadow: var(--rd-shadow-lg) !important;
}
.rd-popup-title { font-family: var(--rd-font-head) !important; font-size: 24px !important; font-weight: 700 !important; color: var(--rd-navy-deep) !important; margin-bottom: 18px !important; text-align: center !important; }
.rd-popup-para { color: var(--rd-text-muted) !important; font-size: 14px !important; text-align: center !important; margin: 18px 0 !important; }
.rd-form label { display: block !important; color: var(--rd-text) !important; font-size: 13px !important; font-weight: 600 !important; margin: 14px 0 5px !important; }
.rd-form input[type=text],
.rd-form input[type=email],
.rd-form input[type=tel] {
	width: 100% !important; padding: 11px 13px !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius-sm) !important; font-size: 15px !important; color: var(--rd-text) !important;
	background: #fff !important; outline: none !important; transition: border-color 0.2s !important; box-shadow: none !important;
}
.rd-form input:focus { border-color: var(--rd-red) !important; }
.rd-form-note { background: rgba(220,38,38,0.08) !important; color: #B91C1C !important; padding: 9px 13px !important; border-radius: var(--rd-radius-sm) !important; font-size: 13px !important; text-align: center !important; }

/* Result div */
.rd-result-div { margin-top: 22px; }
#resultDiv .man-info {
	background: #fff !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius) !important; padding: 18px !important;
	margin-top: 14px !important; color: var(--rd-text) !important; width: 100% !important;
}
#resultDiv .man-info .content { position: static !important; margin: 0 !important; }
#resultDiv .man-info .content h5 { color: var(--rd-navy-deep) !important; font-size: 15px !important; }
#resultDiv .man-info .scorebox { border: 1px solid var(--rd-border) !important; border-radius: 8px !important; overflow: hidden; }
#resultDiv .man-info .scorebox h6 { background: var(--rd-navy-deep) !important; color: #fff !important; text-align: center !important; padding: 4px 12px !important; margin: 0 !important; font-size: 11px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; }
#resultDiv .man-info .scorebox h3 { font-family: var(--rd-font-head) !important; font-size: 38px !important; margin: 8px 0 !important; font-weight: 700 !important; text-align: center !important; }
#resultDiv .man-info .scorebox h3.poor_col     { color: #DC2626 !important; }
#resultDiv .man-info .scorebox h3.good_col     { color: #D97706 !important; }
#resultDiv .man-info .scorebox h3.verygood_col { color: #059669 !important; }
#resultDiv .man-info .scorebox h3.excelent_col { color: var(--rd-blue) !important; }
#resultDiv .man-info .scorebox p { font-size: 12px !important; color: var(--rd-text-muted) !important; text-align: center !important; padding: 0 8px 8px !important; margin: 0 !important; }

/* Social profile */
.social-profile .card { border: 1px solid var(--rd-border) !important; border-radius: var(--rd-radius-lg) !important; box-shadow: none !important; }
.social-profile .card .middle .icons-link .circle {
	width: 52px !important; height: 52px !important; border-radius: 50% !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 20px !important; color: var(--rd-text-muted) !important;
	background: var(--rd-bg-alt) !important; border: 2px solid var(--rd-border) !important;
	transition: all 0.2s ease !important; cursor: pointer !important;
}
.social-profile .card .middle .icons-link .circle:hover { border-color: var(--rd-red) !important; color: var(--rd-red) !important; }
.social-profile .card .middle .icons-link .circle.active { background: var(--rd-gradient) !important; border-color: transparent !important; color: #fff !important; }
.social-profile .card .middle .icons-link .circle img { width: 22px !important; height: 22px !important; }
.social-profile .button .boxed.allow { background: var(--rd-gradient) !important; border: none !important; color: #fff !important; border-radius: 10px !important; }
.social-profile .button .boxed.deny { background: #fff !important; border: 1px solid var(--rd-border) !important; color: var(--rd-text) !important; border-radius: 10px !important; margin-right: 8px; }

/* ================================================================
   FAQ
   ================================================================ */
.rd-faq-section, #faq { padding: 90px 0 !important; background: #fff !important; }
.rd-faq-list ul { list-style: none !important; padding: 0 !important; }
.rd-faq-list li { background: var(--rd-bg-alt) !important; border-radius: var(--rd-radius) !important; margin-bottom: 10px !important; overflow: hidden !important; border: 1px solid transparent !important; }
.rd-faq-list li:hover { border-color: var(--rd-border) !important; }
.rd-faq-list a { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 16px 20px !important; color: var(--rd-navy-deep) !important; font-weight: 600 !important; font-size: 14px !important; text-decoration: none !important; background: none !important; cursor: pointer !important; }
.rd-faq-list a:hover { color: var(--rd-red) !important; }
.rd-faq-list a i { font-size: 20px; color: var(--rd-red); flex-shrink: 0; }
.rd-faq-list .collapse p,
.rd-faq-list .collapsing p { color: var(--rd-text-muted) !important; font-size: 14px !important; line-height: 1.65 !important; padding: 0 20px 16px !important; margin: 0 !important; }

/* ================================================================
   TESTIMONIALS
   ================================================================ */
.rd-testimonial-section, .testimonial.rd-testimonial-section {
	padding: 90px 0 !important; position: relative !important; overflow: hidden !important;
	background: linear-gradient(135deg,var(--rd-navy-deep) 0%,var(--rd-navy) 100%) !important;
}
.rd-testimonial-section .hero-overlay { background: none !important; background-color: transparent !important; }
.rd-testimonial-section .heading.white-heading {
	text-align: center !important; margin-bottom: 46px !important;
	color: #fff !important; font-family: var(--rd-font-head) !important;
	font-size: 36px !important; font-weight: 700 !important;
}
.rd-testimonial-carousel { max-width: 800px; margin: 0 auto; position: relative; }
.rd-testimonial-carousel .testimonial4_slide {
	background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.10) !important;
	border-radius: var(--rd-radius-lg) !important; padding: 44px 36px !important;
	text-align: center !important; position: relative !important;
}
.rd-testimonial-quote { font-family: Georgia,serif; font-size: 80px; line-height: 1; color: var(--rd-red); opacity: 0.35; position: absolute; top: 16px; left: 28px; }
.rd-testimonial-carousel .testimonial4_slide p { color: rgba(255,255,255,0.88) !important; font-size: 16px !important; line-height: 1.72 !important; margin-bottom: 22px !important; position: relative; z-index: 2; }
.rd-testimonial-carousel .testimonial4_slide h4 { color: #fff !important; font-size: 17px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.rd-testimonial-carousel .testimonial4_slide h5 { color: rgba(255,255,255,0.60) !important; font-size: 14px !important; }
.rd-testimonial-carousel .carousel-control-prev,
.rd-testimonial-carousel .carousel-control-next {
	width: 44px !important; height: 44px !important; background: rgba(255,255,255,0.08) !important;
	border: 1px solid rgba(255,255,255,0.14) !important; border-radius: 50% !important;
	top: 50% !important; margin-top: -22px !important; opacity: 1 !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
}
.rd-testimonial-carousel .carousel-control-prev:hover,
.rd-testimonial-carousel .carousel-control-next:hover { background: var(--rd-red) !important; border-color: var(--rd-red) !important; }
.rd-testimonial-carousel .carousel-control-prev { left: -22px !important; }
.rd-testimonial-carousel .carousel-control-next { right: -22px !important; }

/* ================================================================
   PRICING
   ================================================================ */
.rd-pricing-section, #membership { padding: 90px 0 !important; background: var(--rd-bg) !important; }
.membership .icon-box.red.rd-pricing-card,
.membership .icon-box.blue.rd-pricing-card, .rd-pricing-card {
	background: #fff !important; border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius-lg) !important; padding: 38px 30px !important;
	margin: 0 0 22px !important; min-height: auto !important;
	position: relative !important; overflow: hidden !important;
	text-align: left !important; transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.rd-pricing-card:hover { transform: translateY(-5px) !important; box-shadow: var(--rd-shadow-lg) !important; }
.rd-pricing-paid { background: linear-gradient(145deg,#fff 0%,#FBF4F6 100%) !important; }
.rd-pricing-free { background: linear-gradient(145deg,#fff 0%,#F2F6FC 100%) !important; }
.rd-pricing-badge-paid {
	position: absolute !important; top: 16px !important; right: 16px !important;
	padding: 4px 11px !important; background: var(--rd-gradient) !important;
	color: #fff !important; font-size: 10px !important; font-weight: 700 !important;
	letter-spacing: 0.10em !important; border-radius: 100px !important;
}
.membership .icon-box.rd-pricing-card h4, .rd-pricing-card h4 {
	font-family: var(--rd-font-head) !important; font-size: 50px !important;
	font-weight: 700 !important; color: var(--rd-navy-deep) !important;
	margin-bottom: 4px !important; line-height: 1 !important;
}
.membership .icon-box.rd-pricing-card h5, .rd-pricing-card h5 {
	color: var(--rd-text-muted) !important; font-size: 14px !important;
	margin-bottom: 22px !important; font-weight: 500 !important; font-style: normal !important;
}
.membership .icon-box.rd-pricing-card p, .rd-pricing-card p { color: var(--rd-text-muted) !important; }
.rd-pricing-features { list-style: none !important; padding: 0 !important; margin: 0 0 26px !important; }
.rd-pricing-features li { padding: 7px 0 !important; color: var(--rd-text) !important; font-size: 14px !important; display: flex !important; align-items: center !important; gap: 9px !important; }
.rd-pricing-features li i { color: #10B981 !important; flex-shrink: 0; }
.membership .icon-box.blue .offerprice, .rd-pricing-card .offerprice, .rd-pricing-badge {
	position: absolute !important; top: 14px !important; right: 14px !important;
	width: auto !important; height: auto !important; border-radius: 8px !important;
	padding: 6px 12px !important; font-size: 10px !important; font-weight: 700 !important;
	background: var(--rd-gradient-blue) !important; color: #fff !important;
	letter-spacing: 0.08em !important; text-align: center !important; line-height: 1.3 !important;
}
.membership .row { margin: 0 !important; }
.membership .icon-box a.rd-btn-primary, .rd-pricing-card a.rd-btn-primary {
	background: var(--rd-gradient) !important; color: #fff !important; border-radius: 10px !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
.rd-footer, footer.ftco-footer.rd-footer { background: var(--rd-navy-deep) !important; padding: 70px 0 0 !important; }
.rd-footer .overlay { background: none !important; }
.rd-footer-logo { width: 150px; height: auto; margin-bottom: 14px; }
.rd-footer-tagline { color: rgba(255,255,255,0.62) !important; font-size: 13px; line-height: 1.6; }
.rd-footer .ftco-heading-2 { color: #fff !important; font-family: var(--rd-font-head) !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0.10em !important; text-transform: uppercase !important; }
.rd-footer ul li a { color: rgba(255,255,255,0.62) !important; font-size: 14px !important; padding: 5px 0 !important; display: inline-block; }
.rd-footer ul li a:hover { color: #fff !important; }
.rd-social-list { display: flex !important; gap: 10px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.rd-social-list li { display: inline-block !important; margin: 0 !important; }
.rd-social-list li a { width: 38px !important; height: 38px !important; border-radius: 9px !important; background: rgba(255,255,255,0.08) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #fff !important; font-size: 15px !important; transition: all 0.2s ease !important; }
.rd-social-list li a:hover { background: var(--rd-gradient) !important; }
.rd-copyright { background: rgba(0,0,0,0.24) !important; border-top: 1px solid rgba(255,255,255,0.06) !important; margin-top: 50px !important; padding: 18px 0 !important; }
.rd-copyright p { color: rgba(255,255,255,0.55) !important; font-size: 13px !important; margin: 0 !important; }

/* ================================================================
   AI CHAT WIDGET
   ================================================================ */
.rd-ai-chat-toggle {
	position: fixed !important; bottom: 24px !important; right: 24px !important;
	width: 58px !important; height: 58px !important; border-radius: 50% !important;
	background: var(--rd-gradient) !important; color: #fff !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 22px !important; cursor: pointer !important;
	box-shadow: 0 8px 28px rgba(191,13,62,0.45) !important; z-index: 9999 !important;
	animation: rd-float 3s ease-in-out infinite !important;
}
.rd-ai-chat-toggle:hover { animation: none !important; transform: scale(1.08) !important; }
@keyframes rd-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.rd-ai-chat-badge {
	position: absolute !important; top: -4px !important; right: -4px !important;
	padding: 3px 7px !important; background: var(--rd-gold) !important;
	color: var(--rd-navy-deep) !important; font-size: 9px !important; font-weight: 700 !important; border-radius: 100px !important;
}
.rd-ai-chat-panel {
	position: fixed !important; bottom: 96px !important; right: 24px !important;
	width: 360px !important; max-width: calc(100vw - 32px) !important;
	height: 540px !important; max-height: calc(100vh - 130px) !important;
	background: #fff !important; border-radius: var(--rd-radius-lg) !important;
	box-shadow: 0 24px 64px rgba(11,30,59,0.30) !important;
	display: flex !important; flex-direction: column !important; overflow: hidden !important;
	z-index: 9998 !important; opacity: 0 !important; visibility: hidden !important;
	transform: translateY(14px) !important; transition: all 0.25s ease !important;
	border: 1px solid var(--rd-border) !important;
}
.rd-ai-chat-panel.rd-open { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }
.rd-ai-chat-header { padding: 16px 18px !important; background: linear-gradient(135deg,var(--rd-navy-deep),var(--rd-navy)) !important; color: #fff !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-shrink: 0 !important; }
.rd-ai-chat-header-info { display: flex; align-items: center; gap: 10px; }
.rd-ai-chat-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--rd-gradient); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
.rd-ai-chat-title { font-family: var(--rd-font-head); font-weight: 700; font-size: 14px; }
.rd-ai-chat-status { display: flex; align-items: center; gap: 5px; font-size: 11px; color: rgba(255,255,255,0.68); margin-top: 2px; }
.rd-status-dot { width: 6px; height: 6px; background: #34D399; border-radius: 50%; box-shadow: 0 0 0 3px rgba(52,211,153,0.25); }
.rd-ai-chat-close { background: none !important; border: none !important; color: #fff !important; font-size: 24px !important; cursor: pointer !important; opacity: 0.7 !important; width: 30px !important; height: 30px !important; border-radius: 7px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; }
.rd-ai-chat-close:hover { opacity: 1 !important; background: rgba(255,255,255,0.09) !important; }
.rd-ai-chat-messages { flex: 1; overflow-y: auto; padding: 18px; background: #F9FAFB; }
.rd-ai-chat-messages .rd-ai-msg { margin-bottom: 12px; }
.rd-ai-chat-suggestions { padding: 10px 14px; display: flex; flex-wrap: wrap; gap: 7px; background: #F9FAFB; border-top: 1px solid var(--rd-border); flex-shrink: 0; }
.rd-ai-suggest { background: #fff !important; border: 1px solid var(--rd-border) !important; border-radius: 100px !important; padding: 7px 13px !important; font-size: 12px !important; color: var(--rd-text) !important; cursor: pointer !important; font-family: inherit !important; font-weight: 500 !important; transition: all 0.2s !important; }
.rd-ai-suggest:hover { background: var(--rd-navy-deep) !important; color: #fff !important; border-color: var(--rd-navy-deep) !important; }
.rd-ai-chat-input-wrap { padding: 12px 14px; background: #fff; border-top: 1px solid var(--rd-border); display: flex; gap: 9px; align-items: center; flex-shrink: 0; }
#rd-ai-chat-input { flex: 1; padding: 10px 13px; border: 1px solid var(--rd-border) !important; border-radius: 100px !important; font-size: 13px !important; font-family: inherit !important; color: var(--rd-text) !important; background: #F7F9FC !important; outline: none !important; }
#rd-ai-chat-input:focus { border-color: var(--rd-red) !important; background: #fff !important; }
#rd-ai-chat-send { width: 38px; height: 38px; border-radius: 50%; background: var(--rd-gradient) !important; color: #fff !important; border: none !important; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#rd-ai-chat-send:disabled { opacity: 0.45; cursor: not-allowed; }

.rd-ai-loading { text-align: center; padding: 36px 20px; }
.rd-ai-spinner { width: 38px; height: 38px; border: 3px solid var(--rd-border); border-top-color: var(--rd-red); border-radius: 50%; margin: 0 auto 14px; animation: rd-spin 0.8s linear infinite; }
@keyframes rd-spin { to{transform:rotate(360deg)} }
.rd-ai-loading p { color: var(--rd-text-muted); font-size: 14px; }
.rd-ai-result { padding: 8px 4px; font-size: 15px; line-height: 1.7; color: var(--rd-text); }
.rd-ai-result strong { color: var(--rd-navy-deep); }
.rd-ai-result p { margin-bottom: 10px; }
.jconfirm { z-index: 100000 !important; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 991px) {
	.rd-nav-links { flex-direction: column !important; margin: 14px 0 !important; gap: 2px !important; }
	.rd-navbar .signup-area { margin-top: 10px !important; }
	.rd-navbar .signup-area .signup { flex-wrap: wrap; gap: 8px; }
	.rd-ai-content { padding-right: 0 !important; margin-bottom: 36px; }
	.rd-why-content { padding-left: 0 !important; margin-top: 28px; }
	.rd-grade-cta { text-align: center !important; }
	.rd-grade-cta .redarea { text-align: center !important; margin-top: 16px; }
	/* bill columns stack on tablet */
	.lightbox-basic-submit .bill-info .middle { flex-direction: column !important; }
	.lightbox-basic-submit .bill-info .middle .left-part,
	.lightbox-basic-submit .bill-info .middle .middle-part,
	.lightbox-basic-submit .bill-info .middle .right-part {
		width: 100% !important; flex: none !important;
		border-right: none !important; border-bottom: 1px solid var(--rd-border) !important;
	}
	.lightbox-basic-submit .bill-info .middle .right-part { border-bottom: none !important; }
}

@media (max-width: 767px) {
	.rd-hero { padding-top: 90px !important; padding-bottom: 60px !important; min-height: auto !important; }
	.rd-hero-title { font-size: clamp(28px,7vw,44px) !important; }
	.rd-hero-sub { font-size: 15px !important; }
	/* ZIP: stack on mobile */
	.rd-zip-search { flex-direction: column !important; border-radius: 16px !important; padding: 14px !important; align-items: stretch !important; }
	.rd-zip-icon { display: none !important; }
	.rd-zip-input { text-align: center !important; padding: 10px !important; }
	.rd-zip-submit { width: 100% !important; justify-content: center !important; margin-top: 8px !important; border-radius: 10px !important; }
	.rd-hero-meta { gap: 14px !important; }
	.rd-hero-stats { padding: 16px 12px !important; gap: 8px !important; }
	.rd-stat-num { font-size: 20px !important; }
	.rd-stat-label { font-size: 10px !important; }
	.rd-how-section,.rd-why-section,.rd-ai-section,.rd-grade-section,.rd-voice-section,.rd-report-section,.rd-faq-section,.rd-testimonial-section,.rd-pricing-section { padding: 60px 0 !important; }
	.rd-grade-cta { padding: 22px !important; }
	.rd-testimonial-carousel .testimonial4_slide { padding: 32px 20px !important; }
	.rd-testimonial-carousel .carousel-control-prev { left: -6px !important; }
	.rd-testimonial-carousel .carousel-control-next { right: -6px !important; }
	.rd-popup-bg { padding: 24px 18px !important; }
	.rd-pricing-card { margin-bottom: 18px !important; }
	.rd-footer { padding: 50px 0 0 !important; }
	.rd-ai-chat-panel { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 84px !important; height: calc(100vh - 110px) !important; }
	.rd-ai-chat-toggle { width: 52px !important; height: 52px !important; font-size: 20px !important; bottom: 16px !important; right: 16px !important; }
}

@media (max-width: 480px) {
	.rd-section-heading { font-size: 24px !important; }
	.rd-step-card h4 { font-size: 17px !important; }
	.rd-pricing-card h4 { font-size: 42px !important; }
	.rd-hero-badge { font-size: 10px !important; }
}

/* ============================================================
   v3 FIXES — stronger overrides for issues visible in screenshots
   ============================================================ */

/* ---- FIX 1: ZIP button overlapping input ---- */
/* The original CSS had max-width:480px on .election1 .content input winning.
   Also there's padding on rd-zip-search that's letting the button poke out. */
.rd-zip-search {
	padding: 6px !important;
	gap: 0 !important;
}
.election1 .content .rd-zip-input,
.election2 .content .rd-zip-input,
.rd-zip-input {
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	flex: 1 1 auto !important;
	padding: 12px 16px !important;
	margin-left: 6px !important;
}
.rd-zip-submit {
	margin-left: 6px !important;
	padding: 13px 22px !important;
}
/* Also hide the .rd-zip-icon that's pushing button off — it's decorative */
.rd-zip-icon { display: none !important; }

/* ---- FIX 2: Politician cards — navy .card background ---- */
/* Original: .lightbox-basic-submit .card { background:#00205B; height:150px } */
.lightbox-basic-submit .card,
#pol_data .card,
#pol_data .col-sm-6 .card {
	background: transparent !important;
	height: auto !important;
	color: inherit !important;
	border: none !important;
	border-radius: 0 !important;
	margin-top: 0 !important;
	box-shadow: none !important;
}
.lightbox-basic-submit .card-body,
#pol_data .card-body,
#pol_data .col-sm-6 .card-body {
	background: transparent !important;
	padding: 0 !important;
}
/* Make sure the inner man-info IS the whole white card */
#pol_data .col-sm-6 {
	margin-bottom: 16px !important;
}
#pol_data .col-sm-6 .man-info {
	background: #fff !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: var(--rd-radius) !important;
	padding: 20px !important;
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 0 !important;
	width: 100% !important;
	box-shadow: var(--rd-shadow-sm);
	color: var(--rd-text) !important;
}
#pol_data .col-sm-6 .man-info img,
#pol_data .col-sm-6 .man-info img.img_reload {
	width: 76px !important;
	height: 76px !important;
	border-radius: 50% !important;
	border: 3px solid var(--rd-bg-alt) !important;
	object-fit: cover !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
}
#pol_data .col-sm-6 .man-info .content {
	position: static !important;
	margin: 0 !important;
	display: block !important;
	flex: 1 !important;
	text-align: left !important;
}
#pol_data .col-sm-6 .man-info .content h5 {
	color: var(--rd-navy-deep) !important;
	font-family: var(--rd-font-head) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	margin: 0 0 4px !important;
	line-height: 1.3 !important;
}
#pol_data .col-sm-6 .man-info .content p {
	color: var(--rd-text-muted) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

/* ---- FIX 3: Bill card middle-part links — stop absolute stacking ---- */
/* The original has: position:absolute; margin-top:30px — crushing them together */
.lightbox-basic-submit .bill-info .middle .middle-part a,
.lightbox-basic-submit .bill-info .middle .middle-part p a,
.lightbox-basic-submit .bill-info .middle .middle-part p b a {
	position: static !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	text-decoration: none !important;
	display: inline-flex !important;
	float: none !important;
}
.lightbox-basic-submit .bill-info .middle .middle-part p,
.lightbox-basic-submit .bill-info .middle .middle-part p b {
	display: block !important;
	margin: 0 0 8px 0 !important;
	position: static !important;
	line-height: 1.4 !important;
}
.lightbox-basic-submit .bill-info .middle .middle-part p:last-child { margin-bottom: 0 !important; }
.lightbox-basic-submit .bill-info .middle .middle-part p b {
	font-weight: normal !important;
}

/* ---- FIX 4: Bill middle container needs to not be max-width constrained ---- */
.lightbox-basic-submit .bill-info .middle {
	max-width: none !important;
	width: 100% !important;
}

/* ---- FIX 5: Report wrap container — don't over-constrain ---- */
.rd-report-section .container,
#report-card.report-card-result .container {
	max-width: 100% !important;
}
.rd-report-wrap {
	max-width: 1100px !important;
	margin: 0 auto !important;
}
/* The #pol_data politician grid: give it proper 2-column row layout */
#pol_data > h2 { margin-bottom: 30px !important; }
#pol_data > div.row { margin: 0 -8px !important; }
#pol_data > div.row > .col-sm-6 { padding: 0 8px !important; }

/* ---- FIX 6: On mobile, ZIP bar fully stacks without button sticking out ---- */
@media (max-width: 767px) {
	.rd-zip-search {
		padding: 10px !important;
	}
	.election1 .content .rd-zip-input,
	.election2 .content .rd-zip-input,
	.rd-zip-input {
		margin-left: 0 !important;
		text-align: center !important;
	}
	.rd-zip-submit {
		margin-left: 0 !important;
		margin-top: 8px !important;
	}
}

/* ============================================================
   v4 FIXES — final round of fixes per user screenshots
   - White logo in navbar
   - Hero badge not cut off
   - ZIP bar: button visible + error message below (not inside pill)
   - Section labels: small inline pills, not full-width boxes
   - Section headings: larger and more prominent
   - Bill card: compact, clean, one-row meta strip
   - Mobile responsive everything
   ============================================================ */

/* ---------- LOGO: white version already used in HTML; ensure size good ---------- */
.rd-navbar-brand img {
	width: 155px !important;
	height: auto !important;
	display: block;
}
@media (max-width: 767px) {
	.rd-navbar-brand img { width: 130px !important; }
}

/* ---------- HERO: add top padding so badge isn't cut off ---------- */
.rd-hero, #hero-area.rd-hero {
	padding-top: 140px !important; /* was 110 — give badge room */
}
@media (max-width: 767px) {
	.rd-hero, #hero-area.rd-hero { padding-top: 120px !important; }
}

/* ---------- ZIP SEARCH: wrapper holds pill + external messages ---------- */
.rd-zip-wrap {
	max-width: 540px;
	margin: 0 auto 16px;
	width: 100%;
}

/* the pill itself: clean flex layout, only input + button inside */
.rd-zip-search {
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	background: #fff !important;
	border-radius: 100px !important;
	padding: 6px !important;
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	box-shadow: 0 20px 60px rgba(0,0,0,0.30) !important;
	overflow: visible !important;
}
.rd-zip-search > * { flex-shrink: 0 !important; }

/* input takes all remaining space */
.rd-zip-input,
.election1 .content input.rd-zip-input,
.election2 .content input.rd-zip-input {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	border: none !important;
	background: transparent !important;
	padding: 13px 20px !important;
	font-size: 16px !important;
	color: var(--rd-text) !important;
	font-weight: 500 !important;
	box-shadow: none !important;
	outline: none !important;
	border-radius: 0 !important;
	display: block !important;
	margin: 0 !important;
}
.rd-zip-input::placeholder { color: #9FABB8 !important; }

/* button: always visible, fixed width */
.rd-zip-submit,
.search-icon.search-pol-by-zip.rd-zip-submit,
.election1 .content .rd-zip-submit,
.election2 .content .rd-zip-submit {
	position: static !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 13px 26px !important;
	background: linear-gradient(135deg, #BF0D3E 0%, #8B0A2B 100%) !important;
	background-image: linear-gradient(135deg, #BF0D3E 0%, #8B0A2B 100%) !important;
	background-color: #BF0D3E !important;
	color: #fff !important;
	border-radius: 100px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	white-space: nowrap !important;
	border: none !important;
	line-height: 1.2 !important;
	transition: opacity 0.2s ease !important;
	min-width: 140px !important;
	text-align: center !important;
}
.rd-zip-submit * { color: #fff !important; }
.rd-zip-submit i { font-size: 12px !important; color: #fff !important; }
.rd-zip-submit span { font-size: 14px !important; font-weight: 600 !important; color: #fff !important; }
.rd-zip-submit:hover { opacity: 0.90 !important; }

/* Hide the decorative zip icon entirely — it was causing collisions */
.rd-zip-icon { display: none !important; }

/* Error/notification text: OUTSIDE the pill, below it */
.rd-zip-wrap .zip_submit_notification,
.rd-zip-wrap .rd-zip-note {
	display: block;
	position: static !important;
	width: 100% !important;
	max-width: none !important;
	text-align: center !important;
	margin: 14px 0 0 !important;
	padding: 10px 16px !important;
	font-size: 14px !important;
	color: #fff !important;
	background: rgba(220, 38, 38, 0.25) !important;
	border: 1px solid rgba(220, 38, 38, 0.35) !important;
	border-radius: 10px !important;
	backdrop-filter: blur(4px);
}
.rd-zip-wrap .zip_loader,
.rd-zip-wrap .rd-zip-loader {
	display: block;
	text-align: center !important;
	margin: 14px auto 0 !important;
}

/* ---------- SECTION LABEL: small inline pill, not full-width ---------- */
.rd-section-label,
.rd-section-label.centered {
	display: inline-block !important;
	width: auto !important;
	max-width: none !important;
	padding: 6px 16px !important;
	background: rgba(191,13,62,0.10) !important;
	color: var(--rd-red) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	border-radius: 100px !important;
	margin: 0 auto 16px !important;
	border: none !important;
	line-height: 1.4 !important;
}
.rd-section-label.light,
.rd-section-label.centered.light {
	background: rgba(255,255,255,0.14) !important;
	color: rgba(255,255,255,0.95) !important;
}
/* container of label must be text-center to center the inline pill */
.rd-how-header { text-align: center !important; }

/* ---------- SECTION HEADINGS: bigger ---------- */
.rd-section-heading {
	font-family: var(--rd-font-head) !important;
	font-size: clamp(32px, 4.2vw, 52px) !important;
	font-weight: 700 !important;
	color: var(--rd-navy-deep) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.02em !important;
	margin-bottom: 18px !important;
}
.rd-section-heading.light { color: #fff !important; }
@media (max-width: 767px) {
	.rd-section-heading { font-size: clamp(26px, 7vw, 36px) !important; }
}

/* ---------- BILL CARDS: redesigned compact layout ---------- */
/* Hide old-layout elements from original CSS */
.rd-bill-hidden { display: none !important; }
.rd-bill-hidden * { display: none !important; }

/* Card wrapper */
.rd-bill-card,
.lightbox-basic-submit .bill-info.rd-bill-card {
	background: #fff !important;
	border: 1px solid var(--rd-border) !important;
	border-radius: 14px !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(11,30,59,0.06) !important;
	transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.rd-bill-card:hover {
	border-color: var(--rd-red) !important;
	box-shadow: 0 4px 16px rgba(191,13,62,0.10) !important;
}

/* Header = bill title */
.rd-bill-header,
.lightbox-basic-submit .bill-info.rd-bill-card .header.rd-bill-header {
	background: var(--rd-navy-deep) !important;
	color: #fff !important;
	padding: 14px 20px !important;
	border-radius: 14px 14px 0 0 !important;
	margin: 0 !important;
}
.rd-bill-header h6,
.lightbox-basic-submit .bill-info.rd-bill-card .header.rd-bill-header h6 {
	color: #fff !important;
	font-family: var(--rd-font-head) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	margin: 0 !important;
	line-height: 1.45 !important;
}

/* Body = flex row with meta strip | actions | vote */
.rd-bill-body,
.lightbox-basic-submit .bill-info.rd-bill-card .middle.rd-bill-body {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	background: #fff !important;
	padding: 14px 20px !important;
	gap: 14px !important;
	position: static !important;
	height: auto !important;
	overflow: visible !important;
}

/* Meta strip: #1 • S Amdt 1386 • US Senate */
.rd-bill-meta,
.lightbox-basic-submit .bill-info.rd-bill-card .left-part.rd-bill-meta {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex: 0 0 auto !important;
	padding: 0 !important;
	border: none !important;
	width: auto !important;
	height: auto !important;
	float: none !important;
	position: static !important;
	background: none !important;
}
.rd-bill-meta-item {
	font-size: 13px !important;
	color: var(--rd-text) !important;
	font-weight: 500 !important;
	white-space: nowrap;
}
.rd-bill-meta-item b {
	color: var(--rd-red);
	font-weight: 700;
}
.rd-bill-meta-sep {
	color: var(--rd-border);
	font-size: 12px;
}

/* Action buttons row */
.rd-bill-actions,
.lightbox-basic-submit .bill-info.rd-bill-card .middle-part.rd-bill-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
	flex: 1 1 auto !important;
	justify-content: flex-start !important;
	padding: 0 !important;
	border: none !important;
	width: auto !important;
	height: auto !important;
	float: none !important;
	position: static !important;
}
.rd-bill-action,
.lightbox-basic-submit .bill-info.rd-bill-card .middle-part.rd-bill-actions a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 12px !important;
	background: #F3F5FA !important;
	color: var(--rd-navy-deep) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	border: 1px solid var(--rd-border) !important;
	transition: all 0.2s ease !important;
	position: static !important;
	margin: 0 !important;
	float: none !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}
.rd-bill-action:hover,
.lightbox-basic-submit .bill-info.rd-bill-card .middle-part.rd-bill-actions a:hover {
	background: var(--rd-navy-deep) !important;
	color: #fff !important;
	border-color: var(--rd-navy-deep) !important;
}
.rd-bill-action i { font-size: 11px !important; }
.rd-bill-action-ai,
.lightbox-basic-submit .bill-info.rd-bill-card .middle-part.rd-bill-actions a.rd-bill-action-ai {
	background: linear-gradient(135deg, #BF0D3E 0%, #8B0A2B 100%) !important;
	color: #fff !important;
	border-color: transparent !important;
}
.rd-bill-action-ai:hover,
.lightbox-basic-submit .bill-info.rd-bill-card .middle-part.rd-bill-actions a.rd-bill-action-ai:hover {
	opacity: 0.90 !important;
	background: linear-gradient(135deg, #BF0D3E 0%, #8B0A2B 100%) !important;
	color: #fff !important;
}

/* Vote section on the right */
.rd-bill-vote,
.lightbox-basic-submit .bill-info.rd-bill-card .right-part.rd-bill-vote {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex: 0 0 auto !important;
	padding: 8px 14px !important;
	background: var(--rd-bg-alt) !important;
	border-radius: 10px !important;
	border: none !important;
	width: auto !important;
	height: auto !important;
	float: none !important;
	position: static !important;
}
.rd-bill-vote > label,
.lightbox-basic-submit .bill-info.rd-bill-card .right-part.rd-bill-vote label:not(.rd-vote-opt) {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--rd-text-muted) !important;
	letter-spacing: 0.10em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	white-space: nowrap !important;
}
.rd-bill-vote .select,
.lightbox-basic-submit .bill-info.rd-bill-card .right-part.rd-bill-vote .select {
	display: flex !important;
	gap: 10px !important;
	position: static !important;
	align-items: center !important;
	font-weight: 600 !important;
	margin: 0 !important;
}
.rd-vote-opt {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--rd-text) !important;
	cursor: pointer !important;
	margin: 0 !important;
	padding: 4px 8px !important;
	border-radius: 6px !important;
	transition: background 0.15s !important;
}
.rd-vote-opt:hover { background: rgba(191,13,62,0.06); }
.rd-vote-opt input[type=radio] {
	accent-color: var(--rd-red) !important;
	cursor: pointer !important;
	margin: 0 !important;
}

/* ---------- BILL CARDS RESPONSIVE ---------- */
@media (max-width: 991px) {
	.rd-bill-body,
	.lightbox-basic-submit .bill-info.rd-bill-card .middle.rd-bill-body {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}
	.rd-bill-meta { justify-content: flex-start; flex-wrap: wrap; }
	.rd-bill-actions { width: 100%; }
	.rd-bill-vote {
		justify-content: space-between !important;
		padding: 10px 14px !important;
	}
}
@media (max-width: 480px) {
	.rd-bill-actions { gap: 6px !important; }
	.rd-bill-action { padding: 6px 10px !important; font-size: 11px !important; }
	.rd-bill-meta { gap: 6px !important; }
	.rd-bill-meta-item { font-size: 12px !important; }
}

/* ---------- MOBILE: ZIP bar stacks cleanly ---------- */
@media (max-width: 600px) {
	.rd-zip-search {
		flex-direction: column !important;
		border-radius: 14px !important;
		padding: 10px !important;
		align-items: stretch !important;
	}
	.rd-zip-input {
		text-align: center !important;
		padding: 12px !important;
	}
	.rd-zip-submit {
		width: 100% !important;
		min-width: 0 !important;
		margin-top: 8px !important;
		border-radius: 10px !important;
		padding: 13px !important;
	}
}
