/* ===========================
 Shop Local Intro Section
 =========================== */
.shopLocalIntro {
 background-color: #e7e4de;
 border-radius: 8px;
 text-align: center;
 padding: 6rem 2rem;
 color: #322f33;
}

.shopLocalIntro .page-title {
 text-align: center;
 font-size: 48px !important; 
 color: #322f33;
 text-transform: uppercase;
 font-weight: 900;
 margin-bottom: 10px;
 padding-bottom: 5px;
 display: block;
 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1); /* Subtle text shadow */
 border-bottom: 2px solid #99c7c6; /* Teal line */
 position: relative;
line-height: 1.2;
letter-spacing: 2px;
}

.shopLocalIntro .page-title::after {
 content: "";
 display: block;
 width: 100%; 
 height: 2px;
 background: linear-gradient(to right, #b87c9e, #99c7c6);
 margin: 10px auto 0; /* Add spacing above the line */
}

.shopLocalIntro p {
 max-width: 750px;
 margin: 0 auto 1rem auto;
 line-height: 1.6;
 font-size: 1.5rem;
}

.shopLocalIntro em {
 display: block;
 margin-top: 1.5rem;
 color: #788557; /* olive accent */
 font-style: italic;
 font-size: 1.5rem;
 letter-spacing: 0.02em;
}


/* ===========================
 Shop Local Partner Logos
 =========================== */
.shopLocalPartners {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: flex-start;
 gap: 3rem;
 padding: 4rem 2rem;
 background-color: #f5f5f3 !important; /* or #e7e4de */
 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* Each logo wrapper */
.shopLocalLogo {
 flex: 0 1 180px;
 text-align: center;
 display: flex;
 flex-direction: column;
 align-items: center;
 height: 160px; /* equal box height for all logos */
 justify-content: center;
}

/* This creates a consistent logo “box” */
.shopLocalLogo img {
 width: auto;
 max-width: 160px;
 max-height: 100px; /* controls visual height */
 object-fit: contain;
 display: block;
 margin: 0 auto;
 opacity: 0.85;
 border-radius: 8px;
 transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.shopLocalLogo:hover img {
 filter: grayscale(0%);
 opacity: 1;
 transform: scale(1.05);
}

/* Keeps description uniform below */
.partner-desc {
 font-size: 0.95rem;
 color: #788557;
 line-height: 1.4;
 margin-top: 0.75rem;
 max-width: 160px;
 font-style: italic;
}

/* ===========================
 Shop Local CTA Section
 =========================== */
.shopLocalCTA {
 background-color: #e7e4de; /* beige tone used in service CTAs */
 border-radius: 8px;
 text-align: center;
 padding: 5rem 2rem;
margin-top: 3rem;
color: #322f33;
}

.shopLocalCTA h3::before {
 content: "";
 display: block;
 width: 100%;
 height: 2px;
 background: linear-gradient(to right, #b87c9e, #99c7c6);
 margin-bottom: 1.5rem;
}


.shopLocalCTA h3 {
 font-size: 2.5rem;
 font-weight: 700;
 margin-bottom: 1.5rem;
 text-transform: none;
 letter-spacing: 0.02em;
}

/* Copy text */
.shopLocalCTA p {
 max-width: 700px;
 margin: 0.5rem auto 1rem auto;
 font-size: 1.5rem;
 line-height: 1.6;
}

/* Orange outline button (matches Continental style) */
.shopLocalCTA .cta-button {
 display: inline-block;
 margin-top: 2rem;
 padding: 0.75rem 1.75rem;
 border: 2px solid #f26741;
 color: #f26741;
 text-decoration: none !important;
 font-weight: 600;
 border-radius: 6px;
 transition: all 0.3s ease;
}

.shopLocalCTA .cta-button:hover {
 background-color: #f26741;
 color: #ffffff;
}

