/*
Theme Name: Pasco Pest Native
Theme URI: https://pestcontrolpasco.com/
Author: Generation Next Marketing
Description: Editable WordPress block theme for Pest Control Land O' Lakes and its Pasco-area service pages.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: pasco-pest-native
*/

:root {
	--pcp-green: #5d987f;
	--pcp-green-dark: #315f4c;
	--pcp-green-deep: #244638;
	--pcp-orange: #f7941d;
	--pcp-orange-dark: #db7905;
	--pcp-soft: #f2f7f4;
	--pcp-cream: #faf8f3;
	--pcp-ink: #25312b;
	--pcp-muted: #5d6963;
	--pcp-line: #dce6e0;
	--pcp-white: #fff;
	--pcp-shadow: 0 12px 34px rgba(25, 59, 44, .18);
}

html { scroll-behavior: smooth; }
body {
	background: #fff;
	color: var(--pcp-ink);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	line-height: 1.68;
	margin: 0;
	overflow-x: hidden;
}
a { color: var(--pcp-green-dark); text-underline-offset: .17em; }
.wp-site-blocks { padding: 0; }

/* Header: deliberately follows the clean white WC Pest Control layout. */
.pcp-site-header {
	background: #fff;
	border-bottom: 1px solid #edf1ef;
	position: relative;
	z-index: 50;
}
.pcp-header-inner {
	min-height: 150px;
	padding: 0 28px;
}
.pcp-brand {
	display: block;
	flex: 0 0 116px;
	height: 116px;
	line-height: 0;
	text-decoration: none;
	width: 116px;
}
.pcp-brand img {
	display: block;
	height: 116px;
	object-fit: cover;
	width: 116px;
}
.pcp-nav { margin-left: auto; }
.pcp-nav a {
	color: var(--pcp-green-dark) !important;
	font-size: .91rem;
	font-weight: 500;
	text-decoration: none;
}
.pcp-nav a:hover,
.pcp-nav a:focus { color: var(--pcp-orange-dark) !important; }
.pcp-nav .wp-block-navigation__container { gap: 28px; }
.pcp-nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	border: 1px solid var(--pcp-line) !important;
	box-shadow: var(--pcp-shadow);
	min-width: 245px !important;
	padding: 8px !important;
}
.pcp-nav .wp-block-navigation__submenu-container a { padding: 9px 12px; }
.pcp-header-call .pcp-phone-button {
	border-radius: 0;
	font-size: 1rem;
	min-width: 180px;
	padding: 15px 20px;
}

.pcp-phone-button,
.wp-block-button__link {
	align-items: center;
	background: var(--pcp-green);
	border: 0;
	border-radius: 28px;
	box-shadow: none;
	color: #fff !important;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	padding: 14px 28px;
	text-align: center;
	text-decoration: none;
	transition: background 150ms ease, transform 150ms ease;
}
.pcp-phone-button:hover,
.pcp-phone-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
	background: var(--pcp-green-dark);
	color: #fff !important;
	transform: translateY(-1px);
}

/* Hero and form */
.pcp-hero {
	background-color: #263c32;
	background-image: linear-gradient(90deg, rgba(12, 24, 19, .68), rgba(12, 24, 19, .44));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	min-height: 600px;
	padding: 56px 28px;
}
.pcp-hero-land-o-lakes {
	background-image: linear-gradient(90deg, rgba(10, 18, 14, .65), rgba(10, 18, 14, .42)), url("assets/images/brand/pest-control-pasco-home-hero.jpg");
	background-position: center 46%;
}
.pcp-hero-wesley-chapel { background-image: linear-gradient(90deg, rgba(10,24,18,.76), rgba(10,24,18,.46)), url("assets/images/locations/wesley-chapel-home.webp"); }
.pcp-hero-east-pasco { background-image: linear-gradient(90deg, rgba(10,24,18,.76), rgba(10,24,18,.48)), url("assets/images/locations/east-pasco-home.webp"); }
.pcp-hero-west-pasco { background-image: linear-gradient(90deg, rgba(10,24,18,.77), rgba(10,24,18,.49)), url("assets/images/locations/west-pasco-home.webp"); }
.pcp-hero-ants { background-image: linear-gradient(90deg, rgba(10,24,18,.82), rgba(10,24,18,.52)), url("assets/images/services/ants-iphone.webp"); }
.pcp-hero-roaches,
.pcp-hero-commercial { background-image: linear-gradient(90deg, rgba(10,24,18,.84), rgba(10,24,18,.56)), url("assets/images/services/roaches-real.jpg"); }
.pcp-hero-termites { background-image: linear-gradient(90deg, rgba(10,24,18,.82), rgba(10,24,18,.52)), url("assets/images/services/termites-iphone.webp"); }
.pcp-hero-rodents { background-image: linear-gradient(90deg, rgba(10,24,18,.84), rgba(10,24,18,.55)), url("assets/images/services/rodent-evidence-iphone.webp"); }
.pcp-hero-spiders { background-image: linear-gradient(90deg, rgba(10,24,18,.82), rgba(10,24,18,.51)), url("assets/images/services/spider-iphone.webp"); }
.pcp-hero-fleas { background-image: linear-gradient(90deg, rgba(10,24,18,.83), rgba(10,24,18,.53)), url("assets/images/services/fleas-iphone.webp"); }
.pcp-hero-bed-bugs { background-image: linear-gradient(90deg, rgba(10,24,18,.84), rgba(10,24,18,.55)), url("assets/images/services/bed-bug-evidence-real.jpg"); }
.pcp-hero-mosquitoes { background-image: linear-gradient(90deg, rgba(10,24,18,.79), rgba(10,24,18,.49)), url("assets/images/services/mosquito-water-iphone.webp"); }
.pcp-hero-grid {
	align-items: center !important;
	column-gap: clamp(42px, 6vw, 88px) !important;
}
.pcp-hero-grid > .wp-block-column:first-child {
	max-width: 660px;
	text-align: center;
}
.pcp-hero h1 {
	color: #fff;
	font-size: clamp(2.35rem, 4.1vw, 3.7rem);
	font-weight: 750;
	letter-spacing: -.025em;
	line-height: 1.16;
	margin: 0 auto 22px;
	max-width: 680px;
}
.pcp-hero .pcp-eyebrow {
	color: #fff;
	font-size: .77rem;
	letter-spacing: .15em;
	margin-bottom: 14px;
}
.pcp-hero-lede {
	color: #fff;
	font-size: clamp(1.05rem, 1.55vw, 1.25rem);
	font-weight: 600;
	line-height: 1.5;
	margin: 0 auto 24px;
	max-width: 630px;
}
.pcp-form-wrap {
	background: var(--pcp-green);
	border-radius: 10px;
	box-shadow: var(--pcp-shadow);
	min-height: 410px;
	overflow: hidden;
	padding: 10px;
}
.pcp-form-wrap iframe {
	background: var(--pcp-green);
	display: block;
	max-width: 100%;
}
.pcp-hero-proof {
	align-items: center !important;
	gap: 28px !important;
	justify-content: center;
	margin: 34px auto 0;
	max-width: 640px;
	text-align: left;
}
.pcp-renter-logo {
	display: block;
	height: auto;
	max-width: 260px;
	width: 100%;
}
.pcp-hero-proof ul {
	font-size: .96rem;
	font-weight: 650;
	line-height: 1.5;
	margin: 0;
	padding-left: 21px;
}
.pcp-hero-proof li { margin: 3px 0; }

/* Content */
.pcp-section { padding: clamp(54px, 6.5vw, 82px) 28px; }
.pcp-section > * { max-width: 1120px; }
.pcp-copy > * { max-width: 980px; }
.pcp-copy > .wp-block-columns,
.pcp-copy > .pcp-service-list { max-width: 1120px; }
.pcp-copy h2,
.pcp-faq-section h2,
.pcp-callout h2 {
	color: var(--pcp-green);
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.15;
	margin: 0 0 24px;
}
.pcp-copy h3 {
	color: var(--pcp-green-dark);
	font-size: clamp(1.22rem, 1.9vw, 1.5rem);
	line-height: 1.3;
	margin: 34px 0 9px;
}
.pcp-copy p { margin: 0 0 18px; }
.pcp-intro {
	color: var(--pcp-muted);
	font-size: 1.12rem;
	max-width: 860px;
}
.pcp-eyebrow {
	color: var(--pcp-green-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .15em;
	line-height: 1.4;
	margin: 0 0 15px;
	text-transform: uppercase;
}
.pcp-soft { background: var(--pcp-soft); }
.pcp-dark {
	background: #e5f0ea;
	color: var(--pcp-ink);
}
.pcp-dark h2,
.pcp-dark h3,
.pcp-dark a { color: var(--pcp-green-dark); }
.pcp-dark .pcp-eyebrow { color: var(--pcp-green-dark); }
.pcp-dark p { color: var(--pcp-ink); }

.pcp-images {
	background: #fff;
	border-bottom: 1px solid var(--pcp-line);
	border-top: 1px solid var(--pcp-line);
	padding-bottom: 34px;
	padding-top: 34px;
}
.pcp-image-row { gap: 18px; }
.pcp-image-row figure {
	background: #edf2ef;
	height: 330px;
	margin: 0;
	overflow: hidden;
}
.pcp-image-row img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.pcp-story-split {
	align-items: center !important;
	gap: clamp(30px, 6vw, 74px) !important;
}
.pcp-story-image { margin: 0; }
.pcp-story-image img {
	aspect-ratio: 4/3;
	height: auto;
	object-fit: cover;
	width: 100%;
}
.pcp-service-list {
	column-count: 2;
	column-gap: 44px;
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
}
.pcp-service-list li {
	border-bottom: 1px solid rgba(49,95,76,.22);
	break-inside: avoid;
	margin: 0;
	padding: 10px 0;
}
.pcp-service-list a { color: var(--pcp-green-dark); font-weight: 700; }
.pcp-related { border-top: 1px solid var(--pcp-line); }

.pcp-faq-section { background: #fff; }
.pcp-faq-list { display: grid; gap: 0; margin-top: 32px; }
.pcp-faq-item {
	border-top: 1px solid var(--pcp-line);
	padding: 22px 0 18px;
}
.pcp-faq-item:last-child { border-bottom: 1px solid var(--pcp-line); }
.pcp-faq-item h3 {
	color: var(--pcp-green-dark);
	font-size: 1.18rem;
	margin: 0 0 8px;
}
.pcp-faq-item p { margin: 0; }

.pcp-callout {
	background: var(--pcp-soft);
	border-bottom: 8px solid var(--pcp-green);
	text-align: center;
}
.pcp-callout > * {
	margin-left: auto;
	margin-right: auto;
	max-width: 850px;
}
.pcp-callout p { font-size: 1.08rem; }
.pcp-callout .pcp-phone-button { margin-top: 10px; }

.pcp-map-card {
	background: #fff;
	border: 1px solid var(--pcp-line);
	padding: 12px;
}
.pcp-map-card iframe {
	display: block;
	height: 440px;
	max-width: 100%;
	width: 100%;
}
.pcp-map-card p { font-size: .95rem; margin: 10px 4px 2px; }

.pcp-legal-hero {
	background: var(--pcp-green-dark);
	color: #fff;
	padding: 58px 28px;
}
.pcp-legal-hero h1 {
	color: #fff;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	margin: 0 0 10px;
}
.pcp-legal-hero p { margin: 0; }
.pcp-404,
.pcp-index { min-height: 55vh; padding: 82px 28px; }

/* Compact footer */
.pcp-site-footer {
	background: var(--pcp-green-deep);
	color: #e9f2ed;
	padding: 54px 28px 82px;
}
.pcp-footer-grid { gap: 54px !important; }
.pcp-site-footer h2,
.pcp-site-footer h3 { color: #fff; }
.pcp-site-footer h2 { font-size: 1.42rem !important; line-height: 1.25; }
.pcp-site-footer h3 {
	font-size: .92rem !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.pcp-site-footer p { font-size: .94rem; }
.pcp-site-footer .pcp-phone-button {
	background: var(--pcp-orange);
	border-radius: 4px;
	margin-top: 6px;
}
.pcp-site-footer .pcp-phone-button:hover,
.pcp-site-footer .pcp-phone-button:focus { background: var(--pcp-orange-dark); }
.pcp-footer-links { list-style: none; margin: 0; padding: 0; }
.pcp-footer-links li { color: #e9f2ed; margin: 0 0 7px; }
.pcp-footer-links a { color: #e9f2ed; font-size: .92rem; text-decoration: none; }
.pcp-footer-links a:hover,
.pcp-footer-links a:focus { color: #fff; text-decoration: underline; }
.pcp-footer-bottom {
	border-top: 1px solid rgba(255,255,255,.18);
	margin-top: 32px;
	padding-top: 18px;
}
.pcp-footer-bottom p { margin: 0; }
.pcp-footer-legal a { color: #e9f2ed; text-decoration: none; }
.pcp-footer-legal a:hover,
.pcp-footer-legal a:focus { color: #fff; text-decoration: underline; }
.pcp-mobile-call { display: none; }

@media (max-width: 1120px) {
	.pcp-header-call { display: none; }
	.pcp-header-inner { min-height: 124px; }
	.pcp-nav .wp-block-navigation__container { gap: 20px; }
}

@media (max-width: 781px) {
	body { font-size: 16.5px; padding-bottom: 72px; }
	.pcp-header-inner { min-height: 88px; padding: 0 16px; }
	.pcp-brand,
	.pcp-brand img { height: 72px; width: 72px; }
	.pcp-brand { flex-basis: 72px; }
	.pcp-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: #fff;
		color: var(--pcp-ink);
		padding: 24px;
	}
	.pcp-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size: 1.03rem; }
	.pcp-hero {
		background-position: center;
		min-height: 0;
		padding: 48px 18px;
	}
	.pcp-hero-land-o-lakes { background-position: 44% center; }
	.pcp-hero-grid { gap: 34px !important; }
	.pcp-hero-grid > .wp-block-column:first-child { max-width: none; }
	.pcp-hero h1 { font-size: clamp(2.15rem, 10vw, 3rem); }
	.pcp-hero-lede { font-size: 1.05rem; }
	.pcp-hero-proof {
		align-items: center !important;
		flex-direction: column;
		gap: 18px !important;
		text-align: left;
	}
	.pcp-renter-logo { max-width: 270px; }
	.pcp-form-wrap { min-height: 360px; padding: 8px; }
	.pcp-section { padding: 50px 18px; }
	.pcp-copy h2,
	.pcp-faq-section h2,
	.pcp-callout h2 { font-size: clamp(1.8rem, 8vw, 2.45rem); }
	.pcp-image-row { grid-template-columns: 1fr !important; }
	.pcp-image-row figure { height: 290px; }
	.pcp-service-list { column-count: 1; }
	.pcp-map-card iframe { height: 330px; }
	.pcp-site-footer { padding: 48px 20px 94px; }
	.pcp-footer-grid { gap: 22px !important; }
	.pcp-mobile-call {
		background: #fff;
		bottom: 0;
		box-shadow: 0 -6px 22px rgba(24,55,42,.18);
		display: block;
		left: 0;
		padding: 8px 12px;
		position: fixed;
		right: 0;
		z-index: 100;
	}
	.pcp-mobile-call .pcp-phone-button {
		border-radius: 4px;
		display: flex;
		padding: 14px 18px;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pcp-phone-button,
	.wp-block-button__link { transition: none; }
}
