/* Enqueued only for Full Service Repair, page 1277. Preserve the existing LCH theme. */
.lch-repair-menu,
.lch-repair-gallery {
  --repair-accent: #cbb89a;
  --repair-gap: 1.5rem;
  --repair-small-gap: 1rem;
  --repair-body: 1rem;
  --repair-heading: 1.125rem;
  --repair-caption: .875rem;
}
.lch-repair-menu .lch-repair-intro {
  margin: 0 0 var(--repair-gap);
  font-size: var(--repair-body);
  line-height: 1.7;
  color: var(--color-text-muted, #b5b2aa);
}
.lch-repair-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--repair-gap) * 1.5) var(--repair-gap);
}
.lch-repair-menu .lch-repair-group {
  min-width: 0;
  border-top: 1px solid rgba(203,184,154,.32);
  padding-top: var(--repair-small-gap);
}
.lch-repair-menu .lch-repair-group h3 {
  margin: 0 0 var(--repair-small-gap);
  color: var(--repair-accent);
  font-family: inherit;
  font-size: var(--repair-heading);
  font-weight: 700;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: normal;
}
.lch-repair-menu .lch-repair-group ul {
  display: block;
  columns: auto;
  list-style: none;
  padding: 0;
  margin: 0;
}
.lch-repair-menu .lch-repair-group li {
  position: relative;
  margin: 0;
  padding: .5rem 0 .5rem var(--repair-small-gap);
  font-size: var(--repair-body);
  line-height: 1.5;
  color: var(--color-text, #f3f1ec);
  overflow-wrap: break-word;
}
.lch-repair-menu .lch-repair-group li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.1rem;
  width: .25rem;
  height: .25rem;
  background: var(--repair-accent);
}
.lch-repair-gallery {
  padding: clamp(2.5rem, 5vw, 4rem) 1.5rem;
  border-top: 1px solid rgba(203,184,154,.16);
  border-bottom: 1px solid rgba(203,184,154,.16);
}
.lch-repair-gallery-inner {
  max-width: 1200px;
  margin-inline: auto;
}
.lch-repair-gallery .section-header {
  margin-bottom: var(--repair-gap);
}
.lch-repair-gallery .section-eyebrow {
  color: var(--repair-accent);
}
.lch-repair-gallery-hint {
  font-size: var(--repair-caption);
  color: var(--color-text-muted, #b5b2aa);
  line-height: 1.6;
  margin: var(--repair-small-gap) 0 0;
}
.lch-repair-photos {
  columns: 4;
  column-gap: var(--repair-small-gap);
}
.lch-repair-photo {
  display: block;
  break-inside: avoid;
  margin: 0 0 var(--repair-small-gap);
  overflow: hidden;
  border-radius: .25rem;
  outline-offset: .25rem;
}
.lch-repair-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.lch-repair-photo:focus-visible {
  outline: 3px solid var(--repair-accent);
}
.lch-repair-photo:hover {
  outline: 2px solid var(--repair-accent);
}
@media (max-width: 1000px) {
  .lch-repair-photos { columns: 2; }
}
@media (max-width: 600px) {
  .lch-repair-groups { grid-template-columns: minmax(0, 1fr); }
  .lch-repair-photos { columns: 1; }
  .lch-repair-gallery { padding-inline: 1rem; }
}

/* Native modal top layer sits above the sticky header and third-party chat. */
.lch-repair-lightbox {
  width: min(1100px, calc(100vw - 2rem));
  height: min(940px, calc(100dvh - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: 1rem;
  border: 1px solid #cbb89a;
  border-radius: .5rem;
  box-sizing: border-box;
  background: #101010;
  color: #f3f1ec;
  overflow: hidden;
}
.lch-repair-lightbox:not([open]) { display: none; }
.lch-repair-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: .75rem; }
.lch-repair-lightbox::backdrop { background: rgba(0,0,0,.88); }
.lch-repair-lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lch-repair-lightbox-toolbar h2 { margin: 0; font-family: inherit; font-size: 1.125rem; font-weight: 700; line-height: 1.4; }
.lch-repair-lightbox button {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: .25rem;
  border: 1px solid #716857;
  border-radius: .25rem;
  background: #24221e;
  color: #f3f1ec;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}
.lch-repair-lightbox button:hover { background: #3a352b; }
.lch-repair-lightbox button:focus-visible { outline: 3px solid #cbb89a; outline-offset: 2px; }
.lch-repair-lightbox-stage { min-height: 0; position: relative; display: grid; place-items: center; }
.lch-repair-lightbox-image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.lch-repair-lightbox-status { position: absolute; inset: auto 1rem; text-align: center; font-size: 1rem; }
.lch-repair-lightbox-status[hidden] { display: none; }
.lch-repair-lightbox-footer { display: flex; gap: .75rem; align-items: center; justify-content: space-between; }
.lch-repair-lightbox-details { min-width: 0; text-align: center; }
.lch-repair-lightbox-count { margin: 0 0 .25rem; color: #cbb89a; font-size: .875rem; }
.lch-repair-lightbox-caption { margin: 0; font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .lch-repair-lightbox { padding: .75rem; width: calc(100vw - 1rem); max-width: calc(100vw - 1rem); height: calc(100dvh - 1rem); max-height: calc(100dvh - 1rem); }
  .lch-repair-lightbox-toolbar h2 { font-size: 1rem; }
}
