/* ============================================================
   SD Lawn Maintenance — shared site chrome
   Nav bar, footer, and mobile booking bar used on every page.
   Loaded BEFORE each page's inline <style>, so page-specific
   rules still win on the rare overlap. Palette variables
   (:root) stay inline per page (a few pages add extra vars).
   ============================================================ */

/* ===== NAV ===== */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; background:var(--green-dark); border-bottom:3px solid var(--green-light); display:flex; align-items:center; justify-content:space-between; padding:0 40px; height:70px; box-shadow:0 4px 20px rgba(0,0,0,0.3); }
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.nav-logo img { height:52px; width:52px; border-radius:50%; border:2px solid var(--green-light); object-fit:cover; }
.nav-logo-text { font-family:'Oswald',sans-serif; font-size:1.3rem; font-weight:700; color:var(--white); letter-spacing:1px; line-height:1.1; }
.nav-logo-text span { display:block; font-size:0.7rem; font-weight:400; color:var(--green-lawn); letter-spacing:2px; text-transform:uppercase; }
.nav-links { display:flex; gap:8px; list-style:none; align-items:center; }
.nav-links a { font-family:'Oswald',sans-serif; font-size:0.95rem; font-weight:500; color:var(--white); text-decoration:none; padding:8px 16px; border-radius:4px; letter-spacing:1px; text-transform:uppercase; transition:all 0.2s; }
.nav-links a:hover { background:var(--green-mid); color:var(--green-lawn); }
.nav-cta { background:var(--green-light) !important; color:var(--white) !important; border-radius:6px !important; font-weight:700 !important; }
.nav-cta:hover { background:var(--green-lawn) !important; color:var(--text-dark) !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:transparent; border:none; border-radius:4px; }
.hamburger:focus-visible { outline:2px solid var(--green-lawn); outline-offset:2px; }
.hamburger span { display:block; width:26px; height:2px; background:var(--white); border-radius:2px; }

/* ===== FOOTER ===== */
footer { background:#111e0e; color:rgba(255,255,255,0.7); padding:40px 20px; text-align:center; }
footer p { font-size:0.85rem; margin-bottom:8px; }
footer a { color:var(--green-lawn); text-decoration:none; margin:0 10px; font-size:0.85rem; }

/* ===== MOBILE STICKY BOOKING BAR ===== */
.mobile-cta-bar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:999; background:var(--green-dark); border-top:3px solid var(--green-light); padding:10px; gap:8px; }
.mobile-cta-bar a { flex:1; text-align:center; padding:12px 4px; border-radius:6px; font-family:'Oswald',sans-serif; font-size:0.8rem; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; text-decoration:none; white-space:nowrap; }
.mobile-cta-call { background:var(--green-lawn); color:var(--text-dark); }
.mobile-cta-text { background:rgba(255,255,255,0.12); color:var(--white); border:1px solid rgba(255,255,255,0.35); }
.mobile-cta-book { background:var(--white); color:var(--green-dark); }
