.p-service {
  inline-size: min(var(--ratio-full), var(--layout-content-narrow-width) + var(--layout-page-gutter) * 2);
  margin-inline: auto;
}

.p-service__intro {
  display: grid;
  gap: var(--layout-section-padding-inner-large);
  padding-block-end: var(--layout-section-padding-heading-2);
}
.p-service__intro > p {
  margin: var(--space-0);
}

.p-service__anchors {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--component-anchor-gap-vertical) var(--space-12);
  padding: var(--space-0);
  margin: var(--space-0);
  list-style: none;
}

.p-service__section:not(:last-child) {
  padding-block-end: var(--layout-section-padding-heading-2);
}

.p-service__body {
  display: grid;
  gap: var(--layout-section-padding-inner-small);
}
.p-service__body p, .p-service__body ul, .p-service__body dl, .p-service__body figure {
  margin: var(--space-0);
}
.p-service__body ul:not(.p-service__legend, .p-service__facilities, .c-text-list--caption) {
  display: grid;
  gap: var(--component-list-gap-vertical);
  padding-inline-start: var(--space-24);
  list-style: disc;
}
.p-service__body a:has(img) {
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.p-service__body a:has(img)::after {
  position: absolute;
  content: "";
  inset: var(--space-0);
  border: var(--space-0) solid transparent;
  border-radius: var(--layout-focus-radius);
  background: transparent;
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-service__body a:has(img):is(:active, [data-state=pressed])::after {
    background: var(--semantic-tap-highlight);
  }
}
.p-service__body a:has(img):is(:focus-visible, [data-state=focus]) {
  outline: none;
}
.p-service__body a:has(img):is(:focus-visible, [data-state=focus])::after {
  inset: calc(var(--layout-focus-outer-size) * -1);
  border: var(--layout-focus-width) solid var(--semantic-border-focus);
  background: transparent;
}
@media (forced-colors: active) {
  .p-service__body a:has(img):is(:focus-visible, [data-state=focus])::after {
    border-color: Highlight;
  }
}

.p-service__group {
  display: grid;
  gap: var(--component-title-subtitle-gap);
}

.p-service__icon {
  flex: none;
  inline-size: var(--space-24);
  block-size: var(--space-24);
  object-fit: contain;
}

.p-service__icon--relaqua {
  inline-size: calc(var(--space-100) + var(--space-2) + var(--space-1));
  max-inline-size: var(--ratio-full);
}

.p-service__tables {
  display: grid;
  gap: var(--space-24);
  align-items: start;
}

.p-service__building {
  inline-size: auto;
  max-inline-size: var(--ratio-full);
  block-size: var(--space-16);
  object-fit: contain;
  object-position: left;
}

.p-service__facilities {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-0);
  list-style: none;
}
.p-service__facilities > li {
  min-inline-size: var(--space-0);
}

.p-service__children-banner {
  display: grid;
  justify-items: center;
  gap: var(--space-16);
  padding: var(--space-16);
  margin-block-end: var(--space-24);
  background: var(--semantic-background-section);
}
.p-service__children-banner p {
  margin: var(--space-0);
}
.p-service__children-banner a {
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.p-service__children-banner a::after {
  position: absolute;
  content: "";
  inset: var(--space-0);
  border: var(--space-0) solid transparent;
  border-radius: var(--layout-focus-radius);
  background: transparent;
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-service__children-banner a:is(:active, [data-state=pressed])::after {
    background: var(--semantic-tap-highlight);
  }
}
.p-service__children-banner a:is(:focus-visible, [data-state=focus]) {
  outline: none;
}
.p-service__children-banner a:is(:focus-visible, [data-state=focus])::after {
  inset: calc(var(--layout-focus-outer-size) * -1);
  border: var(--layout-focus-width) solid var(--semantic-border-focus);
  background: transparent;
}
@media (forced-colors: active) {
  .p-service__children-banner a:is(:focus-visible, [data-state=focus])::after {
    border-color: Highlight;
  }
}
.p-service__children-banner a {
  inline-size: min(var(--ratio-full), var(--layout-desktop-column-width));
}
.p-service__children-banner img {
  inline-size: min(var(--ratio-full), var(--layout-desktop-column-width));
  block-size: auto;
}

.p-service__lost-image img {
  inline-size: calc(var(--space-256) * 2 + var(--space-32) + var(--space-4) + var(--space-2));
  max-inline-size: var(--ratio-full);
  block-size: auto;
}

@media (min-width: 768px) {
  .p-service__anchors {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--layout-grid-gutter);
  }
  .p-service__anchors .c-anchor-button {
    white-space: nowrap;
  }
  .p-service__tables {
    grid-template-columns: minmax(0, 63fr) minmax(0, 37fr);
    gap: var(--space-40);
  }
  .p-service__building {
    block-size: var(--space-24);
  }
  .p-service__facilities {
    gap: var(--space-12);
  }
  .p-service__children-banner {
    padding: var(--space-24) var(--space-32);
    text-align: center;
  }
  .p-service__children-banner img {
    block-size: calc(var(--space-128) + var(--space-80) + var(--space-4));
    object-fit: cover;
  }
}
.p-service__body--information > .p-service__group {
  gap: var(--space-16);
}
.p-service__body--information > .p-service__group:not(:last-child) {
  padding-block-end: var(--space-24);
  border-block-end: var(--space-1) solid var(--semantic-border-tertiary);
}

.p-service__notice,
.p-service__body[data-service-notice=true] {
  color: var(--semantic-text-state-error);
}

.p-service__body--cinema {
  gap: var(--space-16);
}

.p-service__body--restrooms > .p-service__group:last-child {
  gap: var(--space-8);
}

@media (min-width: 768px) {
  .p-service__group {
    gap: var(--space-12);
  }
}
.p-service .c-textlink-navigation {
  justify-content: flex-start;
}

.p-service__external-icon {
  inline-size: var(--space-16);
  block-size: var(--space-16);
}

.p-service__building--lucua {
  inline-size: calc(var(--space-64) + var(--space-2));
}

.p-service__building--lucua1100 {
  inline-size: calc(var(--space-100) + var(--space-8) + var(--space-2));
}

.p-service__building--lucua-south {
  inline-size: calc(var(--space-100) + var(--space-16) + var(--space-2));
}

@media (min-width: 768px) {
  .p-service__building--lucua {
    inline-size: calc(var(--space-96) + var(--space-2) + var(--space-1));
  }
  .p-service__building--lucua1100 {
    inline-size: calc(var(--space-128) + var(--space-32) + var(--space-4));
  }
  .p-service__building--lucua-south {
    inline-size: calc(var(--space-128) + var(--space-48) + var(--space-1));
  }
}
