/*!
Theme Name: EdsBootstrap Modern
Theme URI: https://edatastyle.com
Author: eDataStyle
Author URI: https://edatastyle.com
Description: Modern WordPress block theme with testimonials and interactive elements. Built with Bootstrap 5 and block editor support.
Version: 2.0.7
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: edsbootstrap-modern
Domain Path: /languages
Tags: blog, portfolio, testimonials, block-theme, responsive, bootstrap
Requires at least: 6.0
Requires PHP: 8.0
*/

/* Basic visual overrides to approximate RepairmanLLC look */
:root{
	--rm-primary:#3e606f;
	--rm-accent:#f18f01;
	--rm-dark:#103333;
    --max-width:1100px;
}

body{font-family: "Raleway", sans-serif;color:var(--rm-dark);line-height:1.6;font-weight: 400;font-size: 17px;-webkit-font-smoothing: antialiased;}
body p a {text-decoration-line: underline;}
h1,h2,h3,h4,h5,h6{font-family: "Roboto", sans-serif;font-weight:100}
h1{font-size:2.3em}
h2{font-size:1.8em;}
h3{font-size:1.5em}
h1::after, h2::after{content: "";display: block;height: 1px;width: 200px;background: var(--rm-primary);}
h1.has-text-align-center::after, h2.has-text-align-center::after{margin: 8px auto;}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}

.site-header{background:#ffffff;border-bottom:1px solid #eee}
.site-header{background:#ffffff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:9999}

/* Adjust sticky header when admin bar is present */
body.admin-bar .site-header{top:32px}
/* .site-main{padding:32px 0} */

@media(max-width:782px){
	body.admin-bar .site-header{top:46px}
}

.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px;gap:10px}
.site-branding{display:flex;align-items:center}
.site-branding img{max-width:100px;height:auto;display:block}
.site-branding .site-title{font-weight:700;font-size:0.95rem;color:var(--rm-primary);text-decoration:none;margin:0}
.site-nav{flex:1;display:flex;justify-content:flex-end;position: relative;}
.site-nav .primary-menu{list-style:none;margin:0;padding:0;display:flex;gap:10px;align-items:center}
.site-nav .primary-menu li{display:inline;position:relative}
.site-nav .primary-menu a{color:var(--rm-dark);text-decoration:none;padding: 5px 10px;display: inline-block;font-size: 0.75em;font-weight: 500;text-transform: uppercase;line-height: normal;}
.site-nav .primary-menu li.current-menu-item > a,
.site-nav .primary-menu li.current_page_item > a,
.site-nav .primary-menu li a:hover {background: var(--rm-primary);color: #ffffff;border-radius: 4px;}
.site-nav .primary-menu ul{list-style:none;margin:0;padding:8px 0;display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid #eee;border-radius:4px;min-width:180px;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.site-nav .primary-menu li:hover > ul{display:block}
.site-nav .primary-menu ul li{display:block;margin:0}
.site-nav .primary-menu ul a{display:block;padding:10px 16px;color:var(--rm-dark)}
.site-nav .primary-menu ul a:hover{background:#f5f5f5;color:var(--rm-primary)}
.header-left{display:flex;align-items:center}
/* .header-right{display: flex;align-items: center;position: absolute;right: -100%;top: 50%;transform: translateY(-50%);} */
.header-btn{background: var(--rm-accent);color: #fff;padding: 5px 10px;border-radius: 4px;text-decoration: none;text-transform: uppercase;font-size: 0.85em;line-height: normal;font-weight: 500;transition: all 0.2s;white-space: nowrap;}
.header-btn:hover{background:var(--rm-primary);color:#ffffff;}

/* Top info bar */
.top-info{background:#fff;border-bottom:1px solid #f0f0f0;padding: 0 15px;}
.top-info .top-info-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:0.85rem;color:#666}
.top-phones{display:flex;gap:24px;align-items:center}
.top-phones a{color:var(--rm-dark);text-decoration:none;transition:color 0.2s}
.top-phones span{color:#666}
.top-phones .sep{display:none}
.top-links{display:flex;gap:16px;align-items:center}
.top-links a{color:var(--rm-dark);text-decoration:none;transition:color 0.2s}
.top-links svg{width:20px;height:20px;color:var(--rm-dark);transition:color 0.2s}
.top-links a:hover svg{color:var(--rm-primary)}

.site-entry,.page-entry,.single-entry{max-width:var(--max-width);margin:0 auto}
.entry-title{color:var(--rm-primary);margin-bottom:12px}

@media(max-width:720px){
	.site-nav, .top-info{display:none}
	.site-header .header-inner{gap:12px}
	.site-hero h1{font-size:1.6rem}
}

/* Page hero (featured image, logo overlay) */
.page-hero{background-size:cover;background-position:center;color:#fff;min-height:300px;display:flex;align-items:center}
.page-hero-overlay{background:linear-gradient(rgba(0,0,0,0.25),rgba(0,0,0,0.25));width:100%;padding:70px 0}
.page-hero .hero-inner{display:flex;justify-content:center;align-items:center}
.page-hero .hero-logo{background:rgba(255,255,255,0.85);padding:28px;border-radius:6px;max-width:440px;text-align:center}
.page-hero .hero-logo img{max-width:100%;height:auto}

/* Contact Bar */
.contact-bar{background: var(--rm-primary);padding:24px 0;color:#fff}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact-cta-text{font-size:1.125rem}
.contact-btn{background:transparent;border:1px solid rgba(255,255,255,0.85);color:#fff;padding:10px 16px;border-radius:4px;text-decoration:none;font-weight:600;transition:all 0.2s}
.contact-btn:hover,.contact-btn:focus{background:#fff;color:var(--rm-primary);border-color:#fff}

@media(max-width:720px){
	.contact-inner{flex-direction:column;gap:12px}
	.contact-cta-text{text-align:center}
}

.archive-header{margin-bottom:32px}
.archive-header h1{color:var(--rm-primary);font-size:2rem}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:32px;margin:32px 0}

.blog-card{background:#fff;border-radius:4px;overflow:hidden;transition:box-shadow 0.3s;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1)}

.blog-card-image{width:100%;height:240px;overflow:hidden;background:#f0f0f0}
.blog-card-image img{width:100%;height:100%;object-fit:cover}

.blog-card-content{padding:20px}

.blog-card-title{margin:0 0 12px;font-size:1.3rem}
.blog-card-title a{color:var(--rm-dark);text-decoration:none}
.blog-card-title a:hover{color:var(--rm-primary)}

.blog-card-meta{display:flex;gap:16px;margin-bottom:12px;font-size:0.85rem;color:#999}
.blog-date{color:#999}
.blog-edit a{color:var(--rm-primary);text-decoration:none}

.blog-card-excerpt{margin-bottom:16px;color:#666;line-height:1.6}

.blog-continue-reading{color:var(--rm-primary);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.blog-continue-reading:hover{color:var(--rm-accent)}

@media(max-width:720px){
	.blog-grid{grid-template-columns:1fr;gap:24px}
}

/* Pagination */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:40px 0;flex-wrap:wrap}
.pagination a,
.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:1px solid #ddd;border-radius:4px;text-decoration:none;color:var(--rm-dark);font-weight:500;transition:all 0.2s}
.pagination a:hover{background:var(--rm-primary);color:#fff;border-color:var(--rm-primary)}
.pagination .current{background:var(--rm-primary);color:#fff;border-color:var(--rm-primary)}
.pagination .page-numbers.dots{border:none;cursor:default}
.pagination .page-numbers.dots:hover{background:transparent;color:var(--rm-dark)}
.pagination .prev,
.pagination .next{min-width:auto;padding:0 12px}


/* Single Post */
article {max-width: var(--max-width); margin: 0 auto; padding: 20px}
.single-hero{background-size:cover;background-position:center;height:400px;display:flex;align-items:center;justify-content:center;position:relative}
.single-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;z-index:1}
.single-hero-title{color:#fff;font-size:2.5rem;text-align:center;margin:0;z-index:2;position:relative;max-width:90%;padding:0 20px}

.entry-title{color:var(--rm-dark);font-size:2rem;margin:0 0 20px}
.entry-meta{display:flex;gap:16px;margin-bottom:24px;font-size:0.9rem;color:#999}
.entry-date{color:#999}
.entry-edit a{color:var(--rm-primary);text-decoration:none}
.entry-content{color:var(--rm-dark);line-height:1.8;max-width:var(--max-width)}
.entry-content h2{color:var(--rm-dark);font-size:1.5rem;margin:0 0 12px}
.entry-content p{margin:0 0 24px}
a{color:var(--rm-primary);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--rm-accent)}

@media(max-width:768px){
    .single-hero{height:300px}
    .single-hero-title{font-size:1.8rem}
}

/* Single Post Navigation */
.post-navigation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin:48px auto;padding:32px 0;border-top:1px solid #eee;max-width: var(--max-width);}

.nav-post-card{display:flex;flex-direction:column;text-decoration:none;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:box-shadow 0.3s}
.nav-post-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.15)}

.nav-post-label{display:block;padding:12px 16px;background:var(--rm-primary);color:#fff;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}

.nav-post-image{width:100%;height:180px;overflow:hidden;background:#f0f0f0}
.nav-post-image img{width:100%;height:100%;object-fit:cover}

.nav-post-content{padding:16px;flex:1;display:flex;flex-direction:column}

.nav-post-title{margin:0 0 8px;font-size:1.1rem;color:var(--rm-dark)}
.nav-post-card:hover .nav-post-title{color:var(--rm-primary)}

.nav-post-excerpt{margin:0;color:#666;font-size:0.9rem;line-height:1.5}

@media(max-width:720px){
	.post-navigation-cards{grid-template-columns:1fr;gap:16px}
}

/* Testimonials Page */
.page-content-intro{max-width:var(--max-width);margin:0 auto 48px;padding:24px 0;border-bottom:1px solid #eee}

.testimonials-listing{margin:32px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}

.testimonial-item{background:#fff;padding:24px;border-radius:4px;border-left:4px solid var(--rm-accent);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);transition:box-shadow 0.3s;position: relative;overflow: hidden;}
.testimonial-item .icon {position: absolute;top: -30px;right: -15px;font-size: 4em;color: var(--rm-primary);opacity: .2;}
.testimonial-title{margin:0 0 12px;font-size:1.1rem}

.testimonial-excerpt{color:#666;line-height:1.6;margin:0}

@media(max-width:720px){
	.testimonials-listing{grid-template-columns:1fr;gap:16px}
}

/* Home Page */
.home .page-hero .page-hero-overlay{padding: 140px 0;}
.home-page-section-header{margin: 2% 0;}

/* Footer Styling */

.site-footer {
	background-color: #272727;
	color: #b8b8b8;
	padding: 50px 0 20px;
	border-top: 5px solid var(--rm-primary);
}

.footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

/* Main Footer Grid */
.footer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 30px;
}

/* Footer Columns */
.footer-col h3.widget-title {
	font-weight: 400;
	margin-bottom: 20px;
	text-transform: capitalize;
}

.footer-col h3.widget-title .text-theme {
	color: var(--rm-primary);
}

.footer-col p {
	font-size: 14px;
	line-height: 1.6;
	color: #dfdfdf;
}

.footer-col a {
	color: var(--rm-accent);
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-col a:hover {
	color: var(--rm-primary);
}

/* Contact Information */
.contact-info p {
	margin-bottom: 15px;
}

.contact-info strong {
	font-weight: 700;
	color: #dfdfdf;
}

.contact-info a {
	color: var(--rm-accent);
}

.contact-info .icon {
	color: var(--rm-accent);
}

/* Hiring Section */
.hiring-info p {
	margin-bottom: 12px;
}

.hiring-info a {
	font-weight: bold;
	color: var(--rm-accent);
}

/* Badge Row */
.footer-badges {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 30px;
	padding-top: 30px;
}

.badge-item {
	text-align: center;
}

.badge-item img {
	max-width: 150px;
	height: auto;
	margin: 0 auto;
	display: block;
}

/* Footer Bottom */
.footer-bottom {
	text-align: center;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #4a4a4a;
}

.footer-bottom .sitemap-link {
	margin-bottom: 10px;
}

.footer-bottom .sitemap-link a {
	color: var(--rm-primary);
	font-size: 14px;
}

.footer-bottom .copyright {
	font-size: 14px;
	color: #dfdfdf;
	margin: 0;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
	.footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}

	.footer-badges {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 767px) {
	.site-footer {
		padding: 30px 0 20px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.footer-badges {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.footer-post {
		margin-bottom: 15px;
	}

	.footer-post .post-image {
		width: 60px;
		height: 60px;
	}

	.badge-item img {
		max-width: 120px;
	}
}

/* Mobile menu toggle button - hidden by default */
.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	flex-direction: column;
	gap: 4px;
	position: relative;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
}

.hamburger-line {
	width: 25px;
	height: 2px;
	background-color: #333;
	transition: all 0.3s ease;
	position: absolute;
}

.hamburger-line:nth-child(1) {
	top: 12px;
}

.hamburger-line:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.hamburger-line:nth-child(3) {
	bottom: 12px;
}

/* X icon transformation */
.mobile-menu-toggle.active .hamburger-line:nth-child(1) {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.mobile-menu-toggle.active .hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobile-menu-toggle.active .hamburger-line:nth-child(3) {
	bottom: 50%;
	transform: translateY(50%) rotate(-45deg);
}

/* Mobile navigation - hidden by default */
.mobile-nav {
	display: none;
	background-color: #fff;
	padding: 20px;
	overflow: hidden;
}

.mobile-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mobile-menu>li {
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	position: relative;
}

/* Parent menu item with children */
.mobile-menu li.menu-item-has-children {
	position: relative;
}

.mobile-menu li.menu-item-has-children>a {
	padding-right: 40px;
	display: block;
}

/* Dropdown toggle button */ 
.submenu-toggle {
	position: absolute;
	right: 0;
	top: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.submenu-toggle i {
	transition: transform 0.3s ease;
	font-size: 16px;
}

.submenu-toggle.active i {
	transform: rotate(180deg);
}

/* Submenu styles */
.mobile-menu .sub-menu {
	list-style: none;
	padding: 5px;
	margin-top: 10px;
	display: none;
	background-color: #f8f8f8;
	padding-left: 20px;
}

.mobile-menu .sub-menu li {
	padding: 8px 0;
	border-bottom: 1px solid #e0e0e0;
}

.mobile-menu li a {
	width: 100%;
	display: block;
}

.mobile-menu .sub-menu li:last-child {
	border-bottom: none;
}

li.call-button {
	border-bottom: 0;
	display: inline-block;
	width: 49%;
}

li.call-button a {
    display: block;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    background: var(--rm-primary);
    border-radius: 5px;
    margin-top: 15px;
    color: #ffffff;
    font-size: .85em;
}

/* Media query for mobile devices */
@media (max-width: 720px) {
	.mobile-menu-toggle {
		display: flex;
	}
}

.wp-block-button a:hover,
.wp-block-button a:focus {
	background-color: var(--rm-accent) !important;
	color: #ffffff;
	cursor: pointer !important;
	display: block;
}