/* Hero */
.loc-hero { position: relative; background: var(--mcc-navy); color: #fff; overflow: hidden; }
.loc-hero__bg { position: absolute; inset: 0; z-index: 0; }
.loc-hero__img { width: 100%; height: 100%; object-fit: cover; opacity: .42; }
.loc-hero__inner { position: relative; z-index: 2; padding: 5rem 0 5.5rem; }
.loc-hero__content { max-width: 46rem; }
.loc-hero__crumb {
	display: flex; align-items: center; gap: .7rem;
	font-weight: 700; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
	margin-bottom: 1.3rem;
}
.loc-hero__crumb a { color: rgba(255, 255, 255, .78); }
.loc-hero__crumb a:hover { color: #fff; }
.loc-hero__crumb span { color: rgba(255, 255, 255, .5); }
.loc-hero__crumb .is-current { color: var(--mcc-green); }
.loc-hero__title {
	color: #fff; font-weight: 900; letter-spacing: -.02em; line-height: 1.06;
	font-size: clamp(2.4rem, 1.4rem + 3.4vw, 4.5rem); margin-bottom: 1.3rem;
}
.loc-hero__hl { color: var(--mcc-yellow); display: block; }
.loc-hero__lead { color: rgba(255, 255, 255, .92); font-size: 1.15rem; margin-bottom: 1.5rem; }
.loc-hero__list { display: flex; flex-direction: column; gap: .85rem; margin-bottom: 1.8rem; }
.loc-hero__list li { display: flex; align-items: center; gap: .7rem; font-weight: 700; color: rgba(255, 255, 255, .94); }
.loc-hero__list svg { color: var(--mcc-green); flex: none; }
.loc-hero__cta { display: flex; flex-wrap: wrap; gap: 1rem; }

/* Featured Coverage Areas */
.loc-area-card {
	height: 100%; background: #fff; border: 1px solid var(--mcc-border);
	border-radius: 28px; overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
.loc-area-card:hover { transform: translateY(-4px); box-shadow: var(--mcc-shadow); }
.loc-area-card__media { aspect-ratio: 5 / 3; background: #eef2ea; overflow: hidden; }
.loc-area-card--wide .loc-area-card__media { aspect-ratio: 8 / 3; }
.loc-area-card__img { width: 100%; height: 100%; object-fit: cover; }
.loc-area-card__body { padding: 1.7rem 2rem 2rem; }
.loc-area-card__badge {
	display: inline-block; margin-bottom: .8rem;
	background: var(--mcc-light); color: var(--mcc-green-dark);
	font-weight: 800; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase;
	padding: .35rem .9rem; border-radius: 60px;
}
.loc-area-card__body h3 { font-size: 1.6rem; margin-bottom: .5rem; }
.loc-area-card__body p { color: var(--mcc-body); margin-bottom: 1rem; }
.loc-area-card__pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.loc-area-card__pills span {
	background: var(--mcc-light); border: 1px solid var(--mcc-border); border-radius: 60px;
	padding: .4rem 1rem; font-weight: 700; font-size: .9rem; color: var(--mcc-heading);
}

.loc-all { background: #191b32; color: #fff; overflow: hidden; }
.loc-all__bg { position: absolute; inset: 0; z-index: 0; }
.loc-all__img { width: 100%; height: 100%; object-fit: cover; opacity: .2; }
.loc-all .container { position: relative; z-index: 1; }
.loc-all__lead { color: rgba(255, 255, 255, .85); }
.loc-all__list { display: flex; flex-direction: column; gap: 1.4rem; }
.loc-region { background: #fff; border: 1px solid var(--mcc-border); border-radius: 28px; padding: 2rem 2.3rem; }
.loc-region__head { display: flex; align-items: center; gap: 1.2rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--mcc-border); }
.loc-region__icon {
	flex: none; width: 60px; height: 60px; border-radius: 16px;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--mcc-green-dark), var(--mcc-green)); color: #fff;
	box-shadow: 0 8px 11px rgba(79, 142, 62, .28);
}
.loc-region__title { flex: 1 1 auto; }
.loc-region__title h3 { font-size: 1.5rem; margin: 0 0 .1rem; }
.loc-region__title span { color: var(--mcc-body); }
.loc-region__count {
	flex: none; background: var(--mcc-light); color: var(--mcc-green-dark);
	font-weight: 900; font-size: 1.1rem; padding: .5rem 1.1rem; border-radius: 60px;
}
.loc-region__pills { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: 1.4rem; }
.loc-region__pill {
	display: inline-flex; align-items: center; gap: .6rem;
	background: var(--mcc-light); border: 1px solid var(--mcc-border); border-radius: 60px;
	padding: .7rem 1.3rem; font-weight: 700; color: var(--mcc-heading);
	transition: border-color .16s ease, color .16s ease;
}
.loc-region__pill svg { color: var(--mcc-green-dark); }
.loc-region__pill:hover { border-color: var(--mcc-green); color: var(--mcc-heading); }

/* How Mobile Pickup Works */
.loc-pickup__features { display: flex; flex-direction: column; gap: 1.4rem; margin: 1.6rem 0 1.8rem; }
.loc-pickup__feature { display: flex; gap: 1rem; align-items: flex-start; }
.loc-pickup__feature-icon {
	flex: none; width: 40px; height: 40px; border-radius: 12px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(111, 178, 86, .12); color: var(--mcc-green-dark);
}
.loc-pickup__feature h4 { font-size: 1.2rem; margin-bottom: .15rem; }
.loc-pickup__feature p { color: var(--mcc-body); margin: 0; }
.loc-pickup__cta { display: flex; flex-wrap: wrap; gap: 1rem; }

/* Pickup timeline card */
.loc-timeline {
	position: relative; background: #fff; border: 1px solid var(--mcc-border);
	border-radius: 28px; padding: 2rem 2rem 2rem 2.4rem;
	box-shadow: var(--mcc-shadow); overflow: hidden;
}
.loc-timeline::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 6px;
	background: linear-gradient(180deg, var(--mcc-green-dark), var(--mcc-green));
}
.loc-timeline__row { display: flex; align-items: center; gap: 1rem; padding: .85rem 0; }
.loc-timeline__time { flex: none; width: 90px; font-weight: 900; color: var(--mcc-green-dark); }
.loc-timeline__dot {
	flex: none; width: 32px; height: 32px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--mcc-light); color: var(--mcc-green-dark);
}
.loc-timeline__text { font-weight: 700; color: var(--mcc-heading); }
.loc-timeline__row.is-active { background: rgba(79, 142, 62, .07); border-radius: 14px; padding-inline: 1rem; margin-inline: -1rem; }
.loc-timeline__row.is-active .loc-timeline__text,
.loc-timeline__row.is-done .loc-timeline__text { color: var(--mcc-green-darker); }
.loc-timeline__row.is-done .loc-timeline__dot { background: var(--mcc-green-dark); color: #fff; }

/* TESTIMONIALS (Google review style) */
.loc-reviews__badge {
	display: inline-flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: center;
	background: var(--mcc-light); border: 1px solid var(--mcc-border);
	border-radius: 60px; padding: .9rem 1.8rem; margin-bottom: .5rem;
}
.loc-reviews__g { font-family: var(--font-heading); font-weight: 700; font-size: 1.6rem; letter-spacing: -.02em; color: #4285f4; }
.loc-reviews__g .b { color: #4285f4; } .loc-reviews__g .o1 { color: #ea4335; } .loc-reviews__g .o2 { color: #fbbc05; }
.loc-reviews__g .l { color: #34a853; } .loc-reviews__g .e { color: #ea4335; }
.loc-reviews__rating { font-weight: 900; font-size: 1.6rem; color: var(--mcc-heading); padding-left: 1rem; border-left: 1px solid var(--mcc-border); }
.loc-reviews__stars { color: #fbbc05; display: inline-flex; align-items: center; gap: 2px; letter-spacing: 0; }
.loc-reviews__count { color: var(--mcc-body); font-weight: 700; font-size: .9rem; }
.loc-review {
	height: 100%; background: #fff; border: 1px solid var(--mcc-border); border-radius: 20px;
	padding: 1.8rem; box-shadow: var(--mcc-shadow-sm);
}
.loc-review__top { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.loc-review__avatar {
	flex: none; width: 50px; height: 50px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 800; font-size: 1.3rem;
}
.loc-review__top > span:nth-child(2) { flex: 1 1 auto; display: flex; flex-direction: column; }
.loc-review__name { display: inline-flex; align-items: center; gap: .35rem; font-weight: 800; color: var(--mcc-heading); }
.loc-review__name svg { color: #4285f4; width: 16px; height: 16px; }
.loc-review__src { color: var(--mcc-muted); font-size: .85rem; font-weight: 600; }
.loc-review__top > svg { color: #4285f4; flex: none; }
.loc-review__stars { color: #fbbc05; display: flex; align-items: center; gap: 2px; letter-spacing: 0; margin-bottom: .6rem; }
.loc-review p { color: #6b6b6b; margin: 0; }

/* Responsive */
@media (max-width: 991.98px) {
	.loc-hero__inner { padding: 3.5rem 0 4rem; }
	.loc-region__head { flex-wrap: wrap; }
}
@media (max-width: 575.98px) {
	.loc-timeline__row { flex-wrap: wrap; }
	.loc-reviews__rating { border-left: 0; padding-left: 0; }
}
