/* Add your styles here */

html {
    --lumo-primary-color: #c3d47b;
    --lumo-primary-color-50pct: rgba(195, 212, 123, 0.76);
    --lumo-primary-color-10pct: rgba(195, 212, 123, 0.18);
    --lumo-primary-text-color: #445116;
    --lumo-primary-contrast-color: #1f260d;
}

/* Public B2B landing page */
.landing-view {
    background:
        radial-gradient(circle at 85% 5%, var(--lumo-primary-color-10pct), transparent 28rem),
        linear-gradient(180deg, var(--lumo-contrast-5pct), var(--lumo-base-color) 34rem);
    box-sizing: border-box;
    min-height: 100%;
    padding: clamp(var(--lumo-space-m), 4vw, var(--lumo-space-xl));
}

.landing-content {
    display: grid;
    gap: clamp(var(--lumo-space-l), 3vw, var(--lumo-space-xl));
    margin-inline: auto;
    max-width: 1180px;
    width: 100%;
}

.landing-hero {
    background: linear-gradient(135deg, #26300f, #52631c 58%, #788b31);
    border-radius: calc(var(--lumo-border-radius-l) * 1.5);
    box-shadow: var(--lumo-box-shadow-m);
    color: white;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
    min-height: 29rem;
    overflow: hidden;
}

.landing-hero-copy {
    align-self: center;
    box-sizing: border-box;
    max-width: 46rem;
    padding: clamp(2rem, 6vw, 5rem);
}

.landing-eyebrow {
    color: #dce9a5;
    display: block;
    font-size: var(--lumo-font-size-s);
    font-weight: 700;
    letter-spacing: .12em;
    margin-bottom: var(--lumo-space-m);
    text-transform: uppercase;
}

.landing-hero h1 {
    color: inherit;
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    line-height: 1.02;
    margin: 0 0 var(--lumo-space-l);
    max-width: 11ch;
}

.landing-hero p {
    color: rgba(255, 255, 255, .84);
    font-size: var(--lumo-font-size-m);
    line-height: 1.7;
    margin-block: var(--lumo-space-m) 0;
}

.landing-hero .landing-lead {
    color: white;
    font-size: var(--lumo-font-size-l);
    line-height: 1.55;
}

.landing-hero-image,
.landing-image-placeholder {
    height: 100%;
    min-height: 29rem;
    width: 100%;
}

.landing-hero-image {
    display: block;
    object-fit: cover;
}

.landing-image-placeholder {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .03)),
        repeating-linear-gradient(-45deg, transparent 0 20px, rgba(255, 255, 255, .04) 20px 40px);
    box-sizing: border-box;
    color: rgba(255, 255, 255, .82);
    display: flex;
    flex-direction: column;
    gap: var(--lumo-space-s);
    justify-content: center;
    padding: var(--lumo-space-xl);
    text-align: center;
}

.landing-image-placeholder vaadin-icon {
    height: 4rem;
    width: 4rem;
}

.landing-image-placeholder-hint {
    color: rgba(255, 255, 255, .62);
    font-size: var(--lumo-font-size-s);
}

.landing-catalog-tile {
    align-items: center;
    background: var(--lumo-primary-color);
    border: 2px solid transparent;
    border-radius: var(--lumo-border-radius-l);
    box-shadow: var(--lumo-box-shadow-s);
    box-sizing: border-box;
    color: var(--lumo-primary-contrast-color);
    display: grid;
    gap: var(--lumo-space-l);
    grid-template-columns: auto 1fr auto;
    padding: clamp(var(--lumo-space-l), 4vw, var(--lumo-space-xl));
    text-decoration: none;
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.landing-catalog-tile:hover {
    box-shadow: var(--lumo-box-shadow-m);
    color: var(--lumo-primary-contrast-color);
    transform: translateY(-2px);
}

.landing-catalog-tile:focus-visible {
    border-color: var(--lumo-primary-contrast-color);
    outline: 3px solid var(--lumo-primary-color-50pct);
    outline-offset: 3px;
}

.landing-catalog-icon {
    align-items: center;
    background: rgba(255, 255, 255, .38);
    border-radius: 50%;
    display: flex;
    height: 4rem;
    justify-content: center;
    width: 4rem;
}

.landing-catalog-icon vaadin-icon {
    height: 2rem;
    width: 2rem;
}

.landing-catalog-copy h2,
.landing-catalog-copy p {
    color: inherit;
    margin: 0;
}

.landing-catalog-copy p {
    margin-top: var(--lumo-space-xs);
}

.landing-catalog-tile > vaadin-icon {
    height: 2rem;
    width: 2rem;
}

.landing-contact {
    background: var(--lumo-base-color);
    border: 1px solid var(--lumo-contrast-10pct);
    border-radius: var(--lumo-border-radius-l);
    box-shadow: var(--lumo-box-shadow-xs);
    padding: clamp(var(--lumo-space-l), 4vw, var(--lumo-space-xl));
}

.landing-contact-heading {
    max-width: 48rem;
}

.landing-contact-heading h2 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    margin: 0;
}

.landing-contact-heading p {
    color: var(--lumo-secondary-text-color);
    line-height: 1.6;
    margin: var(--lumo-space-s) 0 0;
}

.landing-contact-grid {
    display: grid;
    gap: var(--lumo-space-l);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--lumo-space-xl);
}

.landing-contact-block {
    align-items: flex-start;
    display: flex;
    gap: var(--lumo-space-m);
    min-width: 0;
}

.landing-contact-icon {
    align-items: center;
    background: var(--lumo-primary-color-10pct);
    border-radius: var(--lumo-border-radius-m);
    color: var(--lumo-primary-text-color);
    display: flex;
    flex: 0 0 auto;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.landing-contact-values {
    display: flex;
    flex-direction: column;
    gap: var(--lumo-space-xs);
    line-height: 1.45;
    min-width: 0;
}

.landing-contact-label {
    font-weight: 700;
    margin-bottom: var(--lumo-space-xs);
}

.landing-contact-values a {
    color: var(--lumo-primary-text-color);
    overflow-wrap: anywhere;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}

@media (max-width: 780px) {
    .landing-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .landing-hero-copy {
        padding: var(--lumo-space-xl) var(--lumo-space-l);
    }

    .landing-hero-image,
    .landing-image-placeholder {
        min-height: 18rem;
    }

    .landing-contact-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    .landing-view {
        padding: var(--lumo-space-s);
    }

    .landing-catalog-tile {
        gap: var(--lumo-space-m);
        grid-template-columns: auto 1fr;
    }

    .landing-catalog-tile > vaadin-icon {
        display: none;
    }

    .landing-catalog-icon {
        height: 3rem;
        width: 3rem;
    }
}

html,
body {
    margin: 0;
    min-height: 100%;
}

vaadin-app-layout {
    min-height: 100dvh;
}

vaadin-app-layout::part(navbar) {
    background: var(--lumo-base-color);
    min-height: var(--lumo-size-m);
    padding-block: var(--lumo-space-xs);
    padding-inline: var(--lumo-space-m);
    border-bottom: 1px solid var(--lumo-shade-20pct);
}

.app-navbar-brand {
    align-items: center;
    display: flex;
    min-width: 0;
    justify-content: center;
}

.app-navbar-logo {
    display: block;
    height: auto;
    max-height: 50px;
    max-width: min(180px, 100%);
    object-fit: contain;
    width: auto;
}

.background-icon {
    background-repeat: no-repeat;
    min-height: 20px;
}

.login-background {
    background: url("/images/background.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.benefit-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 24 4 C 22.824219 4 21.691406 4.726563 20.9375 5.90625 C 20.910156 5.945313 20.867188 5.960938 20.84375 6 L 9.6875 21.3125 C 8.570313 22.878906 8 24.699219 8 26.59375 L 8 36 C 8 40.945313 12.054688 45 17 45 L 36 45 C 37.515625 45 38.769531 44.386719 39.625 43.5625 C 40.480469 42.738281 41 41.722656 41 40.6875 C 41 39.832031 40.800781 39.128906 40.59375 38.59375 C 41.566406 38.070313 43 37.078125 43 34.8125 C 43 33.386719 42.308594 32.453125 41.625 31.84375 C 42.308594 31.171875 43 30.183594 43 28.6875 C 43 26.445313 41.578125 25.527344 40.75 25.09375 C 40.835938 24.578125 41 23.820313 41 22.90625 C 41 20.949219 39.152344 19.109375 36.4375 19.09375 C 36.429688 19.09375 36.414063 19.09375 36.40625 19.09375 C 33.300781 19.003906 25.800781 19 23.9375 19 C 24.269531 18.253906 24.511719 17.734375 25.125 16.34375 C 26.058594 14.226563 27.039063 12.007813 27.34375 11.15625 C 27.34375 11.152344 27.34375 11.128906 27.34375 11.125 C 27.613281 10.410156 28 9.703125 28 8.59375 C 28 7.050781 27.398438 5.847656 26.59375 5.09375 C 25.789063 4.339844 24.851563 4 24 4 Z M 24 6 C 24.246094 6 24.796875 6.167969 25.21875 6.5625 C 25.640625 6.957031 26 7.539063 26 8.59375 C 26 9.273438 25.796875 9.558594 25.46875 10.4375 C 25.46875 10.449219 25.46875 10.457031 25.46875 10.46875 C 25.269531 11.027344 24.25 13.410156 23.3125 15.53125 C 22.375 17.652344 21.5 19.59375 21.5 19.59375 C 21.363281 19.902344 21.390625 20.257813 21.574219 20.542969 C 21.757813 20.824219 22.070313 20.996094 22.40625 21 C 22.40625 21 33.035156 20.996094 36.375 21.09375 C 36.386719 21.09375 36.394531 21.09375 36.40625 21.09375 C 38.269531 21.09375 39 22.273438 39 22.90625 C 39 23.707031 38.71875 25.4375 38.71875 25.4375 C 38.644531 25.914063 38.921875 26.371094 39.375 26.53125 C 39.375 26.53125 41 27.054688 41 28.6875 C 41 30.152344 39.53125 31.03125 39.53125 31.03125 C 39.1875 31.214844 38.980469 31.578125 39 31.96875 C 39.019531 32.355469 39.261719 32.699219 39.625 32.84375 C 39.625 32.84375 41 33.347656 41 34.8125 C 41 36.460938 38.9375 37.25 38.9375 37.25 C 38.640625 37.355469 38.410156 37.597656 38.320313 37.898438 C 38.226563 38.199219 38.28125 38.527344 38.46875 38.78125 C 38.46875 38.78125 39 39.5 39 40.6875 C 39 40.953125 38.769531 41.625 38.25 42.125 C 37.730469 42.625 36.984375 43 36 43 L 17 43 C 13.144531 43 10 39.855469 10 36 L 10 26.59375 C 10 25.097656 10.441406 23.730469 11.3125 22.5 C 11.316406 22.492188 11.308594 22.476563 11.3125 22.46875 L 22.5 7.09375 C 22.523438 7.0625 22.542969 7.03125 22.5625 7 C 23.011719 6.253906 23.617188 6 24 6 Z'/%3E%3C/svg%3E");
}

.technic-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 22.205078 2 A 1.0001 1.0001 0 0 0 21.21875 2.8378906 L 20.246094 8.7929688 C 19.076509 9.1331971 17.961243 9.5922728 16.910156 10.164062 L 11.996094 6.6542969 A 1.0001 1.0001 0 0 0 10.708984 6.7597656 L 6.8183594 10.646484 A 1.0001 1.0001 0 0 0 6.7070312 11.927734 L 10.164062 16.873047 C 9.583454 17.930271 9.1142098 19.051824 8.765625 20.232422 L 2.8359375 21.21875 A 1.0001 1.0001 0 0 0 2.0019531 22.205078 L 2.0019531 27.705078 A 1.0001 1.0001 0 0 0 2.8261719 28.691406 L 8.7597656 29.742188 C 9.1064607 30.920739 9.5727226 32.043065 10.154297 33.101562 L 6.6542969 37.998047 A 1.0001 1.0001 0 0 0 6.7597656 39.285156 L 10.648438 43.175781 A 1.0001 1.0001 0 0 0 11.927734 43.289062 L 16.882812 39.820312 C 17.936999 40.39548 19.054994 40.857928 20.228516 41.201172 L 21.21875 47.164062 A 1.0001 1.0001 0 0 0 22.205078 48 L 27.705078 48 A 1.0001 1.0001 0 0 0 28.691406 47.173828 L 29.751953 41.1875 C 30.920633 40.838997 32.033372 40.369697 33.082031 39.791016 L 38.070312 43.291016 A 1.0001 1.0001 0 0 0 39.351562 43.179688 L 43.240234 39.287109 A 1.0001 1.0001 0 0 0 43.34375 37.996094 L 39.787109 33.058594 C 40.355783 32.014958 40.813915 30.908875 41.154297 29.748047 L 47.171875 28.693359 A 1.0001 1.0001 0 0 0 47.998047 27.707031 L 47.998047 22.207031 A 1.0001 1.0001 0 0 0 47.160156 21.220703 L 41.152344 20.238281 C 40.80968 19.078827 40.350281 17.974723 39.78125 16.931641 L 43.289062 11.933594 A 1.0001 1.0001 0 0 0 43.177734 10.652344 L 39.287109 6.7636719 A 1.0001 1.0001 0 0 0 37.996094 6.6601562 L 33.072266 10.201172 C 32.023186 9.6248101 30.909713 9.1579916 29.738281 8.8125 L 28.691406 2.828125 A 1.0001 1.0001 0 0 0 27.705078 2 L 22.205078 2 z M 23.056641 4 L 26.865234 4 L 27.861328 9.6855469 A 1.0001 1.0001 0 0 0 28.603516 10.484375 C 30.066026 10.848832 31.439607 11.426549 32.693359 12.185547 A 1.0001 1.0001 0 0 0 33.794922 12.142578 L 38.474609 8.7792969 L 41.167969 11.472656 L 37.835938 16.220703 A 1.0001 1.0001 0 0 0 37.796875 17.310547 C 38.548366 18.561471 39.118333 19.926379 39.482422 21.380859 A 1.0001 1.0001 0 0 0 40.291016 22.125 L 45.998047 23.058594 L 45.998047 26.867188 L 40.279297 27.871094 A 1.0001 1.0001 0 0 0 39.482422 28.617188 C 39.122545 30.069817 38.552234 31.434687 37.800781 32.685547 A 1.0001 1.0001 0 0 0 37.845703 33.785156 L 41.224609 38.474609 L 38.53125 41.169922 L 33.791016 37.84375 A 1.0001 1.0001 0 0 0 32.697266 37.808594 C 31.44975 38.567585 30.074755 39.148028 28.617188 39.517578 A 1.0001 1.0001 0 0 0 27.876953 40.3125 L 26.867188 46 L 23.052734 46 L 22.111328 40.337891 A 1.0001 1.0001 0 0 0 21.365234 39.53125 C 19.90185 39.170557 18.522094 38.59371 17.259766 37.835938 A 1.0001 1.0001 0 0 0 16.171875 37.875 L 11.46875 41.169922 L 8.7734375 38.470703 L 12.097656 33.824219 A 1.0001 1.0001 0 0 0 12.138672 32.724609 C 11.372652 31.458855 10.793319 30.079213 10.427734 28.609375 A 1.0001 1.0001 0 0 0 9.6328125 27.867188 L 4.0019531 26.867188 L 4.0019531 23.052734 L 9.6289062 22.117188 A 1.0001 1.0001 0 0 0 10.435547 21.373047 C 10.804273 19.898143 11.383325 18.518729 12.146484 17.255859 A 1.0001 1.0001 0 0 0 12.111328 16.164062 L 8.8261719 11.46875 L 11.523438 8.7734375 L 16.185547 12.105469 A 1.0001 1.0001 0 0 0 17.28125 12.148438 C 18.536908 11.394293 19.919867 10.822081 21.384766 10.462891 A 1.0001 1.0001 0 0 0 22.132812 9.6523438 L 23.056641 4 z M 25 17 C 20.593567 17 17 20.593567 17 25 C 17 29.406433 20.593567 33 25 33 C 29.406433 33 33 29.406433 33 25 C 33 20.593567 29.406433 17 25 17 z M 25 19 C 28.325553 19 31 21.674447 31 25 C 31 28.325553 28.325553 31 25 31 C 21.674447 31 19 28.325553 19 25 C 19 21.674447 21.674447 19 25 19 z'/%3E%3C/svg%3E");
}

.flex-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 38.5 -0.09375 C 38.203125 -0.0859375 37.894531 -0.0664063 37.59375 -0.03125 C 36.394531 0.105469 35.15625 0.433594 33.96875 0.875 C 31.59375 1.757813 29.40625 3.09375 28 4.5 C 26.480469 6.019531 25.734375 7.875 25.75 9.78125 C 25.761719 11.429688 26.378906 13.09375 27.28125 14.6875 L 25 17 C 24.703125 17.242188 24.566406 17.628906 24.652344 18.003906 C 24.738281 18.375 25.03125 18.667969 25.402344 18.753906 C 25.777344 18.839844 26.164063 18.703125 26.40625 18.40625 L 29.21875 15.59375 C 29.550781 15.257813 29.601563 14.738281 29.34375 14.34375 C 28.320313 12.761719 27.761719 11.199219 27.75 9.78125 C 27.738281 8.363281 28.226563 7.085938 29.40625 5.90625 C 30.5 4.8125 32.5625 3.542969 34.6875 2.75 C 36.023438 2.253906 37.296875 2.066406 38.46875 2.03125 L 34.6875 5.78125 C 34.675781 5.800781 34.664063 5.824219 34.65625 5.84375 C 33.628906 7.015625 33.582031 8.800781 34.6875 9.90625 L 40 15.21875 C 40.011719 15.230469 40.019531 15.238281 40.03125 15.25 C 41.203125 16.277344 42.988281 16.324219 44.09375 15.21875 L 47.875 11.4375 C 47.84375 12.628906 47.65625 13.914063 47.15625 15.25 C 46.367188 17.363281 45.097656 19.402344 44 20.5 C 42.820313 21.679688 41.566406 22.113281 40.15625 22.09375 C 38.746094 22.074219 37.148438 21.519531 35.5 20.53125 C 35.105469 20.296875 34.605469 20.363281 34.28125 20.6875 L 32.6875 22.28125 C 32.289063 22.667969 32.285156 23.304688 32.671875 23.703125 C 33.058594 24.101563 33.695313 24.105469 34.09375 23.71875 L 35.21875 22.59375 C 36.84375 23.464844 38.476563 24.070313 40.125 24.09375 C 42.015625 24.121094 43.886719 23.425781 45.40625 21.90625 C 46.808594 20.503906 48.148438 18.332031 49.03125 15.96875 C 49.914063 13.605469 50.378906 11.042969 49.65625 8.875 C 49.542969 8.546875 49.269531 8.304688 48.933594 8.226563 C 48.59375 8.152344 48.242188 8.253906 48 8.5 L 42.6875 13.78125 C 42.40625 14.0625 41.828125 14.101563 41.40625 13.78125 C 41.386719 13.765625 41.363281 13.765625 41.34375 13.75 L 36.09375 8.5 C 35.796875 8.203125 35.78125 7.582031 36.15625 7.15625 L 41.40625 1.90625 C 41.652344 1.664063 41.753906 1.3125 41.679688 0.972656 C 41.601563 0.636719 41.359375 0.363281 41.03125 0.25 C 40.230469 -0.0234375 39.386719 -0.121094 38.5 -0.09375 Z M 3.34375 0 C 3.132813 0.03125 2.933594 0.128906 2.78125 0.28125 L 0.28125 2.78125 C -0.0429688 3.105469 -0.109375 3.605469 0.125 4 L 4.34375 11.3125 C 4.554688 11.65625 4.945313 11.839844 5.34375 11.78125 L 7.53125 11.4375 L 21.09375 25 L 20.59375 25.5 C 19.488281 26.605469 19.488281 28.394531 20.59375 29.5 L 21.28125 30.21875 C 22.078125 31.015625 23.175781 31.011719 24.15625 30.6875 L 25.84375 32.34375 C 25.730469 33.691406 26.125 35.03125 27.09375 36 L 39.28125 48.21875 C 41.75 50.6875 45.75 50.6875 48.21875 48.21875 C 48.21875 48.207031 48.21875 48.199219 48.21875 48.1875 C 50.589844 45.695313 50.621094 41.683594 48.21875 39.28125 L 36 27.09375 C 34.992188 26.085938 33.652344 25.773438 32.34375 25.84375 L 30.6875 24.15625 C 31.011719 23.175781 31.015625 22.078125 30.21875 21.28125 L 29.5 20.59375 C 28.949219 20.042969 28.226563 19.75 27.5 19.75 C 26.773438 19.75 26.050781 20.042969 25.5 20.59375 L 25 21.09375 L 11.4375 7.53125 L 11.78125 5.34375 C 11.839844 4.945313 11.65625 4.554688 11.3125 4.34375 L 4 0.125 C 3.828125 0.0273438 3.632813 -0.015625 3.4375 0 C 3.40625 0 3.375 0 3.34375 0 Z M 3.6875 2.25 L 9.71875 5.71875 L 9.40625 7.75 C 9.363281 8.058594 9.46875 8.371094 9.6875 8.59375 L 23.59375 22.5 L 22.5 23.59375 L 8.59375 9.6875 C 8.371094 9.46875 8.058594 9.363281 7.75 9.40625 L 5.71875 9.71875 L 2.25 3.6875 Z M 27.5 21.78125 C 27.722656 21.78125 27.945313 21.851563 28.09375 22 L 28.78125 22.71875 C 29.109375 23.046875 29.105469 23.535156 28.84375 23.84375 C 28.496094 24.246094 28.523438 24.851563 28.90625 25.21875 L 31.1875 27.5 C 31.417969 27.730469 31.742188 27.835938 32.0625 27.78125 C 32.988281 27.628906 33.957031 27.863281 34.59375 28.5 L 46.78125 40.71875 C 48.375 42.3125 48.390625 45.070313 46.78125 46.78125 C 45.050781 48.511719 42.449219 48.511719 40.71875 46.78125 L 28.5 34.59375 C 27.835938 33.929688 27.574219 32.988281 27.78125 32.15625 C 27.871094 31.804688 27.761719 31.4375 27.5 31.1875 L 25.21875 28.90625 C 24.851563 28.523438 24.246094 28.496094 23.84375 28.84375 C 23.535156 29.105469 23.046875 29.109375 22.71875 28.78125 L 22 28.09375 C 21.703125 27.796875 21.703125 27.203125 22 26.90625 L 26.90625 22 C 27.054688 21.851563 27.277344 21.78125 27.5 21.78125 Z M 17.6875 24.78125 C 17.460938 24.8125 17.25 24.925781 17.09375 25.09375 L 12.34375 29.84375 C 11.664063 29.710938 10.996094 29.59375 10.3125 29.59375 C 4.675781 29.59375 0.09375 34.175781 0.09375 39.8125 C 0.09375 45.449219 4.675781 50 10.3125 50 C 15.949219 50 20.5 45.449219 20.5 39.8125 C 20.5 39.082031 20.335938 38.359375 20.15625 37.65625 L 23.59375 34.21875 C 23.992188 33.832031 23.996094 33.195313 23.609375 32.796875 C 23.222656 32.398438 22.585938 32.394531 22.1875 32.78125 L 18.40625 36.59375 C 18.121094 36.867188 18.023438 37.285156 18.15625 37.65625 C 18.40625 38.320313 18.5 38.988281 18.5 39.8125 C 18.5 44.375 14.875 48 10.3125 48 C 5.75 48 2.09375 44.375 2.09375 39.8125 C 2.09375 35.25 5.75 31.59375 10.3125 31.59375 C 11.027344 31.59375 11.746094 31.695313 12.46875 31.875 C 12.808594 31.949219 13.164063 31.84375 13.40625 31.59375 L 18.5 26.5 C 18.796875 26.214844 18.886719 25.773438 18.726563 25.394531 C 18.570313 25.015625 18.191406 24.773438 17.78125 24.78125 C 17.75 24.78125 17.71875 24.78125 17.6875 24.78125 Z M 31.71875 30.28125 L 30.28125 31.71875 L 42.28125 43.71875 L 43.71875 42.28125 Z M 11.375 34 C 11.320313 34.007813 11.269531 34.015625 11.21875 34.03125 L 6.53125 35.34375 C 6.199219 35.4375 5.9375 35.699219 5.84375 36.03125 L 4.53125 40.71875 C 4.421875 41.074219 4.519531 41.457031 4.78125 41.71875 L 8.28125 45.21875 C 8.535156 45.46875 8.90625 45.566406 9.25 45.46875 L 14.0625 44.15625 C 14.414063 44.066406 14.691406 43.789063 14.78125 43.4375 L 15.96875 38.75 C 16.066406 38.40625 15.96875 38.035156 15.71875 37.78125 L 12.21875 34.28125 C 11.996094 34.0625 11.683594 33.957031 11.375 34 Z M 11.1875 36.125 L 13.875 38.8125 L 12.96875 42.40625 L 9.3125 43.375 L 6.625 40.6875 L 7.59375 37.09375 Z'/%3E%3C/svg%3E");
}

.quality-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 25 0 C 22.546875 0 20.476563 1.355469 17.40625 2.9375 C 14.335938 4.519531 10.214844 6.429688 3.78125 7.84375 L 3 8.03125 L 3 8.8125 C 3 24.132813 8.371094 34.371094 13.75 40.71875 C 19.128906 47.066406 24.59375 49.59375 24.59375 49.59375 L 25.03125 49.8125 L 25.46875 49.59375 C 25.46875 49.59375 47 38.46875 47 8.8125 L 47 8.03125 L 46.21875 7.84375 C 39.785156 6.429688 35.664063 4.519531 32.59375 2.9375 C 29.523438 1.355469 27.453125 0 25 0 Z M 25 2 C 26.644531 2 28.550781 3.105469 31.6875 4.71875 C 34.667969 6.25 38.859375 8.128906 44.9375 9.5625 C 44.570313 36.679688 26.253906 46.851563 24.96875 47.53125 C 24.347656 47.230469 20.019531 45.066406 15.25 39.4375 C 10.222656 33.503906 5.246094 23.960938 5.0625 9.5625 C 11.140625 8.128906 15.332031 6.25 18.3125 4.71875 C 21.449219 3.105469 23.355469 2 25 2 Z M 32.6875 14.625 L 32.15625 15.46875 L 24.03125 28.09375 L 18.65625 23.25 L 17.9375 22.59375 L 16.59375 24.0625 L 17.34375 24.75 L 23.53125 30.375 L 24.40625 31.15625 L 25.0625 30.15625 L 33.84375 16.53125 L 34.375 15.6875 Z'/%3E%3C/svg%3E");
}

.attributes-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 8.90625 4.96875 C 8.863281 4.976563 8.820313 4.988281 8.78125 5 L 1 5 C 0.96875 5 0.9375 5 0.90625 5 C 0.390625 5.046875 -0.00390625 5.480469 0 6 L 0 13.53125 C -0.132813 13.808594 -0.132813 14.128906 0 14.40625 L 0 21.6875 C -0.0585938 21.882813 -0.0585938 22.085938 0 22.28125 L 0 29.53125 C -0.132813 29.808594 -0.132813 30.128906 0 30.40625 L 0 37.53125 C -0.132813 37.808594 -0.132813 38.128906 0 38.40625 L 0 46 C 0 46.550781 0.449219 47 1 47 L 49 47 C 49.550781 47 50 46.550781 50 46 L 50 38.1875 C 50.027344 38.054688 50.027344 37.914063 50 37.78125 L 50 30.1875 C 50.027344 30.054688 50.027344 29.914063 50 29.78125 L 50 22.1875 C 50.027344 22.054688 50.027344 21.914063 50 21.78125 L 50 14.1875 C 50.027344 14.054688 50.027344 13.914063 50 13.78125 L 50 6 C 50 5.449219 49.550781 5 49 5 L 9.1875 5 C 9.097656 4.976563 9 4.964844 8.90625 4.96875 Z M 2 7 L 8 7 L 8 13 L 2 13 Z M 10 7 L 48 7 L 48 13 L 10 13 Z M 2 15 L 8 15 L 8 21 L 2 21 Z M 10 15 L 48 15 L 48 21 L 10 21 Z M 2 23 L 8 23 L 8 29 L 2 29 Z M 10 23 L 48 23 L 48 29 L 10 29 Z M 2 31 L 8 31 L 8 37 L 2 37 Z M 10 31 L 48 31 L 48 37 L 10 37 Z M 2 39 L 8 39 L 8 45 L 2 45 Z M 10 39 L 48 39 L 48 45 L 10 45 Z'/%3E%3C/svg%3E");
}

.youtube-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 24.402344 9 C 17.800781 9 11.601563 9.5 8.300781 10.199219 C 6.101563 10.699219 4.199219 12.199219 3.800781 14.5 C 3.402344 16.898438 3 20.5 3 25 C 3 29.5 3.398438 33 3.898438 35.5 C 4.300781 37.699219 6.199219 39.300781 8.398438 39.800781 C 11.902344 40.5 17.898438 41 24.5 41 C 31.101563 41 37.097656 40.5 40.597656 39.800781 C 42.800781 39.300781 44.699219 37.800781 45.097656 35.5 C 45.5 33 46 29.402344 46.097656 24.902344 C 46.097656 20.402344 45.597656 16.800781 45.097656 14.300781 C 44.699219 12.101563 42.800781 10.5 40.597656 10 C 37.097656 9.5 31 9 24.402344 9 Z M 24.402344 11 C 31.601563 11 37.398438 11.597656 40.199219 12.097656 C 41.699219 12.5 42.898438 13.5 43.097656 14.800781 C 43.699219 18 44.097656 21.402344 44.097656 24.902344 C 44 29.199219 43.5 32.699219 43.097656 35.199219 C 42.800781 37.097656 40.800781 37.699219 40.199219 37.902344 C 36.597656 38.601563 30.597656 39.097656 24.597656 39.097656 C 18.597656 39.097656 12.5 38.699219 9 37.902344 C 7.5 37.5 6.300781 36.5 6.101563 35.199219 C 5.300781 32.398438 5 28.699219 5 25 C 5 20.398438 5.402344 17 5.800781 14.902344 C 6.101563 13 8.199219 12.398438 8.699219 12.199219 C 12 11.5 18.101563 11 24.402344 11 Z M 19 17 L 19 33 L 33 25 Z M 21 20.402344 L 29 25 L 21 29.597656 Z'/%3E%3C/svg%3E");
}

.pdf-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M 7 2 L 7 48 L 43 48 L 43 15.410156 L 29.183594 2 Z M 9 4 L 28 4 L 28 17 L 41 17 L 41 46 L 9 46 Z M 30 5.578125 L 39.707031 15 L 30 15 Z M 23.769531 19.875 C 23.019531 19.875 22.242188 20.300781 21.902344 20.933594 C 21.558594 21.5625 21.535156 22.238281 21.621094 22.941406 C 21.753906 24.050781 22.257813 25.304688 22.910156 26.589844 C 22.585938 27.683594 22.429688 28.636719 21.941406 29.804688 C 21.320313 31.292969 20.558594 32.472656 19.828125 33.710938 C 18.875 34.15625 17.671875 34.554688 16.96875 35.015625 C 16.179688 35.535156 15.554688 36 15.1875 36.738281 C 15.007813 37.105469 14.914063 37.628906 15.09375 38.101563 C 15.273438 38.574219 15.648438 38.882813 16.035156 39.082031 C 16.855469 39.515625 17.800781 39.246094 18.484375 38.785156 C 19.167969 38.324219 19.777344 37.648438 20.390625 36.824219 C 20.699219 36.40625 20.945313 35.730469 21.25 35.242188 C 22.230469 34.808594 22.925781 34.359375 24.039063 33.976563 C 25.542969 33.457031 26.882813 33.238281 28.289063 32.933594 C 29.464844 33.726563 30.714844 34.34375 32.082031 34.34375 C 32.855469 34.34375 33.453125 34.308594 34.035156 33.992188 C 34.621094 33.675781 34.972656 32.914063 34.972656 32.332031 C 34.972656 31.859375 34.765625 31.355469 34.4375 31.03125 C 34.105469 30.707031 33.714844 30.535156 33.3125 30.425781 C 32.515625 30.210938 31.609375 30.226563 30.566406 30.332031 C 30.015625 30.390625 29.277344 30.683594 28.664063 30.796875 C 28.582031 30.734375 28.503906 30.707031 28.421875 30.636719 C 27.175781 29.5625 26.007813 28.078125 25.140625 26.601563 C 25.089844 26.511719 25.097656 26.449219 25.046875 26.359375 C 25.257813 25.570313 25.671875 24.652344 25.765625 23.960938 C 25.894531 23.003906 25.921875 22.167969 25.691406 21.402344 C 25.574219 21.019531 25.378906 20.632813 25.039063 20.335938 C 24.699219 20.039063 24.21875 19.875 23.769531 19.875 Z M 23.6875 21.867188 C 23.699219 21.867188 23.71875 21.875 23.734375 21.878906 C 23.738281 21.886719 23.746094 21.882813 23.777344 21.980469 C 23.832031 22.164063 23.800781 22.683594 23.78125 23.144531 C 23.757813 23.027344 23.621094 22.808594 23.609375 22.703125 C 23.550781 22.238281 23.625 21.941406 23.65625 21.890625 C 23.664063 21.871094 23.675781 21.867188 23.6875 21.867188 Z M 24.292969 28.882813 C 24.910156 29.769531 25.59375 30.597656 26.359375 31.359375 C 25.335938 31.632813 24.417969 31.730469 23.386719 32.085938 C 23.167969 32.160156 23.042969 32.265625 22.828125 32.34375 C 23.132813 31.707031 23.511719 31.234375 23.785156 30.578125 C 24.035156 29.980469 24.078125 29.476563 24.292969 28.882813 Z'/%3E%3C/svg%3E");
}

/* Public B2B catalog */
.catalog-view {
    background: linear-gradient(180deg, var(--lumo-contrast-5pct), transparent 24rem);
    box-sizing: border-box;
    min-height: 100%;
}

.catalog-card-grid {
    margin-inline: auto;
    max-width: 1440px;
    width: calc(100% - 2 * var(--lumo-space-xl));
}

.catalog-view {
    padding-block: var(--lumo-space-m) calc(6rem + env(safe-area-inset-bottom, 0px));
}

.app-drawer-navigation {
    flex: 1;
    min-height: 0;
}

.app-drawer-language-switcher {
    border-top: 1px solid var(--lumo-contrast-10pct);
    box-sizing: border-box;
    padding: var(--lumo-space-m);
    width: 100%;
}

.catalog-language-flag {
    height: 24px;
    object-fit: contain;
    width: 32px;
}

.catalog-language-option {
    min-width: 0;
}

.catalog-card-grid {
    box-sizing: border-box;
    display: grid;
    gap: var(--lumo-space-m);
    grid-template-columns: minmax(0, 1fr);
    max-width: 1180px;
}

.catalog-bottom-bar {
    background: linear-gradient(180deg, transparent, var(--lumo-base-color) 35%);
    bottom: 0;
    box-sizing: border-box;
    inset-inline-end: 0;
    inset-inline-start: var(--vaadin-app-layout-drawer-offset-left, 0);
    padding: var(--lumo-space-l) max(var(--lumo-space-m), env(safe-area-inset-left, 0px))
        calc(var(--lumo-space-m) + env(safe-area-inset-bottom, 0px))
        max(var(--lumo-space-m), env(safe-area-inset-right, 0px));
    position: fixed;
    transition: inset-inline-start var(--vaadin-app-layout-transition, 200ms);
    z-index: 1;
}

.catalog-bottom-action {
    margin-inline: auto;
    max-width: 34rem;
    position: relative;
}

.catalog-bottom-filter-button {
    box-shadow: var(--lumo-box-shadow-m);
    margin: 0;
    padding-inline: 3rem;
    width: 100%;
}

.catalog-active-filter-badge {
    pointer-events: none;
    position: absolute;
    right: var(--lumo-space-m);
    top: 50%;
    transform: translateY(-50%);
}

vaadin-dialog-overlay.catalog-filter-sheet-overlay::part(overlay) {
    border-radius: var(--lumo-border-radius-l) var(--lumo-border-radius-l) 0 0;
    bottom: 0;
    box-sizing: border-box;
    left: 0;
    margin: auto;
    max-height: 85dvh;
    max-width: 44rem;
    position: absolute;
    right: 0;
    top: auto;
    width: 100%;
}

vaadin-dialog-overlay.catalog-filter-sheet-overlay::part(content) {
    overflow-y: auto;
    padding-inline: var(--lumo-space-l);
}

.catalog-filter-sheet-form {
    padding-block: var(--lumo-space-s);
}

.catalog-card-trigger {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--lumo-border-radius-l);
    color: inherit;
    cursor: pointer;
    display: block;
    font: inherit;
    min-width: 0;
    outline: none;
    padding: 0;
    text-align: start;
    text-decoration: none;
    width: 100%;
}

.catalog-card {
    background: var(--lumo-base-color);
    border: 1px solid var(--lumo-contrast-10pct);
    border-radius: var(--lumo-border-radius-l);
    box-shadow: var(--lumo-box-shadow-xs);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.catalog-card-trigger:hover .catalog-card,
.catalog-card-trigger:focus-visible .catalog-card {
    border-color: var(--lumo-primary-color-50pct);
    box-shadow: var(--lumo-box-shadow-m);
    transform: translateY(-3px);
}

.catalog-card-trigger:focus-visible .catalog-card {
    outline: 2px solid var(--lumo-primary-color);
    outline-offset: 2px;
}

.catalog-card-media {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: var(--lumo-contrast-5pct);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.catalog-card-media img,
.catalog-image-slider img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.catalog-card-placeholder {
    align-items: center;
    color: var(--lumo-contrast-30pct);
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.catalog-card-placeholder vaadin-icon {
    height: 4rem;
    width: 4rem;
}

.catalog-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: var(--lumo-space-m);
}

.catalog-card-number {
    color: var(--lumo-primary-text-color);
    font-size: var(--lumo-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.catalog-card-name {
    font-size: var(--lumo-font-size-l);
    font-weight: 700;
    line-height: 1.25;
    margin-top: var(--lumo-space-s);
}

.catalog-card-title {
    color: var(--lumo-secondary-text-color);
    display: -webkit-box;
    font-size: var(--lumo-font-size-s);
    line-height: 1.45;
    margin-top: var(--lumo-space-xs);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.catalog-card-meta {
    display: flex;
    flex-direction: column;
    gap: var(--lumo-space-xs);
    margin-top: auto;
    padding-top: var(--lumo-space-l);
}

.catalog-card-meta-row {
    align-items: center;
    color: var(--lumo-secondary-text-color);
    display: flex;
    font-size: var(--lumo-font-size-xs);
    gap: var(--lumo-space-xs);
}

.catalog-card-meta-row vaadin-icon {
    height: var(--lumo-icon-size-s);
    width: var(--lumo-icon-size-s);
}

.catalog-empty-state {
    align-items: center;
    color: var(--lumo-secondary-text-color);
    display: flex;
    flex-direction: column;
    gap: var(--lumo-space-m);
    grid-column: 1 / -1;
    justify-content: center;
    min-height: 18rem;
    text-align: center;
}

.catalog-detail {
    box-sizing: border-box;
    gap: var(--lumo-space-s);
}

.catalog-image-slider {
    aspect-ratio: 4 / 3;
    background: var(--lumo-contrast-5pct);
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.catalog-image-slider-viewport {
    height: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
}

.catalog-image-slider-viewport::-webkit-scrollbar {
    display: none;
}

.catalog-image-slider-track {
    display: flex;
    height: 100%;
}

.catalog-image-slider-slide {
    align-items: center;
    display: flex;
    flex: 0 0 100%;
    justify-content: center;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.catalog-image-slider-arrow {
    background: color-mix(in srgb, var(--lumo-base-color) 88%, transparent);
    border-radius: 50%;
    box-shadow: var(--lumo-box-shadow-s);
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.catalog-image-slider-arrow[disabled] {
    opacity: 0.35;
}

.catalog-image-slider-previous {
    left: var(--lumo-space-s);
}

.catalog-image-slider-next {
    right: var(--lumo-space-s);
}

.catalog-image-slider-dots {
    align-items: center;
    background: color-mix(in srgb, var(--lumo-base-color) 82%, transparent);
    border-radius: var(--lumo-border-radius-l);
    bottom: var(--lumo-space-s);
    display: flex;
    gap: 0;
    left: 50%;
    padding: 0 var(--lumo-space-xs);
    position: absolute;
    transform: translateX(-50%);
    z-index: 1;
}

.catalog-image-slider-dot {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    height: 2rem;
    justify-content: center;
    padding: 0;
    width: 2rem;
}

.catalog-image-slider-dot::before {
    background: var(--lumo-contrast-40pct);
    border-radius: 50%;
    content: "";
    height: 0.5rem;
    transition: background-color 160ms ease, transform 160ms ease;
    width: 0.5rem;
}

.catalog-image-slider-dot.active::before {
    background: var(--lumo-primary-color);
    transform: scale(1.35);
}

.catalog-image-slider-dot:focus-visible {
    outline: 2px solid var(--lumo-primary-color);
    outline-offset: -4px;
}

.catalog-detail-content {

}

.catalog-detail-content h1 {
    font-size: clamp(1.8rem, 3vw, 3rem);
    letter-spacing: -0.03em;
    margin: var(--lumo-space-s) 0;
}

.catalog-detail-title {
    color: var(--lumo-secondary-text-color);
    font-size: var(--lumo-font-size-l);
    line-height: 1.5;
}

.catalog-detail-facts {
    border-top: 1px solid var(--lumo-contrast-10pct);
    display: grid;
    gap: var(--lumo-space-m);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: var(--lumo-space-xl);
    padding-top: var(--lumo-space-l);
}

.catalog-detail-facts > div {
    display: flex;
    flex-direction: column;
    gap: var(--lumo-space-xs);
}

.catalog-detail-fact-label {
    color: var(--lumo-secondary-text-color);
    font-size: var(--lumo-font-size-xs);
    font-weight: 600;
    text-transform: uppercase;
}

.catalog-detail-prototype {
    background: var(--lumo-primary-color-10pct);
    border-radius: var(--lumo-border-radius-m);
    color: var(--lumo-primary-text-color);
    margin-top: var(--lumo-space-xl);
    padding: var(--lumo-space-m);
}

.catalog-overlay-panel {
    inset: 0;
    pointer-events: none;
    position: fixed;
    transition: visibility 0s linear 240ms;
    visibility: hidden;
    z-index: 1000;
}

.catalog-overlay-panel.opened {
    pointer-events: auto;
    transition-delay: 0s;
    visibility: visible;
}

.catalog-overlay-panel-backdrop {
    background: var(--lumo-shade-40pct);
    inset: 0;
    opacity: 0;
    position: absolute;
    touch-action: none;
    transition: opacity 240ms ease;
}

.catalog-overlay-panel.opened .catalog-overlay-panel-backdrop {
    opacity: 1;
}

.catalog-overlay-panel-surface {
    background: var(--lumo-base-color);
    box-shadow: var(--lumo-box-shadow-xl);
    display: flex;
    flex-direction: column;
    height: 100dvh;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform 240ms ease;
    width: 50vw;
}

.catalog-overlay-panel.opened .catalog-overlay-panel-surface {
    transform: translateX(0);
}

.catalog-overlay-panel-header {
    align-items: center;
    background: var(--lumo-base-color);
    border-bottom: 1px solid var(--lumo-contrast-10pct);
    box-sizing: border-box;
    display: flex;
    flex: none;
    justify-content: space-between;
    min-height: 4.5rem;
    padding: var(--lumo-space-s) max(var(--lumo-space-m), env(safe-area-inset-right, 0px))
        var(--lumo-space-s) max(var(--lumo-space-m), env(safe-area-inset-left, 0px));
}

.catalog-overlay-panel-title {
    flex: 1;
    font-size: var(--lumo-font-size-l);
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-overlay-panel-content {
    background: linear-gradient(180deg, var(--lumo-contrast-5pct), transparent 24rem);
    box-sizing: border-box;
    flex: 1;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--lumo-space-m);
}

.catalog-overlay-panel-header-end,
.catalog-overlay-panel-header-actions,
.catalog-product-overlay-navigation {
    align-items: center;
    display: flex;
}

.catalog-overlay-panel-header-end {
    flex: none;
    gap: var(--lumo-space-m);
}

.catalog-product-overlay-navigation {
    background: var(--lumo-contrast-5pct);
    border-radius: var(--lumo-border-radius-l);
    gap: var(--lumo-space-xs);
    padding-inline: var(--lumo-space-xs);
}

.catalog-product-position {
    color: var(--lumo-secondary-text-color);
    font-size: var(--lumo-font-size-s);
    font-variant-numeric: tabular-nums;
    min-width: 3.5rem;
    text-align: center;
}

.catalog-overlay-panel-close {
    border-radius: 50%;
}

.catalog-overlay-panel-content > .catalog-detail {
    margin: 0 auto;
    max-width: 1440px;
    min-height: min(72vh, 54rem);
    width: 100%;
}

@media (max-width: 700px) {
    .catalog-card-grid {
        width: calc(100% - 2 * var(--lumo-space-m));
    }

    .catalog-overlay-panel-surface {
        width: 100vw;
    }

    .catalog-detail {
        grid-template-columns: 1fr;
    }

    .catalog-detail > .catalog-image-slider,
    .catalog-detail > .catalog-detail-content {
        flex-basis: 100% !important;
    }

    .catalog-detail-facts {
        grid-template-columns: 1fr;
    }

    .catalog-image-slider-arrow {
        min-height: 2.75rem;
        min-width: 2.75rem;
    }

    .catalog-image-slider-dot {
        height: 2.75rem;
        width: 2.75rem;
    }

    .catalog-overlay-panel-header {
        min-height: 4rem;
        padding-inline: var(--lumo-space-s);
    }

    .catalog-overlay-panel-title {
        font-size: var(--lumo-font-size-m);
    }

    .catalog-overlay-panel-header-end {
        gap: var(--lumo-space-xs);
    }

    .catalog-overlay-panel-content {
        padding: var(--lumo-space-m);
    }

    .catalog-overlay-panel-content > .catalog-detail {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-overlay-panel,
    .catalog-overlay-panel-backdrop,
    .catalog-overlay-panel-surface {
        transition-duration: 0s;
        transition-delay: 0s;
    }
}

@media (min-width: 600px) {
    .catalog-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1000px) {
    .catalog-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
