.d16-related{--d16-related-gap:1rem;--d16-related-visible:var(--d16-related-per-page);min-width:0;margin-block:2rem;color:inherit}
.d16-related *{box-sizing:border-box}
.d16-related__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.d16-related__heading{margin:0;font:inherit;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700}
.d16-related__controls{display:flex;gap:.5rem}
.d16-related__controls button{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
.d16-related__controls button:hover,.d16-related__controls button:focus-visible{background:#319a7b;color:#fff;outline:2px solid #319a7b;outline-offset:2px}
.d16-related__controls button:disabled{opacity:.35;cursor:default}
.d16-related__viewport{max-width:100%;min-width:0}
.d16-related--carousel .d16-related__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;overscroll-behavior-x:contain}
.d16-related--carousel .d16-related__viewport:focus-visible{outline:2px solid #319a7b;outline-offset:2px}
.d16-related__track{display:flex;gap:var(--d16-related-gap);align-items:stretch}
.d16-related__slide{min-width:0;flex:0 0 calc((100% - (var(--d16-related-visible) - 1)*var(--d16-related-gap))/var(--d16-related-visible));scroll-snap-align:start}
.d16-related--pinned .d16-related__body{display:flex;align-items:stretch;gap:var(--d16-related-gap);min-width:0}
.d16-related--pinned .d16-related__pinned{display:grid;align-content:start;gap:var(--d16-related-gap);min-width:0;flex:0 0 calc((100% - (var(--d16-related-visible) - 1)*var(--d16-related-gap))/var(--d16-related-visible))}
.d16-related--pinned .d16-related__pinned-item,.d16-related--pinned .d16-related__pinned-item>.d16-related__extra{min-width:0;height:100%}
.d16-related--pinned .d16-related__viewport{flex:1;min-width:0}
.d16-related--pinned .d16-related__slide{--d16-related-scroll-visible:max(1,calc(var(--d16-related-visible) - 1));flex-basis:calc((100% - (var(--d16-related-scroll-visible) - 1)*var(--d16-related-gap))/var(--d16-related-scroll-visible))}
.d16-related--pinned-one .d16-related__body{flex-direction:column}
.d16-related--pinned-one .d16-related__pinned{flex-basis:auto;width:100%}
.d16-related__static-extras{display:grid;grid-template-columns:repeat(var(--d16-related-visible),minmax(0,1fr));gap:var(--d16-related-gap);margin-top:var(--d16-related-gap)}
.d16-related--grid .d16-related__track{display:grid;grid-template-columns:repeat(var(--d16-related-visible),minmax(0,1fr))}
.d16-related--grid .d16-related__slide{min-width:0}
.d16-related__card,.d16-related__extra{height:100%;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--d16-related-radius);background:transparent}
.d16-related__card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}
.d16-related__image{display:block;aspect-ratio:1;overflow:hidden;border-radius:calc(var(--d16-related-radius)*.65)}
.d16-related__image img{display:block;width:100%;height:100%;object-fit:contain}
.d16-related--image-crop .d16-related__card .d16-related__image img{object-fit:cover}
.d16-related--image-natural .d16-related__card .d16-related__image{aspect-ratio:auto}
.d16-related--image-natural .d16-related__card .d16-related__image img{height:auto}
.d16-related__card h3{margin:.25rem 0;font:inherit;font-weight:650;font-size:1rem;line-height:1.35}
.d16-related__card h3 a{color:inherit;text-decoration:none}
.d16-related__card h3 a:hover{text-decoration:underline}
.d16-related__price{margin-top:auto;font-weight:650}
.d16-related__action-wrap{display:flex;align-items:center;justify-content:center;min-height:2.5rem}
.d16-related__action-wrap .button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:.5rem .8rem;border-radius:.5rem;line-height:1.3;text-align:center;white-space:normal}
.d16-related__action{display:inline-block;align-self:center;margin-top:.25rem;padding:.5rem .8rem;border-radius:.5rem;background:#319a7b;color:#fff;text-decoration:none}
.d16-related__action:hover,.d16-related__action:focus-visible{background:#257c62;color:#fff}
.d16-related__unavailable{color:#666;font-size:.875rem}
.d16-related__extra>*,.d16-related__extra .wp-block-cover{min-height:100%;margin:0}
.d16-related__extra img{max-width:100%;height:auto}
.d16-related__event{display:flex;flex-direction:column;gap:.5rem;min-height:100%;overflow:hidden;padding:1rem;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--d16-related-radius);background:transparent}
.d16-related__event .d16-related__image{min-height:0;flex-shrink:1}
.d16-related__event-label,.d16-related__event h3,.d16-related__event time,.d16-related__event .d16-related__action{flex-shrink:0}
.d16-related__event-label{color:#24795f;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.d16-related__event h3{margin:.2rem 0;font-size:1.1rem}
.d16-related__event h3 a{color:inherit;text-decoration:none}
.d16-related__event-description-wrap{position:relative;min-height:0;flex:0 1 auto;overflow:hidden;max-height:calc(var(--d16-related-event-lines,2) * 1.4em);font-size:.9rem;line-height:1.4}
.d16-related__event-description{overflow-wrap:anywhere;margin:0;font-size:inherit;line-height:inherit}
.d16-related__event-fade-end{display:inline-flex;align-items:baseline;white-space:nowrap;vertical-align:baseline}
.d16-related__event-fade-tail{display:inline-block;-webkit-mask-image:linear-gradient(to right,#000 35%,transparent 100%);mask-image:linear-gradient(to right,#000 35%,transparent 100%)}
.d16-related__event-fade-dots{font-weight:700;letter-spacing:.03em}
.d16-related__event time{margin-top:auto;font-weight:700}
@media(max-width:900px){.d16-related{--d16-related-visible:min(2,var(--d16-related-per-page))}}
@media(max-width:600px){.d16-related{--d16-related-visible:1}}
@media(max-width:600px){.d16-related--pinned .d16-related__body{flex-direction:column}.d16-related--pinned .d16-related__pinned{flex-basis:auto;width:100%}}
@media(prefers-reduced-motion:reduce){.d16-related--carousel .d16-related__viewport{scroll-behavior:auto}}
