/* ==========================================================================
   Simplest Services - Custom Styles
   ========================================================================== */

/* ---------- Root Variables ---------- */
:root {
	--ss-primary: #1A73E8;
	--ss-primary-light: #4FC3F7;
	--ss-primary-dark: #0D47A1;
	--ss-dark: #1a1a2e;
	--ss-gray: #6B7280;
	--ss-gray-light: #F3F4F6;
	--ss-white: #FFFFFF;
	--ss-accent: #10B981;
	--ss-radius: 8px;
	--ss-radius-lg: 16px;
	--ss-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
	--ss-shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
	--ss-transition: all 0.3s ease;
}

/* ---------- Global ---------- */
* {
	box-sizing: border-box;
}

body {
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

/* ---------- Smooth Scroll ---------- */
html {
	scroll-behavior: smooth;
}

/* ---------- Buttons ---------- */
.wp-block-button__link,
.ss-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.875rem 2rem;
	border-radius: var(--ss-radius);
	font-weight: 600;
	text-decoration: none;
	transition: var(--ss-transition);
	cursor: pointer;
	border: none;
}

.wp-block-button__link:hover,
.ss-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--ss-shadow-lg);
}

/* Primary Button */
.wp-block-button.is-style-fill .wp-block-button__link {
	background: var(--ss-primary);
	color: var(--ss-white);
}

.wp-block-button.is-style-fill .wp-block-button__link:hover {
	background: var(--ss-primary-dark);
}

/* Outline Button */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ss-white);
	border: 2px solid var(--ss-white);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--ss-white);
	color: var(--ss-primary-dark);
}

/* ---------- Header / Navigation ---------- */
.ss-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	transition: var(--ss-transition);
	background: transparent;
}

/* Remove any default white background/border on site title */
.ss-header .wp-block-site-title,
.ss-header .wp-block-site-title a {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	text-decoration: none !important;
}

/* Remove white bar from header inner groups */
.ss-header .wp-block-group {
	background: transparent !important;
}

/* Fix site logo potential white bg */
.ss-header .wp-block-site-logo {
	background: transparent !important;
}

.ss-header.scrolled {
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.ss-header.scrolled .wp-block-navigation a {
	color: var(--ss-dark);
}

.ss-header.scrolled .wp-block-site-title a {
	color: var(--ss-dark);
}

/* ---------- Hero Section ---------- */
.ss-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.ss-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(13,71,161,0.95) 0%, rgba(26,115,232,0.85) 50%, rgba(79,195,247,0.75) 100%);
	z-index: 1;
}

.ss-hero > * {
	position: relative;
	z-index: 2;
}

.ss-hero-title {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--ss-white);
	margin-bottom: 1rem;
}

.ss-hero-subtitle {
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	color: rgba(255,255,255,0.9);
	line-height: 1.6;
	max-width: 600px;
}

/* Floating badge */
.ss-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1.25rem;
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 50px;
	color: var(--ss-white);
	font-size: 0.875rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}

/* ---------- Section Styles ---------- */
.ss-section {
	padding: 5rem 0;
}

.ss-section-dark {
	background: var(--ss-dark);
	color: var(--ss-white);
}

.ss-section-gray {
	background: var(--ss-gray-light);
}

.ss-section-title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 700;
	text-align: center;
	margin-bottom: 0.75rem;
}

.ss-section-subtitle {
	text-align: center;
	color: var(--ss-gray);
	font-size: 1.125rem;
	max-width: 600px;
	margin: 0 auto 3rem;
}

/* ---------- Service Cards ---------- */
.ss-card {
	background: var(--ss-white);
	border-radius: var(--ss-radius-lg);
	padding: 2rem;
	box-shadow: var(--ss-shadow);
	transition: var(--ss-transition);
	border: 1px solid rgba(0,0,0,0.05);
	height: 100%;
}

.ss-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--ss-shadow-lg);
}

.ss-card-icon {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, var(--ss-primary), var(--ss-primary-light));
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	margin-bottom: 1.25rem;
	color: var(--ss-white);
}

.ss-card h3 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
	color: var(--ss-dark);
}

.ss-card p {
	color: var(--ss-gray);
	line-height: 1.6;
	font-size: 0.95rem;
}

/* ---------- Stats / Counter ---------- */
.ss-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 2rem;
	text-align: center;
}

.ss-stat-number {
	font-size: 3rem;
	font-weight: 800;
	color: var(--ss-primary-light);
	line-height: 1;
	margin-bottom: 0.5rem;
}

.ss-stat-label {
	color: rgba(255,255,255,0.8);
	font-size: 1rem;
	font-weight: 500;
}

/* ---------- Before / After ---------- */
.ss-before-after {
	position: relative;
	border-radius: var(--ss-radius-lg);
	overflow: hidden;
	box-shadow: var(--ss-shadow-lg);
}

/* ---------- Testimonials ---------- */
.ss-testimonial {
	background: var(--ss-white);
	border-radius: var(--ss-radius-lg);
	padding: 2rem;
	box-shadow: var(--ss-shadow);
	border-left: 4px solid var(--ss-primary);
}

.ss-testimonial-text {
	font-style: italic;
	color: var(--ss-gray);
	line-height: 1.7;
	margin-bottom: 1rem;
}

.ss-testimonial-author {
	font-weight: 600;
	color: var(--ss-dark);
}

.ss-testimonial-role {
	color: var(--ss-gray);
	font-size: 0.875rem;
}

/* Stars */
.ss-stars {
	color: #FBBF24;
	font-size: 1.125rem;
	margin-bottom: 0.75rem;
}

/* ---------- CTA Section ---------- */
.ss-cta {
	background: linear-gradient(135deg, var(--ss-primary-dark), var(--ss-primary));
	padding: 5rem 2rem;
	text-align: center;
	border-radius: var(--ss-radius-lg);
	color: var(--ss-white);
}

.ss-cta h2 {
	color: var(--ss-white);
	margin-bottom: 1rem;
}

.ss-cta p {
	color: rgba(255,255,255,0.9);
	margin-bottom: 2rem;
}

/* ---------- Footer ---------- */
.ss-footer {
	background: var(--ss-dark);
	color: rgba(255,255,255,0.8);
	padding: 4rem 0 2rem;
}

.ss-footer a {
	color: rgba(255,255,255,0.8);
	text-decoration: none;
	transition: var(--ss-transition);
}

.ss-footer a:hover {
	color: var(--ss-primary-light);
}

.ss-footer h3 {
	color: var(--ss-white);
	font-size: 1.125rem;
	margin-bottom: 1.25rem;
}

/* ---------- Phone CTA Floating ---------- */
.ss-phone-float {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 999;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 1.5rem;
	background: var(--ss-primary);
	color: var(--ss-white);
	border-radius: 50px;
	box-shadow: 0 8px 30px rgba(26,115,232,0.4);
	text-decoration: none;
	font-weight: 600;
	font-size: 1rem;
	transition: var(--ss-transition);
	animation: ss-pulse 2s infinite;
}

.ss-phone-float:hover {
	background: var(--ss-primary-dark);
	transform: scale(1.05);
	color: var(--ss-white);
}

@keyframes ss-pulse {
	0%, 100% { box-shadow: 0 8px 30px rgba(26,115,232,0.4); }
	50% { box-shadow: 0 8px 40px rgba(26,115,232,0.6); }
}

/* ---------- Advantages / Why Us ---------- */
.ss-advantage {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}

.ss-advantage-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: rgba(26,115,232,0.1);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ss-primary);
	font-size: 1.25rem;
}

/* ---------- Form Styles ---------- */
.ss-form input,
.ss-form textarea,
.ss-form select {
	width: 100%;
	padding: 0.875rem 1rem;
	border: 2px solid #E5E7EB;
	border-radius: var(--ss-radius);
	font-family: inherit;
	font-size: 1rem;
	transition: var(--ss-transition);
	background: var(--ss-white);
}

.ss-form input:focus,
.ss-form textarea:focus,
.ss-form select:focus {
	border-color: var(--ss-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(26,115,232,0.1);
}

.ss-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: var(--ss-dark);
}

/* ---------- Animations ---------- */
.ss-fade-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.ss-fade-up.visible {
	opacity: 1;
	transform: translateY(0);
}

/* ---------- Before/After Gallery - Horizontal Scroll on Mobile ---------- */
.ss-gallery-scroll {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

.ss-gallery-scroll figure {
	margin: 0;
}

/* ---------- Mobile Navigation Overlay ---------- */
@media (max-width: 768px) {
	/* Navigation overlay - proper hamburger menu */
	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 2rem;
		background: var(--ss-dark) !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		border-bottom: 1px solid rgba(255,255,255,0.1);
		padding: 0.75rem 0;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
		font-size: 1.2rem;
		font-weight: 600;
		color: #ffffff !important;
		text-decoration: none;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
		border-bottom: none;
		margin-top: 1rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child a {
		display: inline-block;
		background: var(--ss-primary);
		padding: 0.875rem 2rem;
		border-radius: 8px;
		text-align: center;
		width: 100%;
	}

	/* Close button styling */
	.wp-block-navigation__responsive-container-close {
		color: #ffffff !important;
	}

	/* Hamburger button styling */
	.wp-block-navigation__responsive-container-open {
		color: #ffffff;
	}

	.ss-header.scrolled .wp-block-navigation__responsive-container-open {
		color: var(--ss-dark);
	}
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
	.ss-hero {
		min-height: 90vh;
		padding-top: 5rem;
	}

	.ss-section {
		padding: 3rem 0;
	}

	.ss-phone-float span {
		display: none;
	}

	.ss-phone-float {
		padding: 1rem;
		border-radius: 50%;
		width: 56px;
		height: 56px;
		justify-content: center;
	}

	.ss-stats {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Before/After - horizontal scroll on mobile */
	.ss-gallery-scroll {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 1rem;
		padding-bottom: 1rem;
	}

	.ss-gallery-scroll > .wp-block-column,
	.ss-gallery-scroll > figure,
	.ss-gallery-scroll > .wp-block-image {
		flex: 0 0 85%;
		scroll-snap-align: start;
	}

	/* Cards stack vertically */
	.ss-card {
		margin-bottom: 1rem;
	}

	/* Hero buttons stack */
	.ss-hero .wp-block-buttons {
		flex-direction: column;
	}

	/* CTA smaller padding */
	.ss-cta {
		padding: 3rem 1.5rem;
	}

	/* Footer single column */
	.ss-footer .wp-block-columns {
		flex-direction: column;
	}

	/* Testimonials horizontal scroll */
	.ss-testimonials-scroll {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 1rem;
		padding-bottom: 1rem;
	}

	.ss-testimonials-scroll > .wp-block-column {
		flex: 0 0 85%;
		scroll-snap-align: start;
	}

	/* Scrollbar styling */
	.ss-gallery-scroll::-webkit-scrollbar,
	.ss-testimonials-scroll::-webkit-scrollbar {
		height: 4px;
	}

	.ss-gallery-scroll::-webkit-scrollbar-track,
	.ss-testimonials-scroll::-webkit-scrollbar-track {
		background: #f1f1f1;
		border-radius: 4px;
	}

	.ss-gallery-scroll::-webkit-scrollbar-thumb,
	.ss-testimonials-scroll::-webkit-scrollbar-thumb {
		background: var(--ss-primary-light);
		border-radius: 4px;
	}
}

/* ---------- Utility Classes ---------- */
.ss-text-center { text-align: center; }
.ss-text-white { color: var(--ss-white); }
.ss-mb-0 { margin-bottom: 0; }
.ss-mb-1 { margin-bottom: 0.5rem; }
.ss-mb-2 { margin-bottom: 1rem; }
.ss-mb-3 { margin-bottom: 1.5rem; }
.ss-mb-4 { margin-bottom: 2rem; }
.ss-mt-4 { margin-top: 2rem; }
