/* ==========================================================================
   CENTRAL COMPONENT CONTRACT
   Shared spacing and presentation for the global header, pricing cards,
   booking callouts, and responsive states. Page records contain no CSS.
   ========================================================================== */
:root {
  --gd-brand-navy:#000066;
  --gd-content-navy:#0b1f4a;
  --gd-brand-lime:#66cc00;
  --gd-accent-text:#448600;
  --gd-orange:#ff9900;
  --gd-dark-orange:#a84f00;
  --gd-muted:#5d6676;
  /* Existing appointment-receipt neutrals; shared without changing appearance. */
  --gd-receipt-muted:#596274;
  --gd-receipt-border:#e0e3e9;
  --gd-canvas:#f7f4ee;
  --gd-surface:#ffffff;
  --gd-outline-blue:#9cc3ff;
  --gd-outline-blue-rgb:156,195,255;
  --gd-placeholder:#6f7785;
  --gd-brand-navy-rgb:0,0,102;
  --gd-content-navy-rgb:11,31,74;
  --gd-brand-lime-rgb:102,204,0;
  --gd-canvas-rgb:247,244,238;
  --gd-surface-rgb:255,255,255;
  --gd-ink:var(--gd-content-navy);
  --gd-link:#397900;
  --gd-link-hover:var(--gd-brand-navy);
  --gd-border:rgba(var(--gd-content-navy-rgb),.18);
  --gd-card-border:var(--gd-border);
  --gd-surface-tint:rgba(var(--gd-brand-lime-rgb),.10);
  --gd-control-min-height:52px;
  --gd-control-padding:12px 16px;
  --gd-control-border-width:1px;
  --gd-control-border:var(--gd-control-border-width) solid rgba(var(--gd-content-navy-rgb),.32);
  --gd-control-radius:10px;
  --gd-control-background:var(--gd-surface);
  --gd-control-color:var(--gd-content-navy);
  --gd-control-shadow:0 3px 10px rgba(var(--gd-content-navy-rgb),.08);
  --gd-control-shadow-raised:0 6px 16px rgba(var(--gd-content-navy-rgb),.08);
  --gd-control-focus-shadow:0 0 0 3px rgba(var(--gd-brand-lime-rgb),.20);
  --gd-soft-card-border:1px solid rgba(var(--gd-brand-lime-rgb),.24);
  --gd-soft-card-background:rgba(var(--gd-brand-lime-rgb),.035);
  --gd-soft-card-shadow:0 8px 22px rgba(var(--gd-content-navy-rgb),.08);
  --gd-soft-chip-background:rgba(var(--gd-brand-lime-rgb),.055);
  --gd-pill-radius:999px;
  --gd-mobile-page-pad:24px;
  --gd-section-soft-border:1px solid rgba(var(--gd-brand-lime-rgb),.35);
  --gd-section-soft-background:var(--gd-soft-card-background);
  --gd-card-padding:24px;
  --gd-card-media-overhang:48px;
  --gd-card-media-aspect:16/10;
  --gd-card-media-position:50% 38%;
  --gd-media-hover-scale:1.025;
  --gd-motion-fast:.22s;
  --gd-radius:12px;
  --gd-shell-radius:16px;
  --gd-space-pad:clamp(24px,4vw,40px);
  --gd-space-gap:clamp(18px,3vw,32px);
  --gd-content-width:1100px;
  --gd-shell-content-width:1040px;
  --gd-shell-width:min(calc(100% - 32px),var(--gd-shell-content-width));
  --gd-shell-mobile-width:calc(100% - 20px);
  --gd-shell-margin-bottom:clamp(24px,4vw,48px);
  --gd-shell-breadcrumb-gap:16px;
  --gd-shell-content-gap:clamp(24px,3vw,34px);
  --gd-page-intro-gap:16px;
  --gd-form-measure:680px;
  --gd-title-size:clamp(2.35rem,5vw,4rem);
  --gd-kicker-size:.82rem;
  --gd-kicker-card-size:.9rem;
  --gd-shadow:0 9px 24px rgba(var(--gd-content-navy-rgb),.08);
  --gd-shadow-raised:0 18px 48px rgba(var(--gd-content-navy-rgb),.12);
  --gd-dog-face-position:50% 18%;
  --gd-component-space-xs:8px;
  --gd-component-space-sm:12px;
  --gd-component-space-md:16px;
  --gd-component-space-lg:28px;
}

/* Pricing-card component */
body.gd-site-style-guide .gd-pricing-services > .gd-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gd-component-space-lg);
}
body.gd-site-style-guide .gd-pricing-services .gd-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}
body.gd-site-style-guide .gd-pricing-services .gd-card__header {
  min-height:0;
  margin-bottom:var(--gd-component-space-sm);
}
body.gd-site-style-guide .gd-pricing-services .gd-card__header .gd-kicker {
  margin:0 0 var(--gd-component-space-xs);
}
body.gd-site-style-guide .gd-pricing-services .gd-card__header h2 {
  margin:0;
  font-size:clamp(1.5rem,2.2vw,2rem);
  line-height:1.15;
}
body.gd-site-style-guide .gd-pricing-services .gd-card__media {
  width:100%;
  margin:0 0 var(--gd-component-space-md);
  overflow:hidden;
  background:var(--gd-canvas);
}
body.gd-site-style-guide .gd-pricing-services .gd-card__media img {
  display:block;
  width:100%;
  max-width:none !important;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:50% 18%;
}
body.gd-site-style-guide .gd-pricing-services .gd-card__body > p:first-child {
  margin:0 0 var(--gd-component-space-sm);
}
body.gd-site-style-guide .gd-pricing-services .gd-card__body > .gd-actions {
  margin-top:var(--gd-component-space-md);
}

/* Labelled information cards: keep the title and description as separate rows. */
body.gd-site-style-guide .gd-card--labelled {
  padding-bottom:var(--gd-component-space-md);
}
body.gd-site-style-guide .gd-card--labelled > strong,
body.gd-site-style-guide .gd-card--labelled > span {
  display:block;
}
body.gd-site-style-guide .gd-card--labelled > strong {
  margin:0 0 var(--gd-component-space-xs);
  color:var(--gd-brand-navy);
  font-size:1.05rem;
  line-height:1.3;
}
body.gd-site-style-guide .gd-card--labelled > span {
  line-height:1.5;
}

/* Center a lone fourth card when a three-column grid wraps to a second row. */
body.gd-site-style-guide .gd-grid--center-orphan-three > :last-child:nth-child(3n + 1) {
  grid-column:2;
}
@media (max-width:1024px) {
  body.gd-site-style-guide .gd-grid--center-orphan-three > :last-child:nth-child(3n + 1) {
    grid-column:auto;
  }
}

/* FAQ page rhythm: keep question, answer, list, and follow-up spacing explicit. */
body.gd-site-style-guide .gd-faq-page .gd-stack:has(> .gd-card--faq) {
  gap:20px;
}
body.gd-site-style-guide .gd-faq-page .gd-card--faq > h3,
body.gd-site-style-guide .gd-faq-page .gd-grid > .gd-card > h3 {
  margin:0 0 10px;
  line-height:1.25;
}
body.gd-site-style-guide .gd-faq-page .gd-card--faq > p,
body.gd-site-style-guide .gd-faq-page .gd-grid > .gd-card > h3 + p {
  margin-top:0;
}
body.gd-site-style-guide .gd-faq-page .gd-card--faq > p:first-of-type {
  margin-bottom:0;
}
body.gd-site-style-guide .gd-faq-page .gd-card--faq > :is(p,ul) + :is(p,ul) {
  margin-top:12px;
}
body.gd-site-style-guide .gd-faq-page .gd-card--faq > ul {
  margin-bottom:0;
  padding-left:1.25rem;
}
body.gd-site-style-guide .gd-faq-page .gd-grid + .gd-note {
  margin-top:20px;
}

/* Shared card-media link spacing and card-kicker scale. */
body.gd-site-style-guide .gd-card__media-link {
  display:block;
  margin-bottom:var(--gd-component-space-md);
}
body.gd-site-style-guide .gd-kicker--card {
  font-size:var(--gd-kicker-card-size);
}

/* Two-column service-card layout with explicit internal spacing. */
body.gd-site-style-guide .gd-service-cards {
  align-items:stretch;
}
body.gd-site-style-guide .gd-service-card {
  display:flex;
  flex-direction:column;
}
body.gd-site-style-guide .gd-service-card .gd-card__body {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
}
body.gd-site-style-guide .gd-service-card .gd-card__body > .gd-kicker {
  display:block;
  margin:0 0 var(--gd-component-space-xs);
}
body.gd-site-style-guide .gd-service-card .gd-card__body > h2 {
  margin:0 0 var(--gd-component-space-sm);
}
body.gd-site-style-guide .gd-service-card .gd-card__body > h2 + p {
  margin-top:0;
}
body.gd-site-style-guide .gd-service-card .gd-note {
  margin:0 0 var(--gd-component-space-sm);
}
body.gd-site-style-guide .gd-service-card .gd-note :is(strong,span) {
  display:block;
}
body.gd-site-style-guide .gd-service-card .gd-note strong {
  margin-bottom:6px;
}
body.gd-site-style-guide .gd-service-card .gd-card__body > .gd-btn:last-child {
  margin-top:auto;
}

/* Center an odd final item in a two-column grid without changing its card width. */
body.gd-site-style-guide .gd-grid--center-last > :last-child:nth-child(odd) {
  width:calc((100% - var(--gd-space-gap)) / 2);
  grid-column:1 / -1;
  justify-self:center;
}
@media (max-width:760px) {
  body.gd-site-style-guide .gd-grid--center-last > :last-child:nth-child(odd) {
    width:100%;
    grid-column:auto;
  }
}

/* Booking-callout component */
body.gd-site-style-guide .gd-callout {
  min-width:0;
  justify-content:space-between;
  padding:clamp(24px,4vw,40px);
  border-radius:var(--gd-radius);
  background:var(--gd-brand-navy);
  color:var(--gd-surface);
  box-shadow:var(--gd-shadow-raised);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px var(--gd-component-space-lg);
  align-items:center;
}
body.gd-site-style-guide .gd-callout > :is(h2,h3) {
  grid-column:1 / -1;
  min-width:0;
  margin:0 !important;
  color:var(--gd-surface) !important;
  font-size:clamp(1.8rem,3vw,2.4rem) !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:visible !important;
}
body.gd-site-style-guide .gd-callout > p {
  min-width:0;
  margin:0 !important;
}
body.gd-site-style-guide .gd-callout > .gd-actions {
  display:flex;
  min-width:max-content;
  flex-flow:row nowrap;
  gap:var(--gd-component-space-sm);
}
body.gd-site-style-guide .gd-callout > .gd-actions > .gd-btn {
  min-width:150px;
  flex:0 0 auto;
  white-space:nowrap;
}
body.gd-site-style-guide .gd-callout > .gd-actions > .gd-btn:first-child:where(:hover,:focus-visible) {
  border-color:var(--gd-orange);
  background:var(--gd-orange);
  color:var(--gd-brand-navy);
}
body.gd-site-style-guide .gd-callout > .gd-actions > .gd-btn:nth-child(2):where(:hover,:focus-visible) {
  border-color:var(--gd-surface) !important;
  background:var(--gd-brand-navy) !important;
  color:var(--gd-surface) !important;
  transform:translateY(-1px);
}

/* Shared footer component */
body.gd-site-style-guide #colophon .gd-footer-logo {
  display:inline-block;
  padding:0;
  border-radius:12px;
  background:transparent;
  overflow:hidden;
  line-height:0;
}
body.gd-site-style-guide #colophon .site-footer-logo img,
body.gd-site-style-guide #colophon .gd-footer-logo__image {
  display:block;
  width:auto;
  max-width:230px !important;
  height:auto;
  border-radius:0;
}
body.gd-site-style-guide #colophon #footer-navigation {
  box-sizing:border-box;
  width:fit-content;
  max-width:min(100%,650px);
  margin-inline:auto;
  padding:8px 10px;
  border-radius:8px;
  background:var(--gd-brand-navy);
}
body.gd-site-style-guide #colophon #footer-navigation > ul {
  width:auto !important;
  max-width:100% !important;
  justify-content:center !important;
}

/* Shared page background behavior */
body.gd-site-style-guide.gd-has-page-background #inner-wrap {
  background-position:center top, center top;
  background-repeat:no-repeat, no-repeat;
  background-image:linear-gradient(rgba(var(--gd-canvas-rgb),.58),rgba(var(--gd-canvas-rgb),.70)),var(--gd-page-background-image);
  background-size:cover,cover;
  background-attachment:fixed,fixed;
}

/* Shared responsive behavior */
@media (max-width:760px) {
  body.gd-site-style-guide .gd-pricing-services > .gd-grid,
  body.gd-site-style-guide .gd-callout {
    grid-template-columns:minmax(0,1fr);
  }
  body.gd-site-style-guide .gd-callout > :is(h2,h3) {
    grid-column:1;
  }
  body.gd-site-style-guide .gd-callout > .gd-actions {
    min-width:0;
    width:100%;
    flex-direction:column;
  }
  body.gd-site-style-guide .gd-callout > .gd-actions > .gd-btn {
    width:100%;
    min-width:0;
    white-space:normal;
  }
}

/* Per-photo focal points within the shared pricing-card component. */
body.gd-site-style-guide .gd-pricing-services .gd-card__media img[src*="cream-golden-lab-sitting-grooming-table-mobile-grooming-phoenix"],
body.gd-site-style-guide .gd-pricing-services .gd-card__media img[src*="apricot-doodle-sitting-close-up"] {
  object-position:50% 28%;
}
/* Standard action sizes live here. Page layouts may set --gd-button-width only. */
body.gd-site-style-guide,body.gd-community-shell {
  --gd-button-height:44px;
  --gd-button-padding-inline:18px;
  --gd-button-font-size:15px;
}
/* ==========================================================================
   GLOBAL BUTTON CONTRACT
   One centrally controlled button standard. Width follows the label; menu
   links, service-picker controls, and deliberate component variants opt out.
   ========================================================================== */
body.gd-site-style-guide :is(#inner-wrap,#masthead,#colophon) :is(.gd-btn,a.button,.wp-element-button,.wp-block-button__link,button[type="submit"],input[type="submit"],.gd-profile-primary-action,.gd-book-grooming-action,.green-dog-book-button,.green-dog-edit-button,.green-dog-remove-button):not(.gd-service-picker-toggle):not(.gd-service-picker-option),
body.gd-community-shell #main :is(.gd-btn,a.button,.wp-element-button,.wp-block-button__link,button[type="submit"],input[type="submit"],.gd-profile-primary-action,.gd-book-grooming-action,.green-dog-book-button,.green-dog-edit-button,.green-dog-remove-button):not(.gd-service-picker-toggle):not(.gd-service-picker-option) {
  box-sizing:border-box;
  display:inline-flex;
  width:var(--gd-button-width,auto) !important;
  min-width:0;
  height:var(--gd-button-height,44px) !important;
  min-height:var(--gd-button-height,44px) !important;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  padding:4px var(--gd-button-padding-inline,18px) !important;
  border:2px solid var(--gd-button-border,var(--gd-brand-lime)) !important;
  border-radius:999px !important;
  background:var(--gd-button-bg,var(--gd-brand-lime));
  color:var(--gd-button-text,var(--gd-brand-navy));
  box-shadow:0 4px 12px rgba(var(--gd-brand-navy-rgb),.28),inset 0 0 0 1px rgba(var(--gd-brand-navy-rgb),.16);
  font-family:Overpass,sans-serif;
  font-size:var(--gd-button-font-size,15px) !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.01em;
  text-align:center;
  white-space:nowrap;
  text-decoration:none;
  transform:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
body.gd-site-style-guide :is(#inner-wrap,#masthead,#colophon) :is(.gd-btn,a.button,.wp-element-button,.wp-block-button__link,button[type="submit"],input[type="submit"],.gd-profile-primary-action,.gd-book-grooming-action,.green-dog-book-button,.green-dog-edit-button,.green-dog-remove-button):not(.gd-service-picker-toggle):not(.gd-service-picker-option):where(:hover,:focus-visible),
body.gd-community-shell #main :is(.gd-btn,a.button,.wp-element-button,.wp-block-button__link,button[type="submit"],input[type="submit"],.gd-profile-primary-action,.gd-book-grooming-action,.green-dog-book-button,.green-dog-edit-button,.green-dog-remove-button):not(.gd-service-picker-toggle):not(.gd-service-picker-option):where(:hover,:focus-visible) {
  border-color:var(--gd-button-hover-border,var(--gd-brand-lime)) !important;
  background:var(--gd-button-hover-bg,var(--gd-surface)) !important;
  color:var(--gd-button-hover-text,var(--gd-brand-navy));
  transform:none;
}
body.gd-site-style-guide :is(#inner-wrap,#colophon) :is(.gd-btn,a.button,.wp-element-button,.wp-block-button__link,button[type="submit"],input[type="submit"],.gd-profile-primary-action,.gd-book-grooming-action,.green-dog-book-button,.green-dog-edit-button,.green-dog-remove-button):not(.gd-service-picker-toggle):not(.gd-service-picker-option),
body.gd-community-shell #main :is(.gd-btn,a.button,.wp-element-button,.wp-block-button__link,button[type="submit"],input[type="submit"],.gd-profile-primary-action,.gd-book-grooming-action,.green-dog-book-button,.green-dog-edit-button,.green-dog-remove-button):not(.gd-service-picker-toggle):not(.gd-service-picker-option) {
  align-self:flex-start;
}

/* Secondary actions share the global dimensions, with an outlined resting state. */
body.gd-site-style-guide :is(.gd-btn--secondary,.green-dog-edit-button) {
  --gd-button-bg:var(--gd-surface);
  --gd-button-border:var(--gd-brand-navy);
  --gd-button-text:var(--gd-brand-navy);
  --gd-button-hover-bg:var(--gd-brand-navy);
  --gd-button-hover-border:var(--gd-brand-navy);
  --gd-button-hover-text:var(--gd-surface);
}

/* Legacy compact labels use the same global dimensions as every other pill action. */

/* Header placement only; its appearance comes from the global button contract. */
body.gd-site-style-guide :is(.gd-header-book-wrap,.gd-mobile-book-wrap) > .gd-book-utility {
  align-self:center;
  margin:27px 0 0;
}

/* Current breadcrumb: white surface with brand-navy text. */


/* Shared page-section rhythm: one compact, predictable gap between consecutive content sections. */
body.gd-site-style-guide .gd-universal-page-flow > .gd-layout {
  row-gap:var(--gd-component-space-md);
}

/* Breadcrumb contrast: linked ancestors stay white, separators green, and the current page uses the outlined white pill. */
body.gd-site-style-guide .gd-site-breadcrumbs {
  display:inline-flex;
  max-width:100%;
  flex-wrap:wrap;
  align-items:center;
  border:1px solid rgba(var(--gd-brand-lime-rgb),.7);
  border-radius:999px;
  box-shadow:0 6px 16px rgba(var(--gd-brand-navy-rgb),.18);
  font-family:Arial,sans-serif;
  font-size:.84rem;
  padding:0;
  background:var(--gd-brand-navy);
}
body.gd-site-style-guide .gd-site-breadcrumbs a.gd-site-crumb:not(.gd-site-crumb-current),
body.gd-site-style-guide .gd-site-breadcrumbs a.gd-site-crumb:not(.gd-site-crumb-current):visited,
body.gd-site-style-guide .gd-site-breadcrumbs a.gd-site-crumb:not(.gd-site-crumb-current):hover,
body.gd-site-style-guide .gd-site-breadcrumbs a.gd-site-crumb:not(.gd-site-crumb-current):focus { color:var(--gd-surface); }
body.gd-site-style-guide .gd-site-breadcrumbs .gd-site-crumb-separator { color:var(--gd-brand-lime); }
body.gd-site-style-guide .gd-site-breadcrumbs .gd-site-crumb-current {
  background:var(--gd-surface);
  border:2px solid var(--gd-brand-lime);
  color:var(--gd-brand-navy);
}
/* Phones: wrap ancestors and the current page instead of clipping navigation. */
@media (max-width:760px) {
  body.gd-site-style-guide .gd-site-breadcrumbs {
    flex-wrap:wrap;
    overflow:visible;
    border-radius:var(--gd-radius);
  }
  body.gd-site-style-guide .gd-site-breadcrumbs > * {
    min-width:0;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* Keep the non-interactive spam trap out of the visible form and tab sequence. */
body.gd-site-style-guide .gd-honeypot {
  display:none;
}

/* Signed-out header: retain only the canonical primary-menu Sign In tab. */
body.gd-site-style-guide:not(.logged-in) #masthead .site-header-item[data-section="kadence_customizer_header_button"],
body.gd-site-style-guide:not(.logged-in) #masthead .header-button-wrap.vs-logged-in-false {
  display: none;
}

/* Global callouts: normalize wrapped headings, copy, and spacing. */
body.gd-site-style-guide .gd-callout > div {
  min-width: 0;
}

body.gd-site-style-guide .gd-callout > div > :where(.gd-kicker, h1, h2, h3, h4, h5, h6, p) {
  color: var(--gd-surface);
}

body.gd-site-style-guide .gd-callout > div > .gd-kicker {
  margin: 0 0 8px !important;
}

body.gd-site-style-guide .gd-callout > div > :is(h1, h2, h3, h4, h5, h6) {
  margin: 0 0 12px;
  line-height: 1.2;
}

body.gd-site-style-guide .gd-callout > div > p:last-child {
  margin: 0;
}

body.gd-site-style-guide .gd-callout > .gd-btn {
  align-self: center !important;
}

/* Global page flow: tighten hero-to-content and section-heading rhythm. */
body.gd-site-style-guide .gd-universal-page-header {
  margin:0 0 clamp(30px,4vw,46px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  margin-bottom:var(--gd-component-space-md);
}

body.gd-site-style-guide .gd-universal-page-flow > .gd-layout > .gd-section--flush:first-child:not(:has(*)) {
  display: none;
}

body.gd-site-style-guide .gd-section-head > .gd-kicker {
  margin: 0 0 8px;
}

body.gd-site-style-guide .gd-section-head > :is(h1, h2, h3, h4, h5, h6) {
  margin: 0 0 12px;
  line-height: 1.2;
}

body.gd-site-style-guide .gd-section-head > p:last-child {
  margin: 0;
}

/* Section heading with its destination action aligned to the description row. */
body.gd-site-style-guide .gd-section-head--action {
  display:block;
  width:100%;
  max-width:none;
}
body.gd-site-style-guide .gd-section-head--action > h2 {
  margin-bottom:12px;
}
body.gd-site-style-guide .gd-section-head--action .gd-section-head__row {
  display:flex;
  width:100%;
  gap:var(--gd-component-space-md);
  align-items:center;
  justify-content:space-between;
}
body.gd-site-style-guide .gd-section-head--action .gd-section-head__row > p {
  max-width:780px;
  flex:1 1 auto;
  margin:0;
}
body.gd-site-style-guide .gd-section-head--action .gd-section-head__actions {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  margin:0;
  transform:translateY(-6px);
}
@media (max-width:760px) {
  body.gd-site-style-guide .gd-section-head--action .gd-section-head__row {
    flex-direction:column;
    align-items:stretch;
  }
  body.gd-site-style-guide .gd-section-head--action .gd-section-head__actions {
    width:100%;
    transform:none;
  }
}

/* Editorial guide feature: keep supporting photography secondary to the copy. */
body.gd-site-style-guide .gd-featured-guide {
  grid-template-columns:minmax(0,1.55fr) minmax(220px,.65fr);
  align-items:start;
}
body.gd-site-style-guide .gd-featured-guide .gd-hero__media {
  width:100%;
  max-width:340px;
  justify-self:end;
}
body.gd-site-style-guide .gd-featured-guide .gd-hero__media img {
  width:100%;
  height:auto;
}
@media (max-width:760px) {
  body.gd-site-style-guide .gd-featured-guide {
    grid-template-columns:minmax(0,1fr);
  }
  body.gd-site-style-guide .gd-featured-guide .gd-hero__media {
    max-width:100%;
    justify-self:stretch;
  }
}

/* Keep section-level actions visually separated from a preceding card grid. */
body.gd-site-style-guide .gd-grid + .gd-actions {
  margin-top:calc(var(--gd-space-gap) * .75);
}

/* Shared soft section and photo-card treatments. Grooming Guides is the first
   consumer; these classes are available to other page families without
   duplicating page-specific selectors. */
body.gd-site-style-guide .gd-section--soft {
  background:var(--gd-section-soft-background) !important;
  border:var(--gd-section-soft-border) !important;
  border-radius:var(--gd-shell-radius) !important;
}
body.gd-site-style-guide .gd-card--media-cover {
  display:flex;
  min-height:0;
  flex-direction:column;
}
body.gd-site-style-guide .gd-card--media-cover > .gd-card__media {
  display:block;
  width:calc(100% + var(--gd-card-media-overhang));
  max-width:none !important;
  flex:0 0 auto;
  margin-bottom:12px;
  aspect-ratio:var(--gd-card-media-aspect);
  background:var(--gd-surface-tint);
}
body.gd-site-style-guide .gd-card--media-cover > .gd-card__media img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:var(--gd-card-media-aspect);
  object-fit:cover;
  object-position:var(--gd-card-media-position);
  transition:transform var(--gd-motion-fast) ease;
}
body.gd-site-style-guide .gd-card--media-cover > .gd-card__media:where(:hover,:focus-visible) img,
body.gd-site-style-guide .gd-card--media-cover:where(:hover,:focus-within) > .gd-card__media img {
  transform:scale(var(--gd-media-hover-scale));
}
body.gd-site-style-guide .gd-card--media-cover > h3 {
  margin-top:0 !important;
}
body.gd-site-style-guide .gd-card--clickable {
  position:relative;
  cursor:pointer;
}
body.gd-site-style-guide .gd-card--clickable > h3 a::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:var(--gd-radius);
}
body.gd-site-style-guide .gd-card--clickable:where(:hover,:focus-within) {
  border-color:rgba(var(--gd-brand-lime-rgb),.7);
  box-shadow:var(--gd-soft-card-shadow);
}
body.gd-site-style-guide .gd-card--media-cover > p:last-child {
  margin-bottom:0;
}

/* Accessible ordinary content links; unlayered to bridge Kadence's global link rule. */
body.gd-site-style-guide #main .single-content :where(p,li,dd,figcaption) > a:not(.gd-btn):not(.button):not(.wp-element-button):not(.wp-block-button__link) {
  color:var(--gd-link);
  text-underline-offset:.15em;
}
body.gd-site-style-guide #main .single-content :where(p,li,dd,figcaption) > a:not(.gd-btn):not(.button):not(.wp-element-button):not(.wp-block-button__link):where(:hover,:focus-visible) {
  color:var(--gd-link-hover);
}

/* Homepage hero: pair the primary introduction with a real Green Dog client photo. */
body.gd-site-style-guide.home .gd-homepage-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: center;
}

body.gd-site-style-guide.home .gd-homepage-hero .gd-hero-copy {
  min-width: 0;
}

body.gd-site-style-guide.home .gd-homepage-hero__media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--gd-brand-lime-rgb), .4);
  border-radius: var(--gd-shell-radius);
  background: var(--gd-canvas);
  box-shadow: var(--gd-shadow-raised);
}

body.gd-site-style-guide.home .gd-homepage-hero__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 50% 20%;
}

body.gd-site-style-guide.home .gd-homepage-hero__caption {
  padding: 10px 14px 12px;
  border-top: 1px solid rgba(var(--gd-content-navy-rgb), .12);
  background: var(--gd-surface);
  color: var(--gd-muted);
  font-size: .84rem;
  line-height: 1.4;
}

@media (max-width: 760px) {
  body.gd-site-style-guide.home .gd-homepage-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body.gd-site-style-guide.home .gd-homepage-hero__image {
    aspect-ratio: 16 / 11;
    object-position: 50% 38%;
  }
}


/* Account and Classifieds navigation chips moved from green-dog-site-core.php. */
html body.gd-site-style-guide :is(.hp-menu--user-account,.hp-menu--listing-manage):not(.sub-menu) .hp-menu__item > a,
html body.gd-site-style-guide .hp-listing__categories a {
  display:inline-block;
  padding:var(--gd-component-space-xs) var(--gd-component-space-md);
  border:var(--gd-soft-card-border);
  border-radius:var(--gd-pill-radius);
  background:var(--gd-surface-tint);
  color:var(--gd-brand-navy);
  font-weight:700;
  line-height:1.3;
  text-decoration:none;
  transition:background-color var(--gd-motion-fast),color var(--gd-motion-fast);
}
html body.gd-site-style-guide :is(.hp-menu--user-account,.hp-menu--listing-manage):not(.sub-menu) .hp-menu__item > a:where(:hover,:focus-visible),
html body.gd-site-style-guide :is(.hp-menu--user-account,.hp-menu--listing-manage):not(.sub-menu) .hp-menu__item--current > a,
html body.gd-site-style-guide .hp-listing__categories a:where(:hover,:focus-visible) {
  border-color:var(--gd-brand-navy);
  background:var(--gd-brand-navy);
  color:var(--gd-surface);
}
html body.gd-site-style-guide :is(.hp-menu--user-account,.hp-menu--listing-manage):not(.sub-menu) .hp-menu__item {
  margin:0 0 var(--gd-component-space-xs);
}
html body.gd-site-style-guide :is(.hp-menu--user-account,.hp-menu--listing-manage):not(.sub-menu) .hp-menu__item > a {
  display:block;
}
html body.gd-site-style-guide #primary > .content-container .hp-page.site-main {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body.gd-site-style-guide :is(.gd-card,.gd-item-card,.gd-notice,.gd-profile-disclosure,.gd-appointment-review,.gd-review-totals,details,fieldset) + :is(.gd-btn,.gd-profile-primary-action,.gd-book-grooming-action,.ff_submit_btn_wrapper,.gd-actions,.gd-appointment-review-actions,.green-dog-edit-actions,.green-dog-dog-actions,p:has(> :is(.gd-btn,.gd-profile-primary-action,button,a.button)),div:has(> :is(.gd-btn,.gd-profile-primary-action,button,a.button)):not(:is(.gd-card,.gd-item-card,.gd-notice))) {
  margin-top:calc(var(--gd-space-gap) * .75);
}

/* Shared page-family hero scale: Events and Guides match Community and Classifieds. */
body.gd-site-style-guide.post-type-archive-tribe_events .gd-events-page-header h1,
body.gd-site-style-guide.gd-layout-shell .gd-universal-page-header h1,
body.gd-site-style-guide.category .gd-guide-archive-shell .gd-universal-page-header h1,
body.gd-site-style-guide.single-post .gd-guide-post-shell .gd-universal-page-header h1,
body.gd-community-shell .gd-community-portal-intro h1 {
  font-size:clamp(2.1rem,4vw,2.5rem);
  line-height:1.2;
  margin-bottom:16px;
}

/* Unified page shell: one white card owns the header and working content. */
body.gd-site-style-guide .gd-unified-page-shell,
body.gd-site-style-guide.gd-layout-shell #primary > .content-container,
body.gd-community-shell #primary > .content-container {
  box-sizing:border-box;
  width:var(--gd-shell-width);
  margin:0 auto var(--gd-shell-margin-bottom);
  padding:var(--gd-space-pad);
  overflow:hidden;
  border:0;
  border-radius:var(--gd-shell-radius);
  background:var(--gd-surface);
  box-shadow:var(--gd-shadow-raised);
}
/* Guides use the theme content container as the same outer shell. */
body.gd-site-style-guide.gd-layout-shell #primary,
body.gd-community-shell #primary {
  padding:0;
}

body.gd-site-style-guide .gd-unified-page-shell > .gd-layout {
  width:100%;
  margin:0;
}
body.gd-site-style-guide .gd-unified-page-shell .gd-unified-page-shell__header {
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.gd-site-style-guide .gd-unified-page-shell > #primary {
  width:100%;
  margin:0;
  padding:var(--gd-shell-content-gap) 0 0;
  background:transparent;
}

/* Guide category archives use the same intro-to-content rhythm as the main
   Grooming Guides page and suppress Kadence's otherwise empty archive hero. */
body.gd-site-style-guide.category .gd-guide-archive-shell > .entry-hero {
  display:none !important;
}
body.gd-site-style-guide :is(.gd-guide-archive-shell,.gd-guide-post-shell) > #primary {
  padding-top:var(--gd-page-intro-gap);
}
body.gd-site-style-guide .gd-unified-page-shell > #primary > .content-container.site-container {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
/* The Events Calendar supplies one additional shell inside the shared component. */
body.gd-site-style-guide .gd-unified-page-shell .tribe-events-view {
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
@media (max-width:760px) {
  body.gd-site-style-guide .gd-unified-page-shell,
    body.gd-site-style-guide.gd-layout-shell #primary > .content-container,
  body.gd-community-shell #primary > .content-container {
    width:var(--gd-shell-mobile-width);
    padding:var(--gd-mobile-page-pad);
  }
}
/* Legacy profile links use the shared secondary action state and focus ring. */
body.gd-site-style-guide .green-dog-edit-button:focus-visible {
  outline:3px solid var(--gd-brand-lime);outline-offset:3px;
}
