/* ============================================================
   LOCATION-SHARED.CSS
   Shared styles for all gardeners-in-* location pages —
   flowerpatch.garden

   Extracted from the inline <style> block that used to be
   duplicated identically in every gardeners-in-*.html file.
   Edit here to change nav, footer, hero, cards, carousel, FAQ
   etc. across every location page at once.
============================================================ */
:root{--cream:#EDEADB;--olive:#424A30;--sage:#7D8B6A;--coral:#E85228;--amber:#F09030;--near-black:#252318;--off-white:#F5F0E2;--white:#FFFFFF;--font-head:'Playfair Display',Georgia,serif;--font-body:'Lato',sans-serif;--radius:6px;--transition:0.2s ease;--max-width:1160px;--section-pad:80px 24px;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;font-size:16px;}body{font-family:var(--font-body);color:var(--near-black);background:var(--cream);line-height:1.6;}img{display:block;max-width:100%;height:auto;}a{color:inherit;text-decoration:none;}h1,h2,h3{font-family:var(--font-head);line-height:1.25;}h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;margin-bottom:0.6em;}h3{font-size:1.1rem;font-weight:600;}p{margin-bottom:1em;}p:last-child{margin-bottom:0;}
.section-label{font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--sage);margin-bottom:0.5em;font-family:var(--font-body);}
.section-header{text-align:center;margin-bottom:48px;}
.btn{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:0.95rem;padding:13px 26px;border-radius:var(--radius);cursor:pointer;transition:background var(--transition),transform var(--transition);}.btn:hover{transform:translateY(-1px);}.btn-coral{background:var(--coral);color:var(--white);box-shadow:0 4px 14px rgba(232,82,40,0.3);}.btn-coral:hover{background:#c94420;}.btn-outline-cream{border:2px solid var(--cream);color:var(--cream);background:transparent;}.btn-outline-cream:hover{background:rgba(237,234,219,0.15);}
.mt-2{margin-top:16px;}.mt-4{margin-top:32px;}
/* NAV */
.site-header{position:sticky;top:0;z-index:100;background:var(--cream);border-bottom:1px solid rgba(66,74,48,0.15);box-shadow:0 2px 8px rgba(37,35,24,0.06);}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;}.nav-links{display:flex;align-items:center;gap:4px;list-style:none;}.nav-links>li{position:relative;}.nav-links a,.nav-links button.nav-btn{font-family:var(--font-body);font-size:0.9rem;color:var(--near-black);padding:8px 12px;border-radius:var(--radius);border:none;background:none;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background var(--transition);}.nav-links a:hover,.nav-links button.nav-btn:hover{background:var(--off-white);}.nav-links .nav-cta{background:var(--coral);color:var(--white);font-weight:700;padding:8px 18px;margin-left:8px;}.nav-links .nav-cta:hover{background:#c94420;}.nav-dropdown{position:absolute;top:100%;left:0;padding-top:8px;min-width:220px;background:var(--white);border:1px solid rgba(66,74,48,0.12);border-radius:var(--radius);box-shadow:0 8px 24px rgba(37,35,24,0.12);list-style:none;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity var(--transition),transform var(--transition);z-index:200;}.nav-links>li:hover .nav-dropdown,.nav-links>li:focus-within .nav-dropdown{opacity:1;pointer-events:auto;transform:translateY(0);}.nav-dropdown li a{display:block;padding:10px 16px;font-size:0.88rem;border-radius:0;}.nav-dropdown li a:hover{background:var(--off-white);}.nav-dropdown li a.nav-dropdown-child{padding-left:28px;font-size:0.82rem;color:var(--sage);}.chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);display:inline-block;transition:transform var(--transition);}.nav-links>li:hover .chevron{transform:rotate(225deg) translateY(-2px);}.nav-phone .phone-link{font-size:0.95rem;color:var(--olive);font-weight:700;}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;border:none;background:none;padding:4px;}.hamburger span{display:block;width:24px;height:2px;background:var(--near-black);border-radius:2px;transition:transform var(--transition),opacity var(--transition);}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}.hamburger.open span:nth-child(2){opacity:0;}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}.mobile-menu{display:none;background:var(--cream);border-top:1px solid rgba(66,74,48,0.12);padding:16px 24px 24px;}.mobile-menu.open{display:block;}.mobile-menu a{display:block;padding:10px 0;font-size:1rem;border-bottom:1px solid rgba(66,74,48,0.08);}.mobile-menu a:last-child{border-bottom:none;}.mobile-menu .mobile-sub{padding-left:16px;font-size:0.9rem;color:var(--sage);}.mobile-cta{display:inline-block;margin-top:16px;background:var(--coral);color:var(--white)!important;padding:12px 24px;border-radius:var(--radius);font-weight:700;border-bottom:none!important;}@media(max-width:860px){.nav-links{display:none;}.hamburger{display:flex;}}
/* HERO */
.loc-hero{background:var(--olive);padding:80px 24px;position:relative;overflow:hidden;}.loc-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#2a3020 0%,#424A30 50%,#5a6840 100%);}.loc-hero-inner{position:relative;max-width:720px;margin:0 auto;text-align:center;}.loc-hero .section-label{color:var(--amber);margin-bottom:12px;}.loc-hero h1{color:var(--cream);margin-bottom:0.5em;}.loc-hero p{color:rgba(237,234,219,0.85);font-size:1.1rem;margin-bottom:1.8em;max-width:580px;margin-left:auto;margin-right:auto;}
/* SERVICES */
.services{padding:var(--section-pad);background:var(--cream);}.services-grid{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}@media(max-width:700px){.services-grid{grid-template-columns:1fr;}}.service-card{background:var(--off-white);border-radius:10px;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column;}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(37,35,24,0.12);}.service-card-img{width:100%;height:260px;}.service-card-body{padding:24px;flex:1;display:flex;flex-direction:column;}.service-card h3{color:var(--olive);margin-bottom:0.5em;font-family:var(--font-body);font-size:clamp(1.3rem,2.6vw,2.1rem);}.service-card p{font-size:clamp(0.95rem,1.4vw,1.15rem);color:#555;flex:1;}.service-link{display:inline-flex;align-items:center;gap:8px;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:700;color:var(--coral);margin-top:16px;transition:gap var(--transition);}.service-card:hover .service-link{gap:12px;}.service-link::after{content:'→';}
/* WHY CHOOSE US */
.why-us{background:var(--off-white);padding:var(--section-pad);}.why-us-inner{max-width:760px;margin:0 auto;}.check-list{list-style:none;margin-top:16px;}.check-list li{padding:10px 0;border-bottom:1px solid rgba(66,74,48,0.1);display:flex;align-items:flex-start;gap:12px;font-size:0.95rem;}.check-list li:last-child{border-bottom:none;}.check-list li::before{content:'✓';color:var(--coral);font-weight:700;flex-shrink:0;margin-top:1px;}
/* REVIEWS */
.reviews{background:var(--cream);padding:var(--section-pad);}.review-card{background:var(--off-white);border-radius:10px;padding:28px;border-left:4px solid var(--amber);}.stars{color:var(--amber);font-size:1.1rem;letter-spacing:2px;margin-bottom:12px;}.review-quote{font-size:1.05rem;line-height:1.6;color:var(--near-black);margin-bottom:16px;}.review-author{font-size:0.85rem;font-weight:700;color:var(--sage);text-transform:uppercase;letter-spacing:0.08em;}.google-badge{text-align:center;margin-top:32px;font-size:0.85rem;color:var(--sage);}
/* REVIEWS LAYOUT (video carousel left, split/merged review carousels right) */
.reviews-layout{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:minmax(320px,430px) 1fr;align-items:start;gap:32px;}.text-carousel-desktop{display:flex;flex-direction:column;gap:24px;}.text-carousel-mobile{display:none;}.review-video-frame{aspect-ratio:9/16;background:var(--off-white);border-radius:10px;overflow:hidden;}.review-video-frame video{display:block;width:100%;height:100%;object-fit:cover;}.review-video-caption{text-align:center;margin-top:10px;font-size:0.85rem;font-weight:700;color:var(--sage);text-transform:uppercase;letter-spacing:0.08em;}.carousel-track .review-video-slide{flex:0 0 100%;min-width:0;}@media(max-width:640px){.reviews-layout{grid-template-columns:1fr;}.text-carousel-desktop{display:none;}.text-carousel-mobile{display:block;}}
/* CAROUSEL */
.carousel-wrap{max-width:var(--max-width);margin:0 auto;overflow:hidden;position:relative;}.carousel-track{display:flex;transition:transform 0.4s ease;will-change:transform;}.carousel-track .review-card{flex:0 0 100%;min-width:0;}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px;}.carousel-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--olive);background:transparent;color:var(--olive);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition);}.carousel-btn:hover{background:var(--olive);color:var(--cream);}.carousel-dots{display:flex;gap:8px;}.carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(66,74,48,0.25);border:none;cursor:pointer;padding:0;transition:background var(--transition),transform var(--transition);}.carousel-dot.active{background:var(--coral);transform:scale(1.3);}
/* CTA BAR */
.cta-bar{background:var(--olive);padding:40px 24px;}.cta-bar-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}.cta-phone{text-align:right;flex-shrink:0;}.cta-phone-label{display:block;font-size:0.95rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--amber);margin-bottom:4px;}.cta-bar p{font-family:var(--font-head);font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--cream);margin:0;max-width:600px;}.cta-phone-number .phone-link{font-family:var(--font-head);font-size:1.6rem;font-weight:700;color:var(--cream);}
/* AREAS */
.areas{background:var(--off-white);padding:var(--section-pad);}.areas-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}@media(max-width:720px){.areas-inner{grid-template-columns:1fr;gap:32px;}}.town-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}.town-pill{display:inline-block;background:var(--olive);color:var(--white);font-size:0.85rem;font-weight:700;padding:8px 18px;border-radius:50px;transition:background var(--transition);}.town-pill:hover{background:var(--near-black);}.areas .note{font-style:italic;color:var(--sage);font-size:0.9rem;margin-top:16px;}.area-map{position:relative;z-index:0;border-radius:10px;overflow:hidden;width:100%;aspect-ratio:4/3;}.area-map iframe,.area-map #map{width:100%;height:100%;border:0;display:block;}
/* PLACEHOLDER */
.placeholder{background:var(--sage);display:flex;align-items:center;justify-content:center;color:var(--off-white);font-family:var(--font-body);font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;text-align:center;padding:12px;}
/* CASE STUDIES */
.case-studies{background:var(--off-white);padding:var(--section-pad);}.case-studies-grid{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}@media(max-width:860px){.case-studies-grid{grid-template-columns:1fr;max-width:480px;}}.case-card{background:var(--cream);border-radius:10px;overflow:hidden;}.before-after{display:grid;grid-template-columns:1fr 1fr;position:relative;}.before-after::after{content:'BEFORE → AFTER';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--near-black);color:var(--white);font-size:0.6rem;font-weight:700;letter-spacing:0.1em;padding:4px 8px;border-radius:3px;white-space:nowrap;z-index:1;}.before-after .placeholder{height:160px;}.before-after .placeholder:first-child{background:#8a7a68;}.before-after .placeholder:last-child{background:var(--sage);}.case-card-body{padding:20px;}.case-card h3{color:var(--olive);margin-bottom:0.5em;font-size:1.05rem;}.case-card p{font-size:0.88rem;color:#666;}
/* ABOUT */
.about{background:var(--olive);padding:var(--section-pad);}.about-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}@media(max-width:720px){.about-inner{grid-template-columns:1fr;gap:40px;}.about-photo{order:-1;}}.about-text .section-label{color:var(--amber);}.about-text h2{color:var(--cream);margin-bottom:0.75em;}.about-text p{color:rgba(237,234,219,0.85);font-size:1.05rem;line-height:1.7;}.about-photo{border-radius:10px;overflow:hidden;aspect-ratio:1/1;box-shadow:0 16px 48px rgba(37,35,24,0.3);}
/* FAQ */
.faq{background:var(--cream);padding:var(--section-pad);}.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}details{background:var(--off-white);border-radius:var(--radius);border:1px solid rgba(66,74,48,0.1);overflow:hidden;}summary{padding:20px 24px;font-family:var(--font-body);font-size:1.15rem;font-weight:700;color:var(--near-black);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none;}summary::-webkit-details-marker{display:none;}summary::after{content:'+';font-size:1.4rem;font-weight:300;color:var(--coral);transition:transform var(--transition);flex-shrink:0;}details[open] summary::after{transform:rotate(45deg);}details[open] summary{border-bottom:1px solid rgba(66,74,48,0.1);}.faq-answer{padding:20px 24px;font-size:0.95rem;color:#555;line-height:1.7;}
/* TRUST BAR */
.trust-bar{background:var(--cream);padding:40px 24px;}.trust-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}@media(max-width:720px){.trust-inner{grid-template-columns:repeat(2,1fr);}}@media(max-width:400px){.trust-inner{grid-template-columns:1fr;}}.trust-item{text-align:center;}.trust-icon{font-size:4rem;margin-bottom:8px;}.trust-icon svg{width:4rem;height:4rem;}.trust-item h4{font-family:var(--font-head);color:var(--olive);font-size:1.15rem;margin-bottom:4px;}
/* CONTACT */
.contact{background:var(--olive);padding:var(--section-pad);}.contact .section-label{color:var(--amber);}.contact h2{color:var(--cream);}.contact .section-subhead{color:rgba(237,234,219,0.75);text-align:center;max-width:480px;margin:0 auto 48px;}.contact-phone-block{text-align:center;margin:0 auto 32px;}.contact-phone .phone-link{font-family:var(--font-head);font-size:clamp(2rem,5vw,3rem);color:var(--cream);display:block;margin-bottom:8px;}.contact-hours{color:rgba(237,234,219,0.65);font-size:0.9rem;margin:0;}
/* PHONE LINKS */
.phone-link{text-decoration:none;font-family:var(--font-body);font-weight:700;letter-spacing:0.03em;transition:opacity var(--transition);}.phone-link:hover{opacity:0.75;}.footer-phone .phone-link{font-size:0.95rem;color:rgba(237,234,219,0.85);display:block;margin-top:12px;}
/* FOOTER */
.site-footer{background:var(--near-black);color:var(--cream);padding:56px 24px 0;}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(237,234,219,0.12);}.footer-brand p{color:rgba(237,234,219,0.65);font-size:0.9rem;max-width:280px;line-height:1.6;}.footer-nav h4,.footer-contact h4{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--amber);margin-bottom:16px;}.footer-nav ul,.footer-contact ul{list-style:none;}.footer-nav li,.footer-contact li{margin-bottom:10px;}.footer-nav a,.footer-contact a{color:rgba(237,234,219,0.7);font-size:0.9rem;transition:color var(--transition);}.footer-nav a:hover,.footer-contact a:hover{color:var(--cream);}.footer-nav a.footer-sub{padding-left:14px;font-size:0.82rem;opacity:0.85;}.social-links{display:flex;gap:12px;margin-top:16px;}.social-link{width:36px;height:36px;background:rgba(237,234,219,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:0.8rem;font-weight:700;transition:background var(--transition);}.social-link:hover{background:var(--coral);}.footer-bottom{max-width:var(--max-width);margin:0 auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}.footer-bottom p{color:rgba(237,234,219,0.4);font-size:0.8rem;margin:0;}@media(max-width:720px){.footer-inner{grid-template-columns:1fr;gap:32px;}}
