/* Existing information, arranged for reading in the shared Lego design system. */
html { scroll-behavior: smooth; }
.lg-info { --lg-info-tint: oklch(.975 .008 239); }
.lg-info :is(h1,h2,h3,h4,h5,h6) { text-wrap: balance; overflow-wrap: anywhere; }
.lg-info a { text-underline-offset: .2em; }
.lg-info :is(a,button,[tabindex]):focus-visible { outline: 2px solid var(--lg-action); outline-offset: 3px; }
.lg-info-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .625rem; margin-bottom: 1.5rem; color: var(--lg-muted); font-size: .75rem; line-height: 1.8; }
.lg-info-breadcrumb a { color: inherit; }
.lg-info-title { text-wrap: pretty; margin: 0 0 2rem; font-size: clamp(1.75rem,1.5rem + .5vw,2.125rem); font-weight: 750; line-height: 1.3; letter-spacing: -.025em; }
.lg-info-layout { display: grid; grid-template-columns: minmax(0,15rem) minmax(0,1fr); align-items: start; gap: clamp(2rem,4vw,4rem); padding-top: 2rem; border-top: 1px solid var(--lg-line); }
.lg-info-sidebar,.lg-info-article,.lg-info-section,.lg-info-prose { min-width: 0; }
.lg-info-article { grid-column: 2; grid-row: 1; }
.lg-info-sidebar { grid-column: 1; grid-row: 1; }
.lg-info-layout:not(:has(.lg-info-sidebar)) .lg-info-article { grid-column: 1; }
.lg-info-layout:not(:has(.lg-info-sidebar)) { grid-template-columns: minmax(0,1fr); }
.lg-info-navigation h2 { margin: 0 0 .75rem; color: var(--lg-muted); font-size: .75rem; font-weight: 550; line-height: 1.6; }
.lg-info-navigation ul { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.lg-info-navigation a { display: flex; align-items: center; min-height: var(--lg-control-size); padding: .6875rem .875rem; border-inline-start: 2px solid transparent; border-radius: 0 .375rem .375rem 0; color: var(--lg-ink); font-size: .8125rem; font-weight: 550; line-height: 1.55; text-decoration: none; overflow-wrap: anywhere; transition: color 120ms ease-out,background-color 120ms ease-out; }
.lg-info-navigation a[aria-current="page"] { border-inline-start-color: var(--lg-action); color: var(--lg-action); background: var(--lg-info-tint); font-weight: 700; }
.lg-info-section { margin: 0 0 2.5rem; scroll-margin-top: calc(var(--lg-info-scroll-offset, 0px) + 1rem); }
.lg-info-section:last-child { margin-bottom: 0; }
.lg-info-section + .lg-info-section { padding-top: 2.25rem; border-top: 1px solid var(--lg-line); }
.lg-info-section > h2 { max-width: 48rem; margin: 0 0 1.25rem; font-size: clamp(1.375rem,1.25rem + .3vw,1.625rem); font-weight: 750; line-height: 1.4; letter-spacing: -.015em; }
.lg-info-prose { color: var(--lg-ink); font-size: .9375rem; line-height: 1.85; text-wrap: pretty; overflow-wrap: anywhere; }
.lg-info-prose > :not(.lg-info-gallery) { max-width: 48rem; }
.lg-info-prose > :first-child { margin-top: 0; }
.lg-info-prose > :last-child { margin-bottom: 0; }
.lg-info-prose p { margin: 0 0 1.125rem; }
.lg-info-prose strong,.lg-info-prose b { font-weight: 650; }
.lg-info-prose :is(h2,h3,h4,h5,h6) { margin: 2rem 0 .875rem; font-size: 1.125rem; font-weight: 700; line-height: 1.55; letter-spacing: -.01em; }
.lg-info-prose :is(h5,h6) { font-size: 1rem; }
.lg-info-prose :is(ul,ol) { margin: 1rem 0 1.5rem; padding-inline-start: 1.25rem; }
.lg-info-prose li { padding-inline-start: .25rem; margin-bottom: .625rem; }
.lg-info-prose li::marker { color: var(--lg-action); }
.lg-info-prose :is(ul,ol) :is(ul,ol) { margin-block: .625rem; }
.lg-info-prose a { color: var(--lg-action); }
.lg-info-prose :is(a,code) { overflow-wrap: anywhere; }
.lg-info-prose blockquote { margin: 1.5rem 0; padding: .75rem 1.25rem; border-inline-start: 3px solid var(--lg-action); background: var(--lg-info-tint); }
.lg-info-prose blockquote > :last-child { margin-bottom: 0; }
.lg-info-prose hr { margin: 2rem 0; border: 0; border-top: 1px solid var(--lg-line); }
.lg-info-prose figure { margin: 1.5rem 0; }
.lg-info-prose figcaption { margin-top: .625rem; color: var(--lg-muted); font-size: .75rem; line-height: 1.7; }
.lg-info-prose img { max-width: 100%; height: auto; }
.lg-info-prose table { width: 100%; border-collapse: collapse; font-size: .8125rem; line-height: 1.7; text-align: start; }
.lg-info-prose :is(th,td) { padding: .875rem 1rem; border-bottom: 1px solid var(--lg-line); vertical-align: top; text-align: start; }
.lg-info-prose th { background: var(--lg-soft); font-weight: 650; }
.lg-info-prose :is(.wp-block-table,.lg-info-table) { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-color: var(--lg-muted) var(--lg-soft); scrollbar-width: thin; }
.lg-info-prose :is(.wp-block-table,.lg-info-table) table { min-width: 36rem; }
.lg-info-toc { max-width: 48rem; margin-bottom: 2.5rem; padding: 1rem 1.25rem; border-radius: .5rem; background: var(--lg-soft); }
.lg-info-toc h2 { margin: 0 0 .375rem; font-size: .8125rem; font-weight: 650; line-height: 1.6; }
.lg-info-toc ul { display: grid; margin: 0; padding: 0; list-style: none; }
.lg-info-toc a { display: flex; align-items: center; min-height: var(--lg-control-size); padding-block: .5rem; color: var(--lg-action); font-size: .8125rem; font-weight: 500; line-height: 1.55; text-decoration: none; overflow-wrap: anywhere; }
.lg-info--legal .lg-info-prose { font-size: .875rem; line-height: 1.9; }
.lg-info--legal .lg-info-section > h2 { font-size: 1.25rem; }
.lg-info--about .lg-info-section--intro .lg-info-prose > p:first-child { font-size: 1.125rem; font-weight: 550; line-height: 1.75; }
.lg-info--jobs .lg-info-prose > ul,.lg-info--services .lg-info-prose > ul { display: grid; gap: 0; padding: 0; margin: 1rem 0; list-style: none; }
.lg-info--jobs .lg-info-prose > ul > li,.lg-info--services .lg-info-prose > ul > li { padding: 1.25rem 0; margin: 0; border-bottom: 1px solid var(--lg-line); }
.lg-info--jobs .lg-info-prose > ul > li:first-child { padding-top: 0; }
.lg-info--services .lg-info-prose > ul > li { position: relative; padding-inline-start: 1.5rem; font-size: 1.0625rem; }
.lg-info--services .lg-info-prose > ul > li::before { content: ''; position: absolute; top: 1.95rem; inset-inline-start: .125rem; width: .375rem; height: .375rem; border-radius: 50%; background: var(--lg-action); }
.lg-info--jobs .lg-info-prose a[href^="tel:"] { display: inline-flex; align-items: center; min-height: var(--lg-control-size); font-variant-numeric: tabular-nums; white-space: normal; }
.lg-info--discount .lg-info-prose strong { font-variant-numeric: tabular-nums; }
.lg-info-payment-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin: .25rem 0 1.5rem; }
.lg-info-payment-logos figure { display: flex; align-items: center; margin: 0; }
.lg-info-payment-logos figure > a { display: block; position: relative; }
.lg-info-payment-logos img { display: block; width: auto; height: 2.75rem; max-width: 8rem; object-fit: contain; }
.lg-info-gallery { display: grid; grid-template-columns: repeat(var(--lg-info-gallery-columns,3),minmax(0,1fr)); gap: .875rem; margin: 1.5rem 0; }
.lg-info--delivery .lg-info-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
.lg-info--delivery .lg-info-gallery[data-columns] { grid-template-columns: repeat(var(--lg-info-gallery-columns,2),minmax(0,1fr)); }
.lg-info-gallery > figure { min-width: 0; margin: 0; }
.lg-info-gallery > figure > a { position: relative; display: block; min-width: 0; border-radius: .5rem; isolation: isolate; background: var(--lg-soft); outline: 1px solid oklch(0 0 0 / .1); outline-offset: -1px; }
.lg-info-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: inherit; }
.lg-info-gallery__zoom { position: absolute; display: grid; place-items: center; inset-inline-end: .625rem; bottom: .625rem; width: 2.25rem; height: 2.25rem; border-radius: .375rem; background: var(--lg-paper); color: var(--lg-action); box-shadow: 0 .125rem .5rem oklch(0 0 0 / .1); opacity: 0; pointer-events: none; transition: opacity 150ms ease-out; }
.lg-info-gallery__zoom svg { width: 1.25rem; height: 1.25rem; }
.lg-info :is(.lg-info-gallery,.lg-info-payment-logos) > figure > a:focus-visible .lg-info-gallery__zoom { opacity: 1; }
.lg-info-gallery-hint { margin: .75rem 0 0; color: var(--lg-muted); font-size: .75rem; line-height: 1.7; }
.lg-info-prose::after { display: block; clear: both; content: ''; }
.lg-info-prose .wp-caption { max-width: 100%; box-sizing: border-box; }
.lg-info-prose .wp-caption img { display: block; }
.lg-info-prose .aligncenter { display: block; margin-inline: auto; }
.lg-info-prose .alignleft { float: left; margin: .375rem 1.25rem 1rem 0; }
.lg-info-prose .alignright { float: right; margin: .375rem 0 1rem 1.25rem; }
.lg-info-image-unavailable,.lg-info-content-error { display: block; padding: 1rem; border: 1px solid var(--lg-line); border-radius: .375rem; background: var(--lg-soft); color: var(--lg-muted); }
.pswp--lego-info .pswp__button:focus-visible { outline: 2px solid oklch(1 0 0); outline-offset: -3px; }
@media (hover: hover) and (pointer: fine) {
    .lg-info-navigation a:not([aria-current="page"]):hover { color: var(--lg-action); background: var(--lg-soft); }
    .lg-info :is(.lg-info-breadcrumb a,.lg-info-toc a):hover { color: var(--lg-action-hover); text-decoration: underline; }
    .lg-info-prose a:hover { color: var(--lg-action-hover); }
    .lg-info :is(.lg-info-gallery,.lg-info-payment-logos) > figure > a:hover .lg-info-gallery__zoom { opacity: 1; }
}
@media (max-width: 64rem) {
    .lg-info-layout { grid-template-columns: minmax(0,12rem) minmax(0,1fr); gap: 2rem; }
    .lg-info-gallery,.lg-info--delivery .lg-info-gallery[data-columns] { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 48rem) {
    .lg-info-breadcrumb { margin-bottom: 1rem; }
    .lg-info-title { margin-bottom: 1.5rem; }
    .lg-info-layout { grid-template-columns: minmax(0,1fr); gap: 2.5rem; padding-top: 1.5rem; }
    .lg-info-article { grid-column: 1; grid-row: 1; }
    .lg-info-sidebar { grid-column: 1; grid-row: 2; padding-top: 1.5rem; border-top: 1px solid var(--lg-line); }
    .lg-info-navigation ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem .75rem; }
    .lg-info-section { margin-bottom: 2rem; }
    .lg-info-section + .lg-info-section { padding-top: 1.75rem; }
    .lg-info-prose { font-size: .875rem; }
    .lg-info--about .lg-info-section--intro .lg-info-prose > p:first-child { font-size: 1rem; }
    .lg-info-toc { margin-bottom: 2rem; padding: .875rem 1rem; }
    .lg-info-gallery { gap: .625rem; }
    .lg-info-prose .alignleft,.lg-info-prose .alignright { float: none; margin-inline: 0; }
}
.lg-info-gallery[data-columns="1"],.lg-info--delivery .lg-info-gallery[data-columns="1"] { grid-template-columns: minmax(0,1fr); }
@media (max-width: 24rem) {
    .lg-info-navigation ul { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .lg-info-navigation a,.lg-info-gallery__zoom { transition: none; }
}
