.sofa-selector-widget.citysofa-has-technical-sheet {
    --citysofa-technical-font-size: 14px;
    --citysofa-technical-icon-size: 24px;
    --citysofa-action-duration: 180ms;
    --citysofa-action-offset: 2px;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet[hidden] {
    display: none;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    max-width: 100%;
    padding: 8px 4px;
    color: var(--e-global-color-text, #1A1A1A);
    font: inherit;
    font-size: var(--citysofa-technical-font-size);
    line-height: 1.5;
    text-decoration: none;
    border-radius: 4px;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__icon {
    display: block;
    flex: 0 0 var(--citysofa-technical-icon-size);
    width: var(--citysofa-technical-icon-size);
    height: var(--citysofa-technical-icon-size);
    background: currentColor;
    -webkit-mask: url("../../vendor/phosphor/2b75f3ad12b4/light/file-pdf-light.svg") center / contain no-repeat;
    mask: url("../../vendor/phosphor/2b75f3ad12b4/light/file-pdf-light.svg") center / contain no-repeat;
    transition: transform var(--citysofa-action-duration) ease;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__text {
    position: relative;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--citysofa-action-duration) ease;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__link:is(:hover, :focus-visible) .citysofa-technical-sheet__icon {
    transform: translateY(calc(-1 * var(--citysofa-action-offset)));
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__link:is(:hover, :focus-visible) .citysofa-technical-sheet__text::after {
    transform: scaleX(1);
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__link:active .citysofa-technical-sheet__icon {
    transform: translateY(1px);
}
@media (prefers-reduced-motion: reduce) {
    .sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__icon,
    .sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__text::after {
        transition: none;
        transform: none;
    }
    .sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__link:is(:hover, :focus-visible, :active) .citysofa-technical-sheet__icon {
        transform: none;
    }
}



/* The Streets: both image and material keep row 1; data is a separate row. */
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet {
    text-align: center;
    margin-top: -22px;
}
.sofa-selector-widget.citysofa-has-technical-sheet .material-image { display: contents; }
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-selector-main-image-container { grid-column: 1; grid-row: 1; }
.sofa-selector-widget.citysofa-has-technical-sheet .material-thumb { grid-column: 2; grid-row: 1; justify-content: center; }
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet { grid-column: 1; grid-row: 2; }
.sofa-selector-widget.citysofa-has-technical-sheet .material-color { grid-column: 1; grid-row: 3; }
.sofa-selector-widget.citysofa-has-technical-sheet .material-desc { grid-column: 2; grid-row: 3; }
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__dimensions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 4px;
    margin: 0 0 4px;
    font-size: var(--citysofa-technical-font-size);
    line-height: 1.5;
    color: var(--e-global-color-text, #1A1A1A);
}
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__dimensions[hidden] { display: none; }
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet__dimensions-value { white-space: nowrap; }
/* Verified image whitespace for all 5 NORREBRO packshots (768x432, object ends at y345). */
.sofa-selector-widget.citysofa-has-technical-sheet[data-category="norrebro"] .citysofa-technical-sheet { margin-top: -74px; }
@media (max-width: 768px) {
    .sofa-selector-widget.citysofa-has-technical-sheet .sofa-selector-main-image-container,
    .sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet,
    .sofa-selector-widget.citysofa-has-technical-sheet .material-color { grid-column: 1 / -1; }
    .sofa-selector-widget.citysofa-has-technical-sheet .material-thumb { grid-column: 1; grid-row: 4; justify-content: flex-start; }
    .sofa-selector-widget.citysofa-has-technical-sheet .material-desc { grid-column: 2; grid-row: 4; }
    .sofa-selector-widget.citysofa-has-technical-sheet[data-category="norrebro"] .citysofa-technical-sheet { margin-top: -54px; }
}

/* Native Streets reads the first crossfade layer, even when it is idle.
   Center that absolute layer within the same stage as the in-flow layer. */
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-selector-main-image-link .sofa-selector-main-image:nth-child(1) {
    top: 50%;
    transform: translateY(-50%);
}

/* Paint technical text above the positioned crossfade image's white margin. */
.sofa-selector-widget.citysofa-has-technical-sheet .citysofa-technical-sheet {
    position: relative;
    z-index: 1;
}

/* Model disclosure: native right-arrow glyph points down/up via state only. */
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-button.sofa-model-toggle {
    --citysofa-toggle-angle: 90deg;
    --citysofa-toggle-direction: 1;
    gap: 8px;
    min-height: 44px;
    color: var(--e-global-color-text, #1A1A1A);
    border-bottom-color: transparent;
}
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle.sofa-toggle-expanded {
    --citysofa-toggle-angle: -90deg;
    --citysofa-toggle-direction: -1;
}
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle:is(:hover, :focus) {
    background: transparent;
    color: var(--e-global-color-text, #1A1A1A);
    border-bottom-color: transparent;
}
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-toggle-label { position: relative; }
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-toggle-label::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--citysofa-action-duration) ease;
}
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle:is(:hover, :focus-visible) .sofa-toggle-label::after { transform: scaleX(1); }
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle .sofa-toggle-icon {
    transform: rotate(var(--citysofa-toggle-angle));
    transition: transform var(--citysofa-action-duration) ease;
}
.sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle:is(:hover, :focus-visible) .sofa-toggle-icon {
    transform: translateY(calc(var(--citysofa-toggle-direction) * var(--citysofa-action-offset))) rotate(var(--citysofa-toggle-angle));
}
@media (prefers-reduced-motion: reduce) {
    .sofa-selector-widget.citysofa-has-technical-sheet .sofa-toggle-label::after,
    .sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle .sofa-toggle-icon { transition: none; }
    .sofa-selector-widget.citysofa-has-technical-sheet .sofa-model-toggle:is(:hover, :focus-visible) .sofa-toggle-icon { transform: rotate(var(--citysofa-toggle-angle)); }
}
