/*
 * PROFESTO GPSR - product page section.
 * Scoped to .profesto-gpsr* only - no global styles are changed.
 * Colours fall back to PROFESTO theme tokens when available.
 */
.profesto-gpsr {
  --profesto-gpsr-ink: var(--pf-ink, #1b1c1f);
  --profesto-gpsr-muted: var(--pf-gray-500, #6b6c70);
  --profesto-gpsr-line: var(--pf-line, #e7e7e4);
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #fff;
  color: var(--profesto-gpsr-ink);
  font-family: "Roboto", Arial, sans-serif;
  font-size: .9375rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-wrap: break-word;
}

.profesto-gpsr-footer {
  margin: 2rem 0;
}

.profesto-gpsr *,
.profesto-gpsr *::before,
.profesto-gpsr *::after {
  box-sizing: border-box;
}

.profesto-gpsr-title {
  margin: 0 0 .75rem;
  color: var(--profesto-gpsr-ink);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}

.profesto-gpsr-parties {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: 2rem;
}

.profesto-gpsr-block {
  min-width: 0;
  padding: 1rem 0;
  border-top: 1px solid var(--profesto-gpsr-line);
}

.profesto-gpsr > .profesto-gpsr-block:first-child,
.profesto-gpsr > .profesto-gpsr-parties:first-child > .profesto-gpsr-block:first-child,
.profesto-gpsr-title + .profesto-gpsr-block,
.profesto-gpsr-title + .profesto-gpsr-parties > .profesto-gpsr-block:first-child {
  border-top: 0;
  padding-top: 0;
}

.profesto-gpsr-heading {
  margin: 0 0 .5rem;
  color: var(--profesto-gpsr-muted);
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.4;
  text-transform: uppercase;
}

.profesto-gpsr-name {
  margin: 0 0 .5rem;
  color: var(--profesto-gpsr-ink);
  font-weight: 500;
}

.profesto-gpsr-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
}

.profesto-gpsr-label {
  margin: .5rem 0 0;
  color: var(--profesto-gpsr-muted);
  font-size: .8125rem;
  font-weight: 400;
}

.profesto-gpsr-label:first-child {
  margin-top: 0;
}

.profesto-gpsr-value {
  min-width: 0;
  margin: 0;
}

.profesto-gpsr-address {
  margin: 0;
  font-style: normal;
}

.profesto-gpsr-link,
.profesto-gpsr-link:visited {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--profesto-gpsr-line);
  text-underline-offset: .18em;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.profesto-gpsr-link:hover,
.profesto-gpsr-link:focus-visible {
  text-decoration-color: currentColor;
}

.profesto-gpsr-lines {
  margin: 0;
  padding: 0 0 0 1.125rem;
  list-style: disc;
}

.profesto-gpsr-lines li {
  margin: 0 0 .25rem;
  padding: 0;
}

.profesto-gpsr-lines li:last-child {
  margin-bottom: 0;
}

.profesto-gpsr-lines li::marker {
  color: var(--profesto-gpsr-muted);
}

.profesto-gpsr-paragraph {
  margin: 0;
}

@media (min-width: 576px) {
  .profesto-gpsr-list {
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: .375rem;
  }

  .profesto-gpsr-label {
    margin: 0;
    padding-top: .1rem;
  }
}

@media (min-width: 768px) {
  .profesto-gpsr-parties {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Two parties side by side: both have no top line when they open the section. */
  .profesto-gpsr > .profesto-gpsr-parties:first-child > .profesto-gpsr-block,
  .profesto-gpsr-title + .profesto-gpsr-parties > .profesto-gpsr-block {
    border-top: 0;
    padding-top: 0;
  }
}
