/* ============================================
   SCHEMMEL CPA PLLC — Custom Brand Overrides
   Brand Palette: Black #0d0d0d / Gold #C5A55A
   ============================================ */

/* --- Global Brand Color Overrides --- */
:root {
	--schemmel-gold: #C5A55A;
	--schemmel-gold-light: #d4b96e;
	--schemmel-gold-dark: #a8893e;
	--schemmel-black: #0d0d0d;
	--schemmel-dark: #1a1a1a;
	--schemmel-charcoal: #2a2a2a;
	--schemmel-white: #ffffff;
	--schemmel-off-white: #f8f6f0;
	--schemmel-navy: #0f1b2d;
	--schemmel-red: #BF0A30;
	--schemmel-blue: #002868;
}

/* Override theme global accent color */
.pbmit-global-color,
.pbmit-bg-color-global {
	color: var(--schemmel-gold) !important;
}
.pbmit-bg-color-global {
	background-color: var(--schemmel-gold) !important;
}

/* --- Logo Sizing --- */
.site-branding img {
	max-height: 60px;
	width: auto;
	border-radius: 8px;
}
.pbmit-sticky-header .site-branding img {
	max-height: 50px;
}

/* --- Typography --- */
body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* --- Buttons --- */
.pbmit-btn,
.pbmit-btn.blackish {
	background-color: var(--schemmel-gold) !important;
	color: var(--schemmel-black) !important;
	border-color: var(--schemmel-gold) !important;
	font-weight: 600;
	letter-spacing: 0.5px;
}
.pbmit-btn:hover,
.pbmit-btn.blackish:hover {
	background-color: var(--schemmel-gold-dark) !important;
	border-color: var(--schemmel-gold-dark) !important;
	color: var(--schemmel-white) !important;
}
.pbmit-btn.white {
	background-color: var(--schemmel-white) !important;
	color: var(--schemmel-black) !important;
	border-color: var(--schemmel-white) !important;
}
.pbmit-btn.white:hover {
	background-color: var(--schemmel-gold) !important;
	color: var(--schemmel-black) !important;
	border-color: var(--schemmel-gold) !important;
}
.pbmit-btn.btn-outline-gold {
	background-color: transparent !important;
	color: var(--schemmel-gold) !important;
	border: 2px solid var(--schemmel-gold) !important;
}
.pbmit-btn.btn-outline-gold:hover {
	background-color: var(--schemmel-gold) !important;
	color: var(--schemmel-black) !important;
}

/* --- SVG Icon Color Overrides --- */
.pbmit-ihbox-style-4 svg path[fill="#f59f46"],
.pbmit-service-icon svg path[fill="#f59f46"],
.pbminfotech-post-item svg path[fill="#f59f46"],
.pbmit-ihbox-style-2 svg path[fill="#f59f46"],
.pbmit-ihbox-style-5 svg path[fill="#f59f46"],
svg path[fill="#f59f46"] {
	fill: var(--schemmel-gold) !important;
}

/* --- Title Bar / Hero Overrides --- */
.pbmit-title-bar-wrapper {
	background-color: var(--schemmel-black);
	background-image: url('../images/tax-forms-on-table-coffee-mug-black.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
.pbmit-title-bar-wrapper::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(13,13,13,0.82);
	z-index: 0;
}
.pbmit-title-bar-wrapper > .container {
	position: relative;
	z-index: 1;
}
.pbmit-title-bar-wrapper .pbmit-tbar-title {
	color: var(--schemmel-white);
}
.pbmit-breadcrumb-inner a,
.pbmit-breadcrumb-inner .sep {
	color: var(--schemmel-gold) !important;
}

/* --- Headings --- */
.pbmit-heading-subheading .pbmit-subtitle {
	color: var(--schemmel-gold) !important;
}

/* --- Marquee --- */
.marquee-section.pbmit-bg-color-global {
	background-color: var(--schemmel-gold) !important;
}

/* --- Footer Overrides --- */
.site-footer.pbmit-bg-color-secondary {
	background-color: var(--schemmel-black) !important;
}
.pbmit-footer-copyright-text-area a {
	color: var(--schemmel-gold) !important;
}
.pbmit-copyright-area .pbmit-element-title {
	color: var(--schemmel-gold) !important;
}
.pbmit-spinner-box-style-1 .pbmit-circle-box text {
	fill: var(--schemmel-gold) !important;
}

/* --- Slider / Hero --- */
.pbmit-slider-area .pbmit-slider-bg {
	background-color: var(--schemmel-black);
}
.pbmit-slider-content .pbmit-slider-title {
	color: var(--schemmel-white);
}

/* --- Service Cards --- */
.pbmit-element-service-style-2 .pbmit-service-title a {
	color: var(--schemmel-black);
}
.pbmit-element-service-style-2 .pbmit-service-btn:hover {
	color: var(--schemmel-gold);
}
.pbmit-service-style-1 .pbmit-heading-box .pbmit-service-title a:hover {
	color: var(--schemmel-gold) !important;
}

/* ============================================
   PRICING CARDS SECTION
   ============================================ */
.pricing-section {
	padding: 80px 0;
}
.pricing-card {
	background: var(--schemmel-white);
	border-radius: 16px;
	padding: 40px 30px;
	text-align: center;
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 30px rgba(0,0,0,0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.pricing-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}
.pricing-card.featured {
	background: var(--schemmel-black);
	color: var(--schemmel-white);
}
.pricing-card.featured .pricing-card-title,
.pricing-card.featured .pricing-price,
.pricing-card.featured .pricing-period {
	color: var(--schemmel-white);
}
.pricing-card.featured .pricing-badge {
	background: var(--schemmel-gold);
	color: var(--schemmel-black);
}
.pricing-badge {
	display: inline-block;
	background: var(--schemmel-off-white);
	color: var(--schemmel-gold-dark);
	padding: 6px 18px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 20px;
}
.pricing-card-title {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--schemmel-black);
}
.pricing-price {
	font-size: 48px;
	font-weight: 800;
	color: var(--schemmel-gold);
	line-height: 1;
	margin-bottom: 4px;
}
.pricing-period {
	font-size: 14px;
	color: #888;
	margin-bottom: 24px;
}
.pricing-divider {
	height: 1px;
	background: rgba(197,165,90,0.2);
	margin: 20px 0;
}
.pricing-features {
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
	text-align: left;
	flex-grow: 1;
}
.pricing-features li {
	padding: 8px 0;
	font-size: 15px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.pricing-features li .check {
	color: var(--schemmel-gold);
	font-weight: 700;
	flex-shrink: 0;
	font-size: 16px;
}
.pricing-features li .dash {
	color: #ccc;
	flex-shrink: 0;
}
.pricing-card.featured .pricing-features li {
	color: rgba(255,255,255,0.85);
}
.pricing-card.featured .pricing-features li .dash {
	color: rgba(255,255,255,0.3);
}

/* ============================================
   MILITARY APPRECIATION SECTION
   ============================================ */
.military-section {
	background: linear-gradient(135deg, var(--schemmel-navy) 0%, #1a2d47 50%, var(--schemmel-navy) 100%);
	padding: 100px 0;
	position: relative;
	overflow: hidden;
}
.military-section::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y="50" x="50" font-size="60" text-anchor="middle" fill="rgba(255,255,255,0.02)">★</text></svg>') repeat;
	background-size: 80px 80px;
}
.military-section * {
	position: relative;
	z-index: 1;
}
.military-section h2 {
	color: var(--schemmel-white);
	font-size: 38px;
	font-weight: 800;
	margin-bottom: 16px;
}
.military-section .gold-text {
	color: var(--schemmel-gold);
}
.military-section p {
	color: rgba(255,255,255,0.8);
	font-size: 17px;
	line-height: 1.8;
}
.military-discount-card {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(197,165,90,0.3);
	border-radius: 12px;
	padding: 30px;
	text-align: center;
	backdrop-filter: blur(10px);
	transition: border-color 0.3s ease, transform 0.3s ease;
}
.military-discount-card:hover {
	border-color: var(--schemmel-gold);
	transform: translateY(-4px);
}
.military-discount-card h3 {
	color: var(--schemmel-gold);
	font-size: 36px;
	font-weight: 800;
	margin-bottom: 6px;
}
.military-discount-card h4 {
	color: var(--schemmel-white);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
}
.military-discount-card p {
	font-size: 14px !important;
	color: rgba(255,255,255,0.6) !important;
}
.military-flag-strip {
	display: flex;
	gap: 0;
	height: 4px;
	margin-bottom: 40px;
}
.military-flag-strip .red { background: var(--schemmel-red); flex: 1; }
.military-flag-strip .white { background: #fff; flex: 1; }
.military-flag-strip .blue { background: var(--schemmel-blue); flex: 1; }

/* ============================================
   STAND-ALONE SERVICES TABLE
   ============================================ */
.standalone-services-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.standalone-services-table thead th {
	background: var(--schemmel-black);
	color: var(--schemmel-white);
	padding: 16px 24px;
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.standalone-services-table tbody td {
	padding: 18px 24px;
	border-bottom: 1px solid #eee;
	font-size: 15px;
}
.standalone-services-table tbody tr:last-child td {
	border-bottom: none;
}
.standalone-services-table tbody tr:hover {
	background: var(--schemmel-off-white);
}
.standalone-services-table .price-cell {
	color: var(--schemmel-gold-dark);
	font-weight: 700;
	font-size: 16px;
}

/* ============================================
   EDUCATIONAL / WHY CPA SECTION
   ============================================ */
.why-cpa-section {
	background: var(--schemmel-off-white);
	padding: 80px 0;
}
.why-cpa-card {
	background: var(--schemmel-white);
	border-radius: 12px;
	padding: 35px;
	box-shadow: 0 2px 15px rgba(0,0,0,0.05);
	height: 100%;
}
.why-cpa-card .icon-wrap {
	width: 60px;
	height: 60px;
	background: var(--schemmel-gold);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.why-cpa-card .icon-wrap i {
	font-size: 24px;
	color: var(--schemmel-black);
}
.why-cpa-card h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 12px;
}
.why-cpa-card p {
	color: #666;
	line-height: 1.7;
	font-size: 15px;
}

/* ============================================
   ABOUT PAGE CUSTOM
   ============================================ */
.credentials-strip {
	background: var(--schemmel-black);
	padding: 40px 0;
}
.credential-item {
	text-align: center;
	padding: 20px;
}
.credential-item h4 {
	color: var(--schemmel-gold);
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 6px;
}
.credential-item p {
	color: rgba(255,255,255,0.7);
	font-size: 13px;
	margin: 0;
}

/* ============================================
   DIGITAL ADVANTAGE SECTION
   ============================================ */
.digital-advantage-section {
	padding: 80px 0;
}
.digital-step {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 30px;
}
.digital-step-number {
	width: 50px;
	height: 50px;
	min-width: 50px;
	background: var(--schemmel-gold);
	color: var(--schemmel-black);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 20px;
}
.digital-step h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 6px;
}
.digital-step p {
	color: #666;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

/* ============================================
   SERVICE DETAIL PAGE
   ============================================ */
.service-detail-hero {
	background: var(--schemmel-black);
	padding: 60px 0 40px;
}
.service-detail-content {
	padding: 60px 0;
}
.service-detail-content h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 16px;
	color: var(--schemmel-black);
}
.service-detail-content h3 {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 12px;
}
.service-detail-content p {
	color: #555;
	line-height: 1.8;
	font-size: 16px;
}
.service-detail-sidebar {
	background: var(--schemmel-off-white);
	border-radius: 12px;
	padding: 30px;
}
.service-detail-sidebar h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
}
.service-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.service-nav-list li {
	margin-bottom: 6px;
}
.service-nav-list li a {
	display: block;
	padding: 12px 16px;
	background: var(--schemmel-white);
	border-radius: 8px;
	color: var(--schemmel-black);
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s ease;
	border-left: 3px solid transparent;
}
.service-nav-list li a:hover,
.service-nav-list li a.active {
	background: var(--schemmel-gold);
	color: var(--schemmel-black);
	border-left-color: var(--schemmel-gold-dark);
}
.service-cta-box {
	background: var(--schemmel-black);
	border-radius: 12px;
	padding: 30px;
	text-align: center;
	margin-top: 30px;
}
.service-cta-box h4 {
	color: var(--schemmel-white);
	font-size: 20px;
	margin-bottom: 10px;
}
.service-cta-box p {
	color: rgba(255,255,255,0.7);
	font-size: 14px;
	margin-bottom: 20px;
}

/* ============================================
   FAQ CUSTOM
   ============================================ */
.faq-section .accordion-item {
	margin-bottom: 16px;
	border: 1px solid #eee;
	border-radius: 12px !important;
	overflow: hidden;
	background: var(--schemmel-white);
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
	transition: box-shadow 0.3s ease;
}
.faq-section .accordion-item:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.faq-section .accordion-button {
	font-weight: 700;
	font-size: 17px;
	padding: 22px 28px;
	background-color: var(--schemmel-white);
	color: var(--schemmel-black);
	border: none;
	box-shadow: none;
}
.faq-section .accordion-button:not(.collapsed) {
	background-color: var(--schemmel-off-white);
	color: var(--schemmel-black);
	border-bottom: 1px solid rgba(197,165,90,0.2);
}
.faq-section .accordion-button::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C5A55A'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.faq-section .accordion-button:focus {
	box-shadow: 0 0 0 0.2rem rgba(197,165,90,0.25);
}
.faq-section .accordion-body {
	padding: 20px 28px 28px;
	color: #555;
	line-height: 1.8;
	font-size: 16px;
}
.faq-section .accordion-body a {
	color: var(--schemmel-gold);
	font-weight: 600;
}

/* ============================================
   CONTACT PAGE — NO ADDRESS
   ============================================ */
.contact-remote-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--schemmel-gold);
	color: var(--schemmel-black);
	padding: 8px 20px;
	border-radius: 20px;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 20px;
}

/* --- Checkbox Fix (prevent disappearing on hover) --- */
#contact-military {
	width: 18px !important;
	height: 18px !important;
	accent-color: var(--schemmel-gold);
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
	opacity: 1 !important;
	position: static !important;
	pointer-events: auto !important;
	visibility: visible !important;
	flex-shrink: 0;
}

/* ============================================
   SOCIAL LINKS
   ============================================ */
.schemmel-social-links {
	display: flex;
	gap: 12px;
	margin-top: 16px;
}
.schemmel-social-links a {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(197,165,90,0.15);
	color: var(--schemmel-gold) !important;
	font-size: 16px;
	transition: all 0.3s ease;
	text-decoration: none;
}
.schemmel-social-links a:hover {
	background: var(--schemmel-gold);
	color: var(--schemmel-black) !important;
	transform: translateY(-3px);
}

/* ============================================
   TESTIMONIALS SECTION
   ============================================ */
.testimonial-section {
	padding: 80px 0;
	background: var(--schemmel-off-white);
}
.testimonial-card {
	background: var(--schemmel-white);
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0 4px 30px rgba(0,0,0,0.06);
	position: relative;
}
.testimonial-card::before {
	content: '"';
	position: absolute;
	top: 20px;
	left: 30px;
	font-size: 80px;
	font-family: Georgia, serif;
	color: var(--schemmel-gold);
	opacity: 0.3;
	line-height: 1;
}
.testimonial-card blockquote {
	font-size: 18px;
	line-height: 1.8;
	color: #444;
	font-style: italic;
	margin: 0 0 24px;
	padding-left: 10px;
	border: none;
}
.testimonial-author {
	display: flex;
	align-items: center;
	gap: 16px;
}
.testimonial-author-avatar {
	width: 56px;
	height: 56px;
	background: var(--schemmel-gold);
	color: var(--schemmel-black);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 20px;
	flex-shrink: 0;
}
.testimonial-author-info h5 {
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 2px;
}
.testimonial-author-info p {
	font-size: 13px;
	color: #888;
	margin: 0;
}
.testimonial-stars {
	color: var(--schemmel-gold);
	font-size: 18px;
	margin-bottom: 16px;
}
.testimonial-source {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #4267B2;
	color: #fff;
	padding: 4px 14px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	margin-top: 16px;
}

/* ============================================
   SERVICES LINK CARDS (Overview Page)
   ============================================ */
.service-link-card {
	background: var(--schemmel-white);
	border-radius: 12px;
	padding: 30px;
	text-align: center;
	box-shadow: 0 2px 15px rgba(0,0,0,0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.service-link-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.service-link-card .icon-wrap {
	width: 70px;
	height: 70px;
	background: var(--schemmel-gold);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.service-link-card .icon-wrap i {
	font-size: 28px;
	color: var(--schemmel-black);
}
.service-link-card h4 {
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 10px;
}
.service-link-card p {
	color: #666;
	font-size: 14px;
	line-height: 1.6;
	flex-grow: 1;
}
.service-link-card .learn-more {
	color: var(--schemmel-gold);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	transition: gap 0.2s ease;
}
.service-link-card:hover .learn-more {
	gap: 10px;
}

/* ============================================
   HERO CUSTOM (HOMEPAGE)
   ============================================ */
.schemmel-hero {
	background: var(--schemmel-black);
	min-height: 85vh;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.schemmel-hero::after {
	content: '';
	position: absolute;
	right: 0; top: 0;
	width: 45%;
	height: 100%;
	background: linear-gradient(135deg, transparent 0%, rgba(197,165,90,0.08) 100%);
}
.schemmel-hero .hero-content {
	position: relative;
	z-index: 2;
}
.schemmel-hero .hero-subtitle {
	color: var(--schemmel-gold);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 16px;
}
.schemmel-hero .hero-title {
	color: var(--schemmel-white);
	font-size: 52px;
	font-weight: 800;
	line-height: 1.15;
	margin-bottom: 20px;
}
.schemmel-hero .hero-title .gold {
	color: var(--schemmel-gold);
}
.schemmel-hero .hero-desc {
	color: rgba(255,255,255,0.75);
	font-size: 18px;
	line-height: 1.7;
	margin-bottom: 30px;
	max-width: 550px;
}
.schemmel-hero .hero-buttons {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}
.schemmel-hero .hero-image {
	position: relative;
	z-index: 2;
}
.schemmel-hero .hero-image img {
	border-radius: 16px;
	max-height: 520px;
	object-fit: cover;
	box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 991px) {
	.schemmel-hero .hero-title {
		font-size: 36px;
	}
	.pricing-price {
		font-size: 36px;
	}
	.military-section h2 {
		font-size: 28px;
	}
}
@media (max-width: 767px) {
	.schemmel-hero {
		min-height: auto;
		padding: 80px 0 40px;
	}
	.schemmel-hero .hero-title {
		font-size: 28px;
	}
	.schemmel-hero .hero-image {
		margin-top: 30px;
	}
	.pricing-card {
		margin-bottom: 20px;
	}
	.standalone-services-table {
		font-size: 13px;
	}
	.standalone-services-table thead th,
	.standalone-services-table tbody td {
		padding: 12px 14px;
	}
}
