/* My Dogs, Choose Dogs, and Dog Profile presentation moved from dog-profile-screen.php. */
html body.gd-site-style-guide .green-dog-my-dogs .green-dog-dog-card {
  margin-bottom:var(--gd-component-space-md);
}
html body.gd-site-style-guide .green-dog-dog-card.gd-dog-card--dashboard:not(:has(.green-dog-edit-form)) {
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(280px,auto) 120px;
  grid-template-rows:auto auto;
  column-gap:var(--gd-component-space-sm);
  row-gap:var(--gd-component-space-xs);
  align-items:start;
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-name {
  grid-column:1;
  grid-row:1;
  min-width:0;
  align-self:start;
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-name > h3 {
  margin:0;
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-summary {
  grid-column:2;
  grid-row:1;
  display:flex;
  min-width:0;
  max-width:520px;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:var(--gd-component-space-xs);
  margin:0;
  justify-self:end;
  align-self:start;
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-actions {
  grid-column:2;
  grid-row:2;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--gd-component-space-xs);
  margin:0;
  justify-self:end;
  align-self:start;
  clear:none;
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-actions > * { margin:0; }
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-actions .green-dog-edit-button { margin-left:0; }
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-card-status {
  grid-column:1;
  grid-row:2;
  min-width:0;
}
html body.gd-site-style-guide .green-dog-dog-card > .gd-dog-card-media {
  grid-column:3;
  grid-row:1 / span 2;
  width:120px;
  height:120px;
  display:grid;
  place-items:center;
  justify-self:end;
  align-self:center;
  overflow:hidden;
  border-radius:var(--gd-radius);
}
html body.gd-site-style-guide .green-dog-dog-card > .gd-dog-card-media > img.gd-dog-card-photo {
  display:block;
  width:100%;
  min-width:0;
  max-width:none;
  height:100%;
  max-height:none;
  margin:0;
  float:none;
  aspect-ratio:1/1;
  border-radius:inherit;
  object-fit:cover;
}
html body.gd-site-style-guide .green-dog-dog-card > .gd-dog-card-placeholder {
  border:var(--gd-card-border);
  background:var(--gd-surface-tint);
}
html body.gd-site-style-guide .green-dog-dog-card > .gd-dog-card-placeholder > .gd-dog-card-placeholder-icon {
  display:block;
  width:56px;
  min-width:0;
  max-width:56px;
  height:56px;
  max-height:56px;
  object-fit:contain;
}

html body.gd-site-style-guide .gd-household-dog:has(> img.gd-dog-card-photo) {
  display:flow-root;
}
html body.gd-site-style-guide .gd-household-dog > img.gd-dog-card-photo {
  display:block;
  float:right;
  width:160px;
  max-width:40%;
  height:160px;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--gd-radius);
  margin:0 0 0 var(--gd-component-space-sm);
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-summary > span,
html body.gd-site-style-guide .gd-household-dog-copy .gd-household-dog-meta > span {
  display:inline-block;
  padding:calc(var(--gd-component-space-xs) / 2) var(--gd-component-space-sm);
  border-radius:var(--gd-pill-radius);
  background:var(--gd-surface-tint);
  color:var(--gd-accent-text);
  font-size:.95em;
  font-weight:600;
  line-height:1.4;
  cursor:default;
}
html body.gd-site-style-guide .green-dog-dog-card .green-dog-booking-readiness,
html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-appointments {
  margin:var(--gd-component-space-xs) 0 0;
}
html body.gd-site-style-guide .gd-household-dog-copy .gd-household-dog-meta {
  display:flex;
  flex-wrap:wrap;
  gap:var(--gd-component-space-xs);
  margin-top:0;
}
html body.gd-site-style-guide .gd-household-dog-copy .gd-household-dog-meta > span { margin:0; }

@media (min-width:900px) {
  html body.gd-site-style-guide .green-dog-dog-card.gd-dog-card--dashboard:not(:has(.green-dog-edit-form)) {
    grid-template-columns:minmax(120px,1fr) max-content 120px;
  }
  html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-summary {
    max-width:none;
    flex-wrap:nowrap;
  }
  html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-summary > span {
    white-space:nowrap;
  }
}
@media (max-width:760px) {
  html body.gd-site-style-guide .green-dog-dog-card.gd-dog-card--dashboard:not(:has(.green-dog-edit-form)) {
    grid-template-columns:minmax(0,1fr) 96px;
    grid-template-rows:auto auto auto auto;
  }
  html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-name {
    grid-column:1;
    grid-row:1;
  }
  html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-summary {
    grid-column:1;
    grid-row:2;
    justify-content:flex-start;
    justify-self:start;
    max-width:none;
  }
  html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-actions {
    grid-column:1 / -1;
    grid-row:4;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:flex-start;
    justify-self:stretch;
    width:100%;
    --gd-button-width:100%;
  }
  html body.gd-site-style-guide .green-dog-dog-card .green-dog-dog-card-status {
    grid-column:1 / -1;
    grid-row:3;
  }
  html body.gd-site-style-guide .green-dog-dog-card > .gd-dog-card-media {
    grid-column:2;
    grid-row:1 / span 2;
    width:96px;
    height:96px;
  }
  html body.gd-site-style-guide .green-dog-dog-card > .gd-dog-card-placeholder > .gd-dog-card-placeholder-icon {
    width:50px;
    max-width:50px;
    height:50px;
    max-height:50px;
  }
}
@media (max-width:600px) {
  html body.gd-site-style-guide .gd-household-dog > img.gd-dog-card-photo {
    width:120px;
    height:120px;
  }
}
@media (min-width:640px) {
  html body.gd-site-style-guide .gd-profile-screen.is-adding #fluentform_4 .ff-el-group:not([hidden]):not(.gd-dog-essential-field):has(.ff-el-input--content :is(select,input[type="text"],input[type="number"],input[type="email"])):not(:has(textarea,input[type="checkbox"],input[type="radio"])),
  html body.gd-site-style-guide .gd-profile-screen.is-editing .green-dog-edit-field:not([hidden]):has(> :is(select,input[type="text"],input[type="number"],input[type="email"])) {
    display:grid;
    grid-template-columns:minmax(0,18em) minmax(220px,320px);
    justify-content:start;
    align-items:center;
    column-gap:calc(var(--gd-component-space-sm) * 2);
  }
  html body.gd-site-style-guide .gd-profile-screen.is-adding #fluentform_4 .ff-el-group:not([hidden]):not(.gd-dog-essential-field):has(.ff-el-input--content :is(select,input[type="text"],input[type="number"],input[type="email"])):not(:has(textarea,input[type="checkbox"],input[type="radio"])) > .ff-el-input--label {
    grid-column:1;
    grid-row:1;
    margin:0;
    padding:0;
  }
  html body.gd-site-style-guide .gd-profile-screen.is-adding #fluentform_4 .ff-el-group:not([hidden]):not(.gd-dog-essential-field):has(.ff-el-input--content :is(select,input[type="text"],input[type="number"],input[type="email"])):not(:has(textarea,input[type="checkbox"],input[type="radio"])) > .ff-el-input--label label { margin:0; }
  html body.gd-site-style-guide .gd-profile-screen.is-adding #fluentform_4 .ff-el-group:not([hidden]):not(.gd-dog-essential-field):has(.ff-el-input--content :is(select,input[type="text"],input[type="number"],input[type="email"])):not(:has(textarea,input[type="checkbox"],input[type="radio"])) > .ff-el-input--content {
    grid-column:2;
    grid-row:1;
    width:100%;
    min-width:0;
  }
  html body.gd-site-style-guide .gd-profile-screen.is-editing .green-dog-edit-field:not([hidden]):has(> :is(select,input[type="text"],input[type="number"],input[type="email"])) > br { display:none; }
  html body.gd-site-style-guide .gd-profile-screen.is-editing .green-dog-edit-field:not([hidden]):has(> :is(select,input[type="text"],input[type="number"],input[type="email"])) > label {
    grid-column:1;
    grid-row:1;
    margin:0;
  }
  html body.gd-site-style-guide .gd-profile-screen.is-editing .green-dog-edit-field:not([hidden]):has(> :is(select,input[type="text"],input[type="number"],input[type="email"])) > :is(select,input[type="text"],input[type="number"],input[type="email"]) {
    grid-column:2;
    grid-row:1;
    width:100%;
    min-width:0;
    margin:0;
  }
}
/* Dog-profile header: make the dog's name the primary page identity while
   keeping the return link visually secondary and close to that context. */
html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--gd-component-space-sm) var(--gd-component-space-lg);
  align-items:start;
}
html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-heading {
  min-width:0;
}
html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-back {
  align-self:start;
  margin:0;
  padding-top:calc(var(--gd-component-space-xs) / 2);
  white-space:nowrap;
}
html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-back a {
  display:inline-flex;
  align-items:center;
  font-weight:700;
  text-decoration:none;
}
html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-back a:where(:hover,:focus-visible) {
  text-decoration:underline;
}
@media (max-width:760px) {
  html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-intro {
    grid-template-columns:1fr;
  }
  html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-back {
    grid-row:1;
    padding-top:0;
    white-space:normal;
  }
  html body.gd-site-style-guide .gd-profile-screen .gd-profile-screen-heading {
    grid-row:2;
  }
}

/* Read-only dog profile: customer-facing overview separate from the edit form. */
html body.gd-site-style-guide .gd-profile-screen.is-viewing .gd-profile-screen-content {
  display:block;
}
html body.gd-site-style-guide .gd-profile-view {
  display:grid;
  gap:var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-profile-view-overview {
  display:block;
  padding:var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-profile-view-overview.has-photo {
  display:grid;
  grid-template-columns:minmax(0,280px) minmax(0,1fr);
  gap:var(--gd-component-space-lg);
  align-items:start;
}
html body.gd-site-style-guide .gd-profile-view-media {
  min-width:0;
}
html body.gd-site-style-guide .gd-profile-view-photo {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--gd-radius);
  margin:0;
}
html body.gd-site-style-guide .gd-profile-view-meta {
  display:flex;
  flex-wrap:wrap;
  gap:var(--gd-component-space-xs);
  margin-bottom:var(--gd-component-space-md);
}
html body.gd-site-style-guide .gd-profile-view-meta > span {
  display:inline-block;
  padding:calc(var(--gd-component-space-xs) / 2) var(--gd-component-space-sm);
  border-radius:var(--gd-pill-radius);
  background:var(--gd-surface-tint);
  color:var(--gd-accent-text);
  font-size:.95em;
  font-weight:600;
  line-height:1.4;
}
/* Matched profile actions retain the global button contract. */
html body.gd-site-style-guide .gd-profile-view-actions {
  --gd-button-width:160px;
  display:flex;
  width:100%;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--gd-component-space-sm);
  margin-top:var(--gd-component-space-md);
}
html body.gd-site-style-guide .gd-profile-view-actions .gd-profile-remove-form {
  width:160px;
  margin:0;
}
html body.gd-site-style-guide .gd-profile-view-actions .gd-profile-book-action {
  margin-left:auto;
}
html body.gd-site-style-guide .gd-profile-view-sections {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-profile-view-sections > .gd-section {
  margin:0;
  padding:var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-profile-view-sections h3 {
  margin-top:0;
}
html body.gd-site-style-guide .gd-profile-detail-list {
  display:grid;
  gap:0;
  margin:0;
}
html body.gd-site-style-guide .gd-profile-detail-list > div {
  display:grid;
  grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);
  gap:var(--gd-component-space-sm);
  padding:var(--gd-component-space-sm) 0;
  border-bottom:var(--gd-card-border);
}
html body.gd-site-style-guide .gd-profile-detail-list > div:last-child {
  border-bottom:0;
}
html body.gd-site-style-guide .gd-profile-detail-list dt {
  font-weight:700;
}
html body.gd-site-style-guide .gd-profile-detail-list dd {
  margin:0;
}
html body.gd-site-style-guide .gd-profile-screen.is-viewing .green-dog-dog-appointments {
  margin-top:var(--gd-component-space-sm);
}
html body.gd-site-style-guide .gd-profile-screen.is-viewing .green-dog-appointment-history {
  margin-top:var(--gd-component-space-sm);
}
html body.gd-site-style-guide .gd-account-household-profile {
  margin-top:var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-account-household-profile > h2 {
  margin-top:0;
}
html body.gd-site-style-guide .gd-account-household-profile .gd-actions {
  margin-bottom:0;
}
@media (max-width:760px) {
  html body.gd-site-style-guide .gd-profile-view-overview,
  html body.gd-site-style-guide .gd-profile-view-overview.has-photo,
  html body.gd-site-style-guide .gd-profile-view-sections {
    grid-template-columns:1fr;
  }
  html body.gd-site-style-guide .gd-profile-view-media {
    max-width:260px;
  }
  html body.gd-site-style-guide .gd-profile-detail-list > div {
    grid-template-columns:1fr;
    gap:calc(var(--gd-component-space-xs) / 2);
  }
  html body.gd-site-style-guide .gd-profile-view-actions {
    --gd-button-width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  html body.gd-site-style-guide .gd-profile-view-actions > :is(.gd-btn,.gd-profile-remove-form) {
    width:100%;
  }
  html body.gd-site-style-guide .gd-profile-view-actions .gd-profile-remove-form { width:100%; }
  html body.gd-site-style-guide .gd-profile-view-actions .gd-profile-remove-form .gd-btn {
    width:100%;
  }
  html body.gd-site-style-guide .gd-profile-view-actions .gd-profile-book-action {
    margin-left:0;
  }
}


html body.gd-site-style-guide .gd-profile-current-services {
  margin-top:var(--gd-component-space-md);
  padding:var(--gd-component-space-md);
  border-radius:var(--gd-control-radius);
  background:var(--gd-surface-tint);
}
html body.gd-site-style-guide .gd-profile-current-services h4 {
  margin:0 0 var(--gd-component-space-xs);
}
html body.gd-site-style-guide .gd-profile-current-services p {
  margin:0 0 var(--gd-component-space-sm);
}
html body.gd-site-style-guide .gd-profile-current-services ul {
  margin:0;
  padding-left:1.25em;
}


/* My Account is a navigation dashboard: keep the title close to the link grid
   when no explanatory copy follows it. */
html body.gd-site-style-guide .gd-account-dashboard > .gd-hero {
  padding-bottom:0;
}
html body.gd-site-style-guide .gd-account-dashboard > .gd-section {
  margin-top:12px;
}


/* Flush section utility for account-shell sections that should align directly
   with the surrounding shell rather than adding a second inset. */
html body.gd-site-style-guide .gd-section--flush-shell {
  padding:0;
}
html body.gd-site-style-guide .gd-section--flush-shell > .gd-section-head {
  margin-bottom:var(--gd-component-space-sm);
}
html body.gd-site-style-guide .gd-section--flush-shell > .gd-section-head > h1 {
  margin-bottom:0;
}
html body.gd-site-style-guide .gd-section--flush-shell .gd-add-dog-toolbar {
  margin-bottom:var(--gd-component-space-sm);
}


/* My Dogs next-groom callout: taller cropped photo with copy and action kept clear of the image. */
html body.gd-site-style-guide .gd-callout--next-visit:has(> .gd-callout__photo) {
  grid-template-columns:160px minmax(0,1fr) auto;
  gap:var(--gd-component-space-md) var(--gd-component-space-lg);
  align-items:center;
  padding:var(--gd-component-space-md) var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-callout--next-visit > .gd-callout__photo {
  grid-column:1;
  width:160px;
  height:120px;
  min-width:0;
  overflow:hidden;
  align-self:center;
  border-radius:var(--gd-radius);
}
html body.gd-site-style-guide .gd-callout--next-visit > .gd-callout__photo img {
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  max-width:none;
  height:100%;
  min-height:0;
  max-height:none;
  border:3px solid var(--gd-brand-lime);
  border-radius:inherit;
  object-fit:cover;
  object-position:center 30%;
}
html body.gd-site-style-guide .gd-callout--next-visit > .gd-callout__photo + div {
  grid-column:2;
  min-width:0;
  align-self:center;
}
html body.gd-site-style-guide .gd-callout--next-visit:has(> .gd-callout__photo) > .gd-actions {
  grid-column:3;
  min-width:max-content;
  align-self:center;
}
@media (max-width:760px) {
  html body.gd-site-style-guide .gd-callout--next-visit:has(> .gd-callout__photo) {
    grid-template-columns:104px minmax(0,1fr);
    gap:var(--gd-component-space-xs) var(--gd-component-space-sm);
    padding:var(--gd-component-space-md);
  }
  html body.gd-site-style-guide .gd-callout--next-visit > .gd-callout__photo {
    grid-column:1;
    grid-row:1 / span 2;
    width:104px;
    height:112px;
    align-self:start;
  }
  html body.gd-site-style-guide .gd-callout--next-visit > .gd-callout__photo + div {
    grid-column:2;
    grid-row:1;
  }
  html body.gd-site-style-guide .gd-callout--next-visit:has(> .gd-callout__photo) > .gd-actions {
    grid-column:2;
    grid-row:2;
    width:auto;
    min-width:0;
    flex-direction:row;
    align-items:center;
  }
  html body.gd-site-style-guide .gd-callout--next-visit:has(> .gd-callout__photo) > .gd-actions > .gd-btn {
    width:auto;
    min-width:0;
    white-space:normal;
  }
}
@media (max-width:480px) {
  html body.gd-site-style-guide .gd-callout--next-visit:has(> .gd-callout__photo) {
    grid-template-columns:88px minmax(0,1fr);
  }
  html body.gd-site-style-guide .gd-callout--next-visit > .gd-callout__photo {
    width:88px;
    height:104px;
  }
}


/* Green Dog admin management screens. */
.gd-admin-scroll {
  overflow:auto;
}
.gd-admin-resolve-cell {
  min-width:340px;
}
.gd-admin-no-top {
  margin-top:0;
}
.gd-admin-field-full {
  width:100%;
}
.gd-admin-choice {
  display:block;
  margin:4px 0;
}
.gd-admin-pre {
  max-width:480px;
  white-space:pre-wrap;
}
.gd-admin-search-form {
  margin:16px 0 24px;
}
.gd-admin-search-input {
  min-width:320px;
}
.gd-admin-dog-card {
  max-width:1100px;
  margin:0 0 16px;
  padding:18px;
  border:1px solid #dcdcde;
  border-radius:4px;
  background:var(--gd-surface);
}
.gd-admin-card-id {
  color:#646970;
  font-weight:400;
}
.gd-admin-panel {
  margin:12px 0;
  padding:10px 12px;
  background:#f6f7f7;
}
.gd-admin-list {
  margin-bottom:0;
}
.gd-admin-photo-panel {
  margin:16px 0;
  padding:14px;
  border-radius:4px;
  background:#f6f7f7;
}
.gd-admin-photo-grid {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 12px;
}
.gd-admin-photo-item {
  width:110px;
}
.gd-admin-photo-thumb {
  display:block;
  width:96px;
  height:96px;
  border-radius:4px;
  object-fit:cover;
}
.gd-admin-form-row {
  margin:0 0 8px;
}
.gd-admin-form-row--last {
  margin-bottom:10px;
}
.gd-admin-caption-input {
  width:100%;
  max-width:520px;
}
.gd-admin-note {
  display:block;
  width:100%;
  max-width:900px;
  margin:6px 0 10px;
}
@media (max-width:782px) {
  .gd-admin-search-input {
    min-width:0;
    width:100%;
    max-width:420px;
  }
  .gd-admin-resolve-cell {
    min-width:280px;
  }
}

/* Customer-visible completed groom history: compact records with one finished photo per appointment. */
html body.gd-site-style-guide .gd-profile-groom-history {
  display:grid;
  gap:var(--gd-component-space-md);
}
html body.gd-site-style-guide .gd-profile-groom-record {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gd-component-space-md);
  align-items:start;
  padding:var(--gd-component-space-md) 0;
  border-bottom:var(--gd-card-border);
}
html body.gd-site-style-guide .gd-profile-groom-record--has-photo {
  grid-template-columns:120px minmax(0,1fr);
}
html body.gd-site-style-guide .gd-profile-groom-record:last-child {
  border-bottom:0;
}
html body.gd-site-style-guide .gd-profile-groom-record > h4 {
  grid-column:1 / -1;
  margin:0;
}
html body.gd-site-style-guide .gd-profile-groom-record-photo img {
  display:block;
  width:120px;
  height:120px;
  object-fit:cover;
  border-radius:var(--gd-control-radius);
}
html body.gd-site-style-guide .gd-profile-groom-record > p {
  margin:0;
}
@media (max-width:600px) {
  html body.gd-site-style-guide .gd-profile-groom-record--has-photo {
    grid-template-columns:88px minmax(0,1fr);
  }
  html body.gd-site-style-guide .gd-profile-groom-record-photo img {
    width:88px;
    height:88px;
  }
}

/* Customer-uploaded reference photos: private grooming context, separate from groom history. */
html body.gd-site-style-guide .gd-owner-reference-photos {
  display:grid;
  gap:var(--gd-component-space-md);
  margin-bottom:var(--gd-component-space-lg);
}
html body.gd-site-style-guide .gd-owner-reference-photos > h3,
html body.gd-site-style-guide .gd-owner-reference-photos > p {
  margin-top:0;
}
html body.gd-site-style-guide .gd-owner-reference-photo-grid,
html body.gd-site-style-guide .gd-profile-reference-photo-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,120px));
  gap:var(--gd-component-space-sm);
}
html body.gd-site-style-guide .gd-owner-reference-photo {
  display:grid;
  gap:var(--gd-component-space-xs);
  margin:0;
}
html body.gd-site-style-guide .gd-owner-reference-photo img,
html body.gd-site-style-guide .gd-profile-reference-photo-grid img {
  display:block;
  width:120px;
  height:120px;
  object-fit:cover;
  border-radius:var(--gd-control-radius);
}
html body.gd-site-style-guide .gd-owner-reference-upload {
  display:grid;
  gap:var(--gd-component-space-xs);
  max-width:360px;
}
html body.gd-site-style-guide .gd-owner-reference-upload input[type="file"] {
  width:100%;
  max-width:100%;
}
@media (max-width:600px) {
  html body.gd-site-style-guide .gd-owner-reference-photo-grid,
  html body.gd-site-style-guide .gd-profile-reference-photo-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  html body.gd-site-style-guide .gd-owner-reference-photo img,
  html body.gd-site-style-guide .gd-profile-reference-photo-grid img {
    width:100%;
    height:auto;
    aspect-ratio:1/1;
  }
}


/* Optional grooming details on the focused profile editor. */
html body.gd-site-style-guide .gd-profile-disclosure { border:1px solid var(--gd-border); border-radius:var(--gd-radius); padding:0; margin:var(--gd-component-space-sm) 0; background:var(--gd-surface); }
.gd-profile-disclosure summary { font-weight:700;cursor:pointer; padding:var(--gd-component-space-md); background:var(--gd-surface-tint); border-radius:var(--gd-radius); }
.gd-profile-disclosure[open] summary { margin-bottom:0; border-bottom:1px solid var(--gd-border); border-radius:var(--gd-radius) var(--gd-radius) 0 0; }
/* Compact appointment cards keep the shared action-button dimensions. */
html body.gd-site-style-guide .gd-account-appointments {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
}
html body.gd-site-style-guide .gd-account-appointment {
  display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px;
}
html body.gd-site-style-guide .gd-account-appointment h2 {
  margin:0;font-size:1.2rem;line-height:1.35;
}
html body.gd-site-style-guide .gd-account-appointment p {
  margin:0;line-height:1.45;
}
html body.gd-site-style-guide .gd-account-appointment ul {
  margin:0;padding-left:1.15rem;
}
html body.gd-site-style-guide .gd-account-appointment li {
  margin:0;line-height:1.45;overflow-wrap:anywhere;
}
html body.gd-site-style-guide .gd-account-appointment li + li { margin-top:5px; }
html body.gd-site-style-guide .gd-account-appointment > p:last-child {
  margin-top:auto;padding-top:4px;
}
html body.gd-site-style-guide .gd-account-appointments > .gd-notice { grid-column:1 / -1; }
@media (max-width:760px) {
  html body.gd-site-style-guide .gd-account-appointments { grid-template-columns:minmax(0,1fr);gap:14px; }
  html body.gd-site-style-guide .gd-account-appointment { padding:18px; }
}

/* Give appointment actions a clear visual target instead of a small inline link. */
html body.gd-site-style-guide .green-dog-next-appointment {
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
}
html body.gd-site-style-guide .gd-next-appointment-details { display:grid;gap:3px;min-width:0; }
html body.gd-site-style-guide .gd-next-appointment-details > span { display:block; }
html body.gd-site-style-guide .green-dog-dog-appointments .gd-appointment-view-link {
    white-space:normal;text-align:center;flex-shrink:0;
}
html body.gd-site-style-guide .green-dog-dog-appointments .gd-appointment-view-link:hover {
    background:var(--gd-content-navy,#000066);color:var(--gd-surface);
}
html body.gd-site-style-guide .green-dog-dog-appointments .gd-appointment-view-link:focus-visible {
    outline:3px solid var(--gd-brand-lime);outline-offset:3px;
}
html body.gd-site-style-guide .green-dog-appointment-history .gd-appointment-view-link { margin:8px 0; }


/* Dashboard appointment details sit beside the matched action group. */
html body.gd-site-style-guide .green-dog-dog-card.gd-dog-card--dashboard .green-dog-dog-appointments,
html body.gd-site-style-guide .green-dog-dog-card.gd-dog-card--dashboard .green-dog-next-appointment { margin:0; }

/* Per-dog community visibility: consent beside the existing My Dogs record. */
html body.gd-site-style-guide .green-dog-dog-card .gd-community-dog-toggle { grid-column:1 / -1;grid-row:3;margin-top:var(--gd-component-space-sm); }
html body.gd-site-style-guide .gd-community-dog-toggle label { display:flex;align-items:flex-start;gap:var(--gd-component-space-xs);margin:0;cursor:pointer; }
html body.gd-site-style-guide .gd-community-dog-toggle input { flex-shrink:0;margin-top:4px; }
html body.gd-site-style-guide .gd-community-dog-toggle :is(small,[role=status]) { display:block;margin-top:var(--gd-component-space-xs); }
html body.gd-site-style-guide .gd-community-dog-toggle [role=status]:empty { display:none; }
@media (max-width:760px) { html body.gd-site-style-guide .green-dog-dog-card .gd-community-dog-toggle { grid-row:5; } }

/* Native details confirmation works with keyboard input and without JavaScript. */
html body.gd-site-style-guide .green-dog-dog-card:has(.gd-dog-remove-disclosure[open]) { overflow:visible; }
html body.gd-site-style-guide .green-dog-dog-actions { position:relative; }
html body.gd-site-style-guide .gd-dog-remove-disclosure { margin:0; }
html body.gd-site-style-guide .gd-dog-remove-disclosure > summary { list-style:none;cursor:pointer; }
html body.gd-site-style-guide .gd-dog-remove-disclosure > summary::-webkit-details-marker { display:none; }
html body.gd-site-style-guide .gd-dog-remove-confirmation {
  box-sizing:border-box;position:absolute;right:0;top:calc(100% + var(--gd-component-space-xs));z-index:5;
  width:min(420px,calc(100vw - 80px));padding:var(--gd-card-padding);
  border:1px solid var(--gd-border);border-radius:var(--gd-radius);
  background:var(--gd-surface);box-shadow:var(--gd-shadow-raised);
}
html body.gd-site-style-guide .gd-dog-remove-confirmation p { margin:0 0 var(--gd-component-space-md); }
html body.gd-site-style-guide .gd-dog-remove-confirmation-actions { display:flex;flex-wrap:wrap;gap:var(--gd-component-space-xs); }
html body.gd-site-style-guide .gd-dog-remove-confirmation-actions form { margin:0; }
@media (max-width:760px) {
  html body.gd-site-style-guide .gd-dog-remove-confirmation { position:static;width:100%;margin-top:var(--gd-component-space-sm); }
  html body.gd-site-style-guide .gd-dog-remove-confirmation-actions > * { width:100%; }
}

/* Profile controls use the central component contract. */
html body.gd-site-style-guide .gd-profile-care-field { margin:0 0 var(--gd-component-space-md); min-width:0; }
html body.gd-site-style-guide .gd-profile-care-field:last-child { margin-bottom:0; }
html body.gd-site-style-guide .gd-profile-care-field > .ff-el-input--label { display:block; margin:0 0 var(--gd-component-space-xs); font-weight:600; line-height:1.45; }
html body.gd-site-style-guide .gd-profile-screen :is(input[type="text"],input[type="email"],input[type="number"],select,textarea) { box-sizing:border-box; border:var(--gd-control-border); background:var(--gd-surface-tint); color:var(--gd-control-color); border-radius:var(--gd-control-radius); }
html body.gd-site-style-guide .gd-profile-care-field > :is(select,textarea) { display:block; width:100%; max-width:100%; padding:var(--gd-control-padding); }
html body.gd-site-style-guide .gd-profile-screen :is(input,select,textarea):focus-visible { outline:2px solid var(--gd-brand-navy); outline-offset:calc(var(--gd-component-space-xs) / 4); box-shadow:var(--gd-control-focus-shadow); }


/* Compact dog details followed by a horizontal photo-permission row. */
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-intake-top { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:var(--gd-component-space-md); margin-bottom:var(--gd-component-space-md); }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-essentials { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.9fr); align-items:start; gap:var(--gd-component-space-md); min-width:0; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-essential-field { display:block; min-width:0; margin:0; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-essential-field > .ff-el-input--label { display:block; margin:0 0 var(--gd-component-space-xs); padding:0; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-essential-field > .ff-el-input--content { width:100%; min-width:0; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-essential-field :is(input,select) { width:100%; min-width:0; max-width:100%; min-height:var(--gd-control-min-height); }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-intake-top > .gd-profile-photo-permission { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px); align-items:center; gap:var(--gd-component-space-xs) var(--gd-component-space-md); box-sizing:border-box; width:100%; max-width:none; margin:0; padding:var(--gd-component-space-md); background:var(--gd-surface-tint); border:1px solid var(--gd-border); border-radius:var(--gd-control-radius); box-shadow:none; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-profile-photo-permission .gd-profile-care-field { display:contents; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-profile-photo-permission .ff-el-input--label { grid-column:1; grid-row:2; font-size:1rem; margin:0; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-profile-photo-permission select { grid-column:2; grid-row:1 / span 2; min-height:var(--gd-control-min-height); padding:var(--gd-control-padding); font-size:1rem; background:var(--gd-surface); }
/* Fluent Forms float clearfix creates phantom cells in this grid. */
html body.gd-site-style-guide .gd-profile-photo-permission .gd-profile-care-field::before,
html body.gd-site-style-guide .gd-profile-photo-permission .gd-profile-care-field::after { content:none; }
html body.gd-site-style-guide .gd-profile-photo-author { grid-column:1; grid-row:1; margin:0; color:var(--gd-accent-text); font-size:.9rem; font-weight:600; }
@media (max-width:760px) {
 html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-intake-top > .gd-profile-photo-permission { grid-template-columns:minmax(0,1fr); }
 html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-profile-photo-permission select { grid-column:1; grid-row:3; }
}
@media (max-width:639px) {
 html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-essentials { grid-template-columns:minmax(0,1fr); gap:var(--gd-component-space-md); }
 html body.gd-site-style-guide .gd-profile-screen.is-adding .gd-dog-intake-top { gap:var(--gd-component-space-md); }
}


/* Single optional notes field uses the shared control contract. */
html body.gd-site-style-guide .gd-profile-notes { margin:0 0 var(--gd-component-space-md); }
html body.gd-site-style-guide .gd-profile-notes textarea { display:block; width:100%; min-height:calc(var(--gd-control-min-height) * 2); resize:vertical; }

/* Add a Dog: green inset card with white controls. */
html body.gd-site-style-guide .gd-profile-screen.is-adding .green-dog-add-dog #fluentform_4 { background:#66cc00; color:#0b1f4a; padding:clamp(18px,3vw,30px); border:1px solid #58b000; border-radius:16px; box-shadow:0 4px 14px rgba(11,31,74,.08); }
html body.gd-site-style-guide .gd-profile-screen.is-adding .green-dog-add-dog #fluentform_4 :is(input[type="text"],input[type="number"],input[type="email"],select,textarea) { background-color:#fff!important; color:#0b1f4a!important; border-color:#678348!important; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .green-dog-add-dog #fluentform_4 :is(label,.ff-el-input--label,.ff-el-help-message,.ff-custom_html) { color:#0b1f4a!important; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .green-dog-add-dog #fluentform_4 :is(input,select,textarea):focus-visible { outline:2px solid #000066; outline-offset:2px; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .green-dog-add-dog #fluentform_4 .ff-btn-submit { background:#000066!important; color:#fff!important; border:2px solid #000066!important; }
html body.gd-site-style-guide .gd-profile-screen.is-adding .green-dog-add-dog #fluentform_4 .ff-btn-submit:hover { background:#0b1f4a!important; }
