/* The standalone booking page shares the site's editorial visual language.
   Existing pricing, availability, form and drawer behavior remain unchanged. */
body.dogwalking-page {
  padding-top: 0 !important; background: #f0f0f0 !important; background-image: none !important;
  color: #191919 !important; font-family: var(--font-body) !important; letter-spacing: -.02em;
}
.dogwalking-page :is(.scroll-progress-bar, .cursor-follower, .cursor-glow, .glow) { display: none !important; }
.dogwalking-page .container { width: min(1120px,calc(100% - 64px)); padding-inline: 0; }
body.dogwalking-page .site-header {
  position: relative; top: 0; width: 100%; height: auto; margin: 0;
  background: transparent !important; border: 0 !important; box-shadow: none; backdrop-filter: none;
}
.dogwalking-page .site-header .container { width: calc(100% - 64px); max-width: none; }
.dogwalking-page .nav-row { min-height: 96px; gap: 20px; }
.dogwalking-page .brand {
  gap: 0; font: 600 20px/1.2 var(--font-body) !important;
  letter-spacing: -.05em !important; text-transform: none !important; color: #737373 !important;
}
.dogwalking-page .brand svg { display: none; }
body.dogwalking-page .nav-link {
  padding: 10px; color: #555 !important; background: none !important;
  font: 400 14px/1.4 var(--font-body) !important; text-transform: none !important; border-radius: 10px;
}
.dogwalking-page .nav-link::after { background: var(--accent) !important; }
.dogwalking-page .nav-link:hover { color: var(--accent) !important; text-decoration: underline; text-underline-offset: .25em; }
.dogwalking-page .theme-toggle { display: none !important; }
body.dogwalking-page #home.hero {
  padding: 110px 0 130px !important; background: transparent !important;
  color: #191919 !important; text-align: center; border: 0;
}
.dogwalking-page #home .badge { display: none; }
body.dogwalking-page .hero h1,
body.dogwalking-page .hero h1 .cond {
  font-family: var(--font-display) !important; font-weight: 400 !important;
  font-stretch: normal; text-transform: none; text-shadow: none;
  letter-spacing: -.04em !important; color: #191919 !important;
}
body.dogwalking-page .hero h1 {
  max-width: 920px; margin: 0 auto; font-size: clamp(64px,8vw,112px) !important; line-height: .99 !important;
}
body.dogwalking-page .hero h1 em { color: #666 !important; font-style: italic; }
body.dogwalking-page .hero .lead { max-width: 610px; margin: 32px auto; color: #3d3d3d !important; }
.dogwalking-page .hero .container > div { justify-content: center !important; flex-wrap: wrap; gap: 14px !important; }
body.dogwalking-page .hero .small.muted { margin: 24px auto 0 !important; color: #666 !important; font-size: 14px; }
body.dogwalking-page .section {
  padding: 90px 0; background: transparent !important; border-top: 1px solid #ddd;
  opacity: 1; transform: none;
}
body.dogwalking-page h2 {
  font: 400 clamp(42px,5vw,66px)/1.08 var(--font-display) !important;
  color: #191919 !important; text-transform: none !important; letter-spacing: -.03em !important;
  margin-bottom: 28px;
}
body.dogwalking-page h3, body.dogwalking-page h4 {
  font: 600 22px/1.3 var(--font-body) !important; color: #191919 !important;
  text-transform: none !important; letter-spacing: -.03em !important;
}
body.dogwalking-page :is(.card, .slot, .faq) {
  padding: 28px; background: #fafafa !important; color: #191919 !important;
  border: 1px solid #e0e0e0 !important; border-radius: 20px !important; box-shadow: none !important;
}
body.dogwalking-page .card:hover { transform: none !important; background: #fafafa !important; }
.dogwalking-page .card::before, .dogwalking-page .card::after { display: none !important; }
.dogwalking-page :is(.card, .slot, .faq) p { max-width: 70ch; color: #3d3d3d !important; line-height: 1.7; }
.dogwalking-page .price { color: #191919 !important; font: 500 34px/1.3 var(--font-body) !important; }
.dogwalking-page .price .small { font: 400 14px/1.4 var(--font-body); }
.dogwalking-page :is(.checklist, .checklist svg, .slot strong, .faq summary) { color: #333 !important; }
.dogwalking-page .slot strong, .dogwalking-page .faq summary {
  font: 600 17px/1.4 var(--font-body) !important; text-transform: none !important;
}
.dogwalking-page .faq { padding: 24px 28px; }
.dogwalking-page .faq summary::after { color: #666 !important; background: none !important; }
.dogwalking-page :is(.btn, .cta-button) { font: 400 15px/1.3 var(--font-body) !important; text-transform: none; letter-spacing: -.025em; }
.dogwalking-page #bookForm { padding: 32px; }
body.dogwalking-page #bookForm :is(input, select, textarea) {
  color: #191919 !important; background: #fff !important;
  font: 400 16px/1.5 var(--font-body); border: 1px solid #ccc !important; border-radius: 10px !important;
}
body.dogwalking-page #bookForm label { color: #333 !important; font-weight: 500; letter-spacing: 0; }
body.dogwalking-page #bookForm :is(input, textarea)::placeholder { color: #707070 !important; }
.dogwalking-page .drawer {
  background: #f0f0f0 !important; border-color: #ddd !important; box-shadow: -12px 0 40px #0000000a;
}
.dogwalking-page .drawer-head { border-color: #ddd !important; }
.dogwalking-page .drawer :is(a, button, strong) {
  color: #333 !important; font-family: var(--font-body) !important;
  text-transform: none; letter-spacing: -.02em;
}
.dogwalking-page .drawer .btn { width: auto; min-height: 44px; padding: 12px 20px; }
.dogwalking-page .hamburger-btn { min-width: 48px; width: 48px; min-height: 48px; height: 48px; padding: 12px; margin-left: auto; }
.dogwalking-page .drawer:not(.is-open) { visibility: hidden; pointer-events: none; }
.dogwalking-page footer { border-top: 1px solid #ddd; }
.dogwalking-page footer .small { color: #666 !important; }
.dogwalking-page .sr-only:focus-visible {
  position: fixed; top: 12px; left: 12px; width: auto; height: auto; clip: auto;
  padding: 12px; background: white; z-index: 2000;
}
@media (min-width: 981px) {
  .dogwalking-page .hamburger-btn { display: none !important; }
}
@media (max-width: 980px) {
  .dogwalking-page .drawer { inset: 0 0 0 max(16px,20%); }
  .dogwalking-page .site-header .container { width: calc(100% - 40px); }
}
@media (max-width: 600px) {
  .dogwalking-page .container { width: calc(100% - 40px); }
  .dogwalking-page .nav-row { min-height: 80px; gap: 8px; }
  .dogwalking-page .brand { font-size: 18px !important; }
  body.dogwalking-page #home.hero { padding: 75px 0 90px !important; }
  body.dogwalking-page .hero h1 { font-size: clamp(56px,14vw,76px) !important; }
  body.dogwalking-page .hero .lead { font-size: 18px; line-height: 1.65; }
  body.dogwalking-page .section { padding: 68px 0; }
  body.dogwalking-page :is(.card, #bookForm) { padding: 24px; }
}
