html,
body {
    overflow-x: hidden;
}

.product-detail-page,
.product-list-page {
    background: #ffffff;
    color: #183d35;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}

.product-detail-page *,
.product-list-page * {
    box-sizing: border-box;
}

.product-detail-page #border_wrapper:empty,
.product-list-page #border_wrapper:empty,
.product-page__tabs:empty,
.product-page__tags:empty {
    display: none;
}

.product-detail-page #border_wrapper,
.product-list-page #border_wrapper {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
}

.rslides_container {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
}

.rslides {
    margin: 0;
    padding: 0;
}

.rslides img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 0;
}

.no-product {
    width: min(calc(100% - 32px), 1320px);
    margin: 72px auto 96px;
    color: #183d35;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
}

.product-list-intro {
    width: 100%;
    margin: 0;
    padding: clamp(42px, 6vw, 76px) 20px;
    border-top: 1px solid #e8e0d3;
    border-bottom: 1px solid #eee7dc;
    background: #fbf8f3;
    color: #183d35;
    text-align: center;
}

.product-list-intro > * {
    width: min(100%, 820px);
    margin-right: auto;
    margin-left: auto;
}

.product-list-intro h1,
.product-list-intro h2 {
    margin-top: 0;
    margin-bottom: 18px;
    color: #183d35;
    font-family: inherit;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.12;
}

.product-list-intro p {
    margin-top: 0;
    margin-bottom: 0;
    color: #6d655d;
    font-size: clamp(1rem, 1.6vw, 1.1rem);
    line-height: 1.7;
}

.centerprodukt {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 22px;
    width: min(calc(100% - 40px), 1180px);
    height: auto;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}

.centerprodukt.products-per-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.centerprodukt.products-per-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.centerprodukt.products-per-row-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.centerprodukt.products-per-row-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.centerprodukt.products-per-row-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }


.centerprodukt:empty {
    display: none;
}

.centerprodukt:not(:empty) {
    margin-top: clamp(36px, 5vw, 58px);
    margin-bottom: 80px;
}

.product-card {
    min-width: 0;
    height: 100%;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}

.product-card__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid #e6ded1;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 12px 34px rgba(34, 57, 50, 0.08);
}

.product-image-card {
    width: 100%;
    min-width: 0;
    padding: 10px 10px 0;
}

.product-image-wrapper {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: #f4f0e8;
}

.product-card__image-link {
    aspect-ratio: 1 / 1;
}

.product-image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: inherit;
    object-fit: cover;
}

.product-card .product-image {
    transition: opacity 240ms ease;
}

.product-card .product-image--secondary {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.product-list-page .product-card .product-image-wrapper--has-secondary:hover .product-image--primary {
    opacity: 0;
}

.product-list-page .product-card .product-image-wrapper--has-secondary:hover .product-image--secondary {
    opacity: 1;
}

.product-image-overlay {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    width: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    object-fit: contain;
    pointer-events: none;
}

.product-image-overlay--list {
    height: clamp(64px, 6vw, 88px);
}

.product-image-overlay--detail {
    height: clamp(72px, 7vw, 100px);
}

.product-image-overlay--admin {
    height: 68px;
}

.product-card__content,
.product-card__wide-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
    color: #292c2a;
}

.product-card__title-link {
    color: inherit;
    text-decoration: none;
}

.product-card__title {
    margin: 0 0 14px;
    color: #183d35;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: clamp(1.15rem, 1.7vw, 1.35rem);
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.28;
}

.product-card__title-link:hover .product-card__title {
    color: #285f53;
}

.product-card__pricing {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 8px;
    margin-bottom: 12px;
}

.product-card__price {
    color: #183d35;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;
}

.product-card__tax {
    color: #706961;
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    font-size: 0.9rem;
}

.product-card__old-price {
    width: 100%;
    color: #765d4c;
    font-size: 0.92rem;
    text-decoration: line-through;
}

.product-card__countdown {
    display: block;
    width: 100%;
    color: #765d4c;
    font-size: 0.86rem;
    font-weight: 650;
}

.product-card__stock,
.product-card__meta {
    display: none;
}

.product-card__stock-label {
    font-weight: 600;
}

.product-card__stock-status {
    font-weight: 700;
}

.product-card__stock-status--in {
    color: #217549;
}

.product-card__stock-status--low,
.product-card__stock-status--order {
    color: #9a681e;
}

.product-card__stock-status--out {
    color: #a23842;
}

.product-card__meta,
.product-card__variants {
    color: #5e5b56;
    font-size: 0.94rem;
    line-height: 1.55;
}

.product-card__variants {
    margin-top: 6px;
}

.product-card__variant-link {
    color: #285f53;
    font-weight: 650;
}

.product-card__actions {
    width: 100%;
    margin-top: auto;
    padding-top: 22px;
}

.product-card__buy-form {
    width: 100%;
    margin: 0;
}

.product-card .product-card__buy-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 13px 22px;
    border: 1px solid #183d35;
    border-radius: 8px;
    background: #183d35;
    box-shadow: none;
    color: #ffffff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
}

.product-card .product-card__buy-button:hover,
.product-card .product-card__buy-button:focus-visible {
    border-color: #285f53;
    background: #285f53;
    outline: none;
}

.product-card--wide {
    grid-column: 1 / -1;
}

.product-card--wide .product-card__inner {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
}

.product-card--wide .product-image-card {
    padding: 18px;
}

.product-card--wide .product-card__wide-content {
    padding: clamp(28px, 4vw, 52px);
}

.product-card__wide-meta {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.product-card__inner--right .product-image-card {
    order: 2;
}

.product-list-content {
    width: min(calc(100% - 40px), 1320px);
    margin: 64px auto;
    color: #292c2a;
    line-height: 1.75;
}

.product-list-login {
    width: min(calc(100% - 40px), 720px);
    margin: 72px auto 96px;
    padding: 42px;
    border: 1px solid #e6ded1;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 12px 34px rgba(34, 57, 50, 0.08);
    color: #57534d;
    font-size: 1.05rem;
    line-height: 1.7;
    text-align: center;
}

.product-list-login h1 {
    margin: 0 0 14px;
    color: #183d35;
    font-size: 2rem;
}

.product-list-login__link {
    display: inline-flex;
    justify-content: center;
    margin-top: 18px;
    padding: 11px 22px;
    border-radius: 8px;
    background: #183d35;
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

.product-page {
    width: min(calc(100% - 40px), 1320px);
    margin: clamp(34px, 5vw, 68px) auto 100px;
    color: #292c2a;
    font-family: inherit;
}

.product-page__summary {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
    width: 100%;
    overflow: hidden;
    border: 1px solid #e1d8ca;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 18px 52px rgba(34, 57, 50, 0.11);
}

.product-image-column {
    min-width: 0;
    padding: clamp(24px, 4vw, 52px);
    border-right: 1px solid #e1d8ca;
    background: #f5f0e7;
}

.product-gallery {
    width: 100%;
}

.product-gallery__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid #e7dfd4;
    border-radius: 8px;
    background: #ffffff;
}

.product-gallery__main {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    object-fit: contain;
}

.product-gallery__thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

.product-gallery__thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    margin: 0;
    padding: 4px;
    overflow: hidden;
    border: 1px solid #d9d0c3;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
    cursor: pointer;
    appearance: none;
}

.product-gallery__thumbnail:hover,
.product-gallery__thumbnail:focus-visible {
    border-color: #7c9586;
    outline: none;
}

.product-gallery__thumbnail--active,
.product-gallery__thumbnail--active:hover {
    border: 2px solid #183d35;
    box-shadow: 0 0 0 2px rgba(24, 61, 53, 0.12);
}

.product-gallery__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 6px;
    object-fit: cover;
}

.product-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(32px, 5vw, 64px);
    background: #fffdfa;
    color: #292c2a;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.72;
}

.product-title {
    margin: 0 0 26px;
    color: #183d35;
    font-family: inherit;
    font-size: clamp(2.15rem, 4.1vw, 3.8rem);
    font-weight: 600;
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.product-description {
    color: #393a37;
}

.product-description > :first-child {
    margin-top: 0;
}

.product-description > :last-child {
    margin-bottom: 0;
}

.product-price {
    display: block;
    margin: 28px 0 4px;
    color: #183d35;
    font-size: clamp(1.7rem, 3vw, 2.25rem);
    font-weight: 750;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.product-recommended-price {
    display: block;
    margin-bottom: 10px;
    color: #6c675f;
}

.product-old-price {
    display: block;
    margin-top: 16px;
    color: #765d4c;
    font-size: 1rem;
    text-decoration: line-through;
}

.product-countdown {
    margin: 8px 0;
    color: #765d4c;
    font-weight: 700;
}

.product-purchase-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #e9e1d6;
}

.product-variants {
    width: 100%;
}

.product-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 700;
}

.product-stock--in {
    background: #e7f1e9;
    color: #245f42;
}

.product-stock--order {
    background: #f6ecd9;
    color: #805d20;
}

.product-stock--out {
    background: #f4e2e4;
    color: #765d4c;
}

.product-model {
    color: #625f59;
    font-size: 0.94rem;
}

.product-variant-label {
    display: block;
    margin: 0 0 7px;
    color: #183d35;
    font-weight: 700;
}

.product-variant-select {
    width: min(100%, 300px);
    min-height: 46px;
    padding: 9px 38px 9px 12px;
    border: 1px solid #d6cdbf;
    border-radius: 8px;
    background: #ffffff;
    color: #292c2a;
    font-family: inherit;
    font-size: 1rem;
}

.product-actions {
    display: grid;
    grid-template-columns: minmax(145px, 0.42fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    width: 100%;
    margin-top: auto;
    padding-top: 30px;
}

.product-actions__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 58px;
    padding: 15px 20px;
    border: 1px solid #285f53;
    border-radius: 8px;
    background: #f3f7f4;
    color: #183d35;
    font-family: inherit;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.product-actions__back:link,
.product-actions__back:visited {
    color: #183d35;
}

.product-actions__back:hover,
.product-actions__back:focus-visible {
    border-color: #183d35;
    background: #e5eee8;
    color: #183d35;
    outline: none;
}

.product-actions__back:only-child {
    grid-column: 1 / -1;
}

.product-actions__buy,
.product-actions__buy form {
    display: block;
    width: 100%;
    margin: 0;
}

.product-details .myButton2 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 15px 24px;
    border: 1px solid #183d35;
    border-radius: 8px;
    background: #183d35;
    box-shadow: none;
    color: #ffffff;
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    appearance: none;
}

.product-details .myButton2:hover,
.product-details .myButton2:focus-visible {
    border-color: #285f53;
    background: #285f53;
    outline: none;
}

.product-page__tabs {
    width: min(100%, 1050px);
    margin: 62px auto 0;
}

.undertextBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0 8px 10px 0;
    padding: 10px 18px;
    border: 1px solid #183d35;
    border-radius: 8px;
    background: #183d35;
    color: #ffffff;
    font-family: inherit;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.undertextBtn:hover,
.undertextBtn:focus-visible {
    border-color: #285f53;
    background: #285f53;
    color: #ffffff;
    outline: none;
}

.targetDiv {
    margin-top: 10px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid #e1d8ca;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 12px 34px rgba(34, 57, 50, 0.07);
    color: #393a37;
    line-height: 1.75;
}

.targetDiv--hidden {
    display: none;
}

.product-page__tags {
    width: min(100%, 900px);
    margin: 58px auto 0;
    padding-top: 28px;
    border-top: 1px solid #e1d8ca;
    text-align: center;
}

.product-tags__title {
    margin: 0 0 18px;
    color: #183d35;
    font-family: inherit;
    font-size: 1.55rem;
    font-weight: 650;
}

.product-tags__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.product-tag {
    display: inline-flex;
    padding: 7px 12px;
    border: 1px solid #d9d0c3;
    border-radius: 8px;
    background: #f5f0e7;
    color: #183d35;
    font-size: 0.92rem;
}

.product-tag__link {
    color: inherit;
    text-decoration: none;
}

.admin-product-page {
    background: #d9e4ee;
}

.admin-product-page table {
    width: 100%;
    table-layout: fixed;
}

.admin-product-page table,
.admin-product-page th,
.admin-product-page td {
    padding: 5px;
    border-collapse: collapse;
    text-align: left;
}

.admin-product-page td {
    word-break: break-word;
}

.admin-product-image-preview {
    width: min(100%, 350px);
    margin: 20px 20px 18px 0;
    padding: 16px;
    float: left;
    border-radius: 8px;
    background: #f5f0e7;
}

.admin-product-image-preview .product-image-wrapper {
    aspect-ratio: 1 / 1;
}

.admin-product-image-preview .product-image {
    height: 100%;
}

.admin-product-image-preview .product-image--secondary {
    display: none;
}

.admin-product-image-field {
    width: min(100%, 360px);
    padding: 8px 10px;
    border: 1px solid #b7c4cf;
    border-radius: 6px;
}

.admin-product-page .tabButton {
    display: inline-block;
    margin-bottom: 5px;
    padding: 10px 25px;
    border: 0;
    border-radius: 5px;
    background: #627eea;
    color: #ffffff;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
}

.admin-product-page .infobank-result {
    display: block;
    width: 100%;
    padding: 11px 12px;
    border: 0;
    border-bottom: 1px solid #b7dcf4;
    background: #ffffff;
    text-align: left;
    cursor: pointer;
}

.admin-product-page .infobank-result:last-child {
    border-bottom: 0;
}

.admin-product-page .infobank-result:hover {
    background: #eef8ff;
}

.admin-product-page .infobank-result-name {
    display: block;
    margin-bottom: 4px;
    color: #174c6b;
    font-weight: 700;
}

.admin-product-page .infobank-result-meta {
    display: block;
    color: #552266;
    font-size: 13px;
    line-height: 1.35;
}

.admin-product-page .infobank-alert {
    padding: 12px;
    color: #8b2f2f;
}

@media only screen and (max-width: 1180px) {
    .centerprodukt.products-per-row-6,
    .centerprodukt.products-per-row-5 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .centerprodukt.products-per-row-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 1050px) {
    .centerprodukt.products-per-row-6,
    .centerprodukt.products-per-row-5,
    .centerprodukt.products-per-row-4,
    .centerprodukt.products-per-row-3,
    .centerprodukt:not([class*="products-per-row-"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-page__summary {
        grid-template-columns: 1fr;
    }

    .product-image-column {
        border-right: 0;
        border-bottom: 1px solid #e1d8ca;
    }

    .product-gallery {
        width: min(100%, 760px);
        margin: 0 auto;
    }
}

@media only screen and (max-width: 760px) {
    .product-card--wide .product-card__inner {
        grid-template-columns: 1fr;
    }

    .product-card__inner--right .product-image-card {
        order: 0;
    }

    .product-page {
        width: min(calc(100% - 24px), 1320px);
        margin-top: 24px;
    }

    .product-details {
        padding: 30px 24px 34px;
    }

    .product-title {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .product-actions {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 620px) {
    .product-list-intro {
        padding: 36px 18px;
    }

    .centerprodukt,
    .centerprodukt.products-per-row-2,
    .centerprodukt.products-per-row-3,
    .centerprodukt.products-per-row-4,
    .centerprodukt.products-per-row-5,
    .centerprodukt.products-per-row-6 {
        grid-template-columns: 1fr;
        width: min(calc(100% - 24px), 480px);
        gap: 24px;
        margin-top: 32px;
    }

    .product-image-card {
        padding: 11px 11px 0;
    }

    .product-card__content,
    .product-card__wide-content {
        padding: 21px;
    }

    .product-image-column {
        padding: 14px;
    }

    .product-gallery__stage {
        border-radius: 8px;
    }

    .product-gallery__thumbnails {
        gap: 9px;
    }

    .product-gallery__thumbnail {
        width: 64px;
        height: 64px;
    }

    .product-page__tabs,
    .product-page__tags {
        margin-top: 42px;
    }

    .undertextBtn {
        width: 100%;
        margin-right: 0;
    }

    .targetDiv {
        padding: 22px;
    }

    .product-list-login {
        width: calc(100% - 24px);
        padding: 30px 22px;
    }
}

/* Kategoribannern ska fylla hela den valda höjden även på produktsidor. */
.product-list-page .category-banner-frame,
.product-list-page .category-banner-link,
.product-list-page .category-banner-picture,
.product-detail-page .category-banner-frame,
.product-detail-page .category-banner-link,
.product-detail-page .category-banner-picture {
    display: block;
    width: 100%;
    height: var(--banner-height-desktop, 55vh);
    overflow: hidden;
}

.product-list-page .category-banner-container .category-banner-image,
.product-detail-page .category-banner-container .category-banner-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
}

@media only screen and (max-width: 900px) {
    .product-list-page .category-banner-frame,
    .product-list-page .category-banner-link,
    .product-list-page .category-banner-picture,
    .product-detail-page .category-banner-frame,
    .product-detail-page .category-banner-link,
    .product-detail-page .category-banner-picture {
        height: var(--banner-height-tablet, 45vh);
    }
}

@media only screen and (max-width: 620px) {
    .product-list-page .category-banner-frame,
    .product-list-page .category-banner-link,
    .product-list-page .category-banner-picture,
    .product-detail-page .category-banner-frame,
    .product-detail-page .category-banner-link,
    .product-detail-page .category-banner-picture {
        height: var(--banner-height-mobile, 38vh);
    }
}

/* Relaterade produkter på produktdetaljen och i köpbekräftelsen. */
.product-related {
    margin-top: 46px;
    padding-top: 28px;
    border-top: 1px solid #e1d8ca;
}
.product-related__head {
    margin-bottom: 18px;
    text-align: center;
}
.product-related__head h2 {
    margin: 0;
    color: #2b302f;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
}
.product-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 190px));
    justify-content: center;
    gap: 14px;
}
.product-related__card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 9px;
    padding: 12px;
    border: 1px solid #e1d8ca;
    border-radius: 8px;
    background: #fff;
    color: #2b302f;
    text-align: center;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.product-related__card:hover {
    border-color: #b9aa96;
    box-shadow: 0 8px 22px rgba(42, 37, 31, .08);
    transform: translateY(-1px);
}
.product-related__link {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: #2b302f !important;
    text-decoration: none !important;
}
.product-related__image {
    width: 112px;
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
    background: #f7f4ef;
}
.product-related__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.product-related__image--empty::after {
    content: "Bild saknas";
    padding: 6px;
    color: #9a9187;
    font-size: 10px;
    text-align: center;
}
.product-related__copy {
    min-width: 0;
    width: 100%;
}
.product-related__copy strong {
    display: block;
    overflow: hidden;
    color: #2b302f;
    font-size: 14px;
    line-height: 1.35;
    text-overflow: ellipsis;
}
.product-related__price {
    display: block;
    color: #183d35;
    font-size: 14px;
    font-weight: 750;
}
.product-related__buy-form {
    width: 100%;
    margin: 0;
}
.product-related__buy-button {
    width: 100%;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #183d35;
    border-radius: 6px;
    background: #183d35;
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    line-height: 1;
    cursor: pointer;
}
.product-related__buy-button:hover,
.product-related__buy-button:focus-visible {
    border-color: #285f53;
    background: #285f53;
    outline: none;
}
.product-related__soldout {
    display: block;
    min-height: 34px;
    padding: 8px 6px;
    color: #765d4c;
    font-size: 12px;
    font-weight: 700;
}

body.product-detail-page #fade.product-add-popup {
    width: min(calc(100% - 28px), 720px);
    max-height: min(86vh, 650px);
    overflow: auto;
    padding: 22px;
    border: 1px solid #d9d0c4;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(16, 35, 30, .25);
    color: #2b302f;
    font-size: 1rem;
    font-weight: 400;
    text-align: left;
}
.product-add-popup__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #5d5a54;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.product-add-popup__success {
    padding-right: 38px;
    color: #245f42;
    font-size: 16px;
    font-weight: 800;
    text-align: center;
}
.product-add-popup__heading {
    margin: 8px 0 15px;
    color: #2b302f;
    font-size: 15px;
    font-weight: 750;
    text-align: center;
}
.product-add-popup__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.product-add-popup__item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    padding: 10px;
    border: 1px solid #e1d8ca;
    border-radius: 8px;
    background: #fff;
    text-align: center;
}
.product-add-popup__link {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: #2b302f !important;
    text-decoration: none !important;
}
.product-add-popup__link strong {
    display: block;
    font-size: 12px;
    line-height: 1.3;
}
.product-add-popup__image {
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
    background: #f7f4ef;
}
.product-add-popup__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.product-add-popup__price {
    display: block;
    color: #183d35;
    font-size: 12px;
    font-weight: 750;
}
.product-add-popup__item .product-related__buy-button {
    min-height: 32px;
    padding: 6px 9px;
    font-size: 11px;
}

@media only screen and (max-width: 620px) {
    .product-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .product-related__image {
        width: 96px;
        height: 96px;
    }
    body.product-detail-page #fade.product-add-popup {
        padding: 20px 14px 16px;
    }
    .product-add-popup__grid {
        grid-template-columns: 1fr;
    }
    .product-add-popup__item {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        text-align: left;
    }
    .product-add-popup__link {
        grid-column: 1 / 3;
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr);
        align-items: center;
        text-align: left;
    }
    .product-add-popup__image {
        width: 72px;
        height: 72px;
    }
    .product-add-popup__price {
        grid-column: 2;
    }
    .product-add-popup__item .product-related__buy-form,
    .product-add-popup__item .product-related__soldout {
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: center;
        min-width: 66px;
    }
}

@media only screen and (max-width: 420px) {
    .product-related__grid {
        grid-template-columns: minmax(0, 220px);
    }
}

/* Sales growth: quantity and automatic product promotions */
.product-promotions{margin:16px 0 0;padding:14px 16px;border:1px solid rgba(29,91,70,.2);background:#f6faf7;border-radius:8px;color:#173f31}.product-promotions strong{display:block;margin-bottom:6px}.product-promotions ul{margin:0;padding-left:20px}.product-promotions li+li{margin-top:4px}.checkout-product-promotion{display:block;margin-top:4px;font-size:.88em;font-weight:700;color:#246348}

/* Katalogfilter och pagination */
.catalog-tools{max-width:1400px;margin:22px auto 18px;padding:14px 18px;background:#fff;border:1px solid #dbe3ec;border-radius:14px;box-shadow:0 7px 22px rgba(27,56,89,.07)}
.catalog-tools__top{display:flex;align-items:center;justify-content:space-between;gap:14px}.catalog-tools__count{font-weight:700;color:#173958}.catalog-tools__toggle{display:none;border:0;border-radius:9px;background:#173958;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}
.catalog-tools__form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.catalog-tools__form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#53677d}.catalog-tools__form input[type=number],.catalog-tools__form select{min-height:40px;border:1px solid #cbd7e3;border-radius:8px;background:#fff;padding:7px 10px;color:#172433;min-width:120px}.catalog-filter-check{flex-direction:row!important;align-items:center!important;min-height:40px;padding:0 6px}.catalog-tools__apply{min-height:40px;border:0;border-radius:8px;padding:0 16px;background:#246cad;color:#fff;font-weight:700;cursor:pointer}.catalog-tools__clear{min-height:40px;display:flex;align-items:center;padding:0 10px;color:#49647f;text-decoration:none;font-weight:700}.catalog-pagination{max-width:1400px;margin:24px auto 40px;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.catalog-pagination a,.catalog-pagination strong,.catalog-pagination span{min-width:38px;min-height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;padding:0 10px;text-decoration:none}.catalog-pagination a{background:#fff;border:1px solid #d5e0ea;color:#1d527f}.catalog-pagination strong{background:#246cad;color:#fff}.catalog-no-results{max-width:520px;margin:55px auto;text-align:center;padding:28px;background:#fff;border:1px solid #e0e6ec;border-radius:14px}
@media(max-width:760px){.catalog-tools{margin:14px 12px}.catalog-tools__toggle{display:block}.catalog-tools__form{display:none;padding-top:14px}.catalog-tools__form.is-open{display:grid;grid-template-columns:1fr 1fr}.catalog-tools__form label,.catalog-tools__form input,.catalog-tools__form select{min-width:0;width:100%}.catalog-filter-check,.catalog-tools__apply,.catalog-tools__clear{grid-column:1/-1}.catalog-pagination{margin-left:12px;margin-right:12px}}

/* Katalogverktyg 2026-09-23: kompakt rad direkt ovanför produktlistan. */
.catalog-tools{max-width:1400px;margin:14px auto 12px;padding:8px 0;background:transparent;border:0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;border-radius:0;box-shadow:none;color:#667085}
.catalog-tools__summary{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:#667085;margin-bottom:7px}.catalog-tools__page{margin-left:auto;text-align:right}
.catalog-tools__toggle{display:none;border:0;background:transparent;color:#344054;padding:5px 0;font-weight:700;cursor:pointer}
.catalog-tools__form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.catalog-tools__form label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#667085}.catalog-tools__form label>span{white-space:nowrap}.catalog-tools__form select{min-height:32px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;padding:4px 8px;color:#344054;min-width:112px;font-size:12px}.catalog-filter-check{min-height:32px;padding:0}.catalog-tools__apply{min-height:32px;border:1px solid #344054;border-radius:6px;padding:0 12px;background:#344054;color:#fff;font-size:12px;font-weight:700;cursor:pointer}.catalog-tools__clear{min-height:32px;display:flex;align-items:center;padding:0 4px;color:#667085;text-decoration:none;font-size:12px}.catalog-pagination{max-width:1400px;margin:22px auto 40px;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.catalog-pagination a,.catalog-pagination strong,.catalog-pagination span{min-width:34px;min-height:34px;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0 9px;text-decoration:none;font-size:12px}.catalog-pagination a{background:#fff;border:1px solid #d5e0ea;color:#1d527f}.catalog-pagination strong{background:#344054;color:#fff}
@media(max-width:760px){.catalog-tools{margin:10px 12px}.catalog-tools__summary{margin-bottom:4px}.catalog-tools__toggle{display:block}.catalog-tools__form{display:none;padding-top:8px}.catalog-tools__form.is-open{display:grid;grid-template-columns:1fr 1fr}.catalog-tools__form label,.catalog-tools__form select{min-width:0;width:100%}.catalog-filter-check,.catalog-tools__apply,.catalog-tools__clear{grid-column:1/-1}.catalog-pagination{margin-left:12px;margin-right:12px}}

/* Katalogverktyg 2026-09-23: enkel rad i samma bredd som produktgriden. */
.catalog-tools {
    width: min(calc(100% - 40px), 1180px);
    max-width: none;
    margin: 22px auto 18px;
    padding: 11px 0;
    display: flex;
    align-items: center;
    gap: 18px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e7e0d6;
    border-radius: 0;
    box-shadow: none;
    color: #6d655d;
}
.catalog-tools__summary {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #6d655d;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
}
.catalog-tools__page {
    margin-left: 0;
    color: #8a8177;
    text-align: left;
}
.catalog-tools__toggle {
    display: none;
    border: 0;
    background: transparent;
    color: #183d35;
    padding: 6px 0;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.catalog-tools__form {
    min-width: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.catalog-tools__form label {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    color: #6d655d;
    font-size: 12px;
    font-weight: 600;
}
.catalog-tools__form label > span {
    white-space: nowrap;
}
.catalog-tools__form select {
    min-width: 108px;
    min-height: 34px;
    padding: 5px 30px 5px 9px;
    border: 1px solid #d8d0c5;
    border-radius: 6px;
    background: #fff;
    color: #2b302f;
    font-size: 12px;
}
.catalog-filter-check {
    min-height: 34px;
    padding: 0;
    white-space: nowrap;
}
.catalog-filter-check input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #183d35;
}
.catalog-tools__apply {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #183d35;
    border-radius: 6px;
    background: #183d35;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.catalog-tools__apply:hover {
    opacity: .92;
}
.catalog-tools__clear {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 2px;
    color: #746b61;
    font-size: 12px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.catalog-pagination {
    width: min(calc(100% - 40px), 1180px);
    max-width: none;
}

@media (max-width: 900px) {
    .catalog-tools {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .catalog-tools__form {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .catalog-tools {
        width: calc(100% - 24px);
        margin: 16px 12px 14px;
        padding: 10px 0;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 6px 14px;
    }
    .catalog-tools__summary {
        grid-column: 1;
        align-self: center;
    }
    .catalog-tools__toggle {
        grid-column: 2;
        display: block;
        align-self: center;
    }
    .catalog-tools__form {
        grid-column: 1 / -1;
        display: none;
        width: 100%;
        padding-top: 8px;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .catalog-tools__form.is-open {
        display: grid;
    }
    .catalog-tools__form label {
        min-width: 0;
        width: 100%;
    }
    .catalog-tools__form select {
        min-width: 0;
        width: 100%;
    }
    .catalog-filter-check,
    .catalog-tools__apply,
    .catalog-tools__clear {
        grid-column: 1 / -1;
    }
    .catalog-tools__apply {
        width: 100%;
    }
    .catalog-pagination {
        width: calc(100% - 24px);
        margin-left: 12px;
        margin-right: 12px;
    }
}

/* 2026-09-26: tydligare relaterade produkter och betalningsinformation. */
.product-payment-note{margin:14px 0 4px;padding:12px 14px;border:1px solid #d9e2e0;border-radius:10px;background:#f7faf9;display:flex;gap:7px;flex-direction:column;color:#2b302f}
.product-payment-note strong{font-size:14px}.product-payment-note span{font-size:12px;color:#68716e}
.product-related__intro{max-width:720px;margin:8px auto 0;color:#706a62;font-size:14px;line-height:1.55}
.product-related__grid{grid-template-columns:repeat(auto-fit,minmax(190px,230px));gap:18px}
.product-related__card{padding:16px;border-radius:12px;gap:11px}
.product-related__image{width:140px;height:140px}
.product-related__copy strong{font-size:15px}.product-related__price{font-size:15px}
.product-related__buy-button{min-height:40px;font-size:13px;border-radius:8px}
body.product-detail-page #fade.product-add-popup{width:min(calc(100% - 28px),860px);padding:28px;border-radius:14px}
.product-add-popup__success{font-size:18px}.product-add-popup__heading{font-size:19px;margin:10px 0 5px}
.product-add-popup__intro{max-width:650px;margin:0 auto 18px;color:#706a62;font-size:13px;line-height:1.5;text-align:center}
.product-add-popup__grid{gap:16px}.product-add-popup__item{padding:14px;border-radius:11px;gap:10px}.product-add-popup__image{width:104px;height:104px}.product-add-popup__link strong{font-size:14px}.product-add-popup__price{font-size:14px}.product-add-popup__item .product-related__buy-button{min-height:38px;font-size:12px}
@media only screen and (max-width:620px){.product-related__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-related__image{width:110px;height:110px}.product-add-popup__intro{text-align:left;margin-bottom:14px}.product-add-popup__image{width:78px;height:78px}}


/* 2026-09-26: kompakt bekräftelse efter köp. */
body.product-detail-page #fade.product-add-popup{width:max-content!important;max-width:min(calc(100% - 28px),680px)!important;min-width:min(calc(100% - 28px),360px)!important;padding:22px!important;text-align:center!important}
.product-add-popup__content{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:620px;margin:0 auto}
.product-add-popup__success{padding:0!important;margin:0;color:#245f42;font-size:18px;font-weight:800;text-align:center}
.product-add-popup__heading{margin:0!important;text-align:center}
.product-add-popup__intro{text-align:center;max-width:500px}
.product-add-popup__grid{display:grid;grid-template-columns:repeat(3,minmax(150px,190px));justify-content:center;gap:12px;width:auto}
.product-add-popup__content--count-1 .product-add-popup__grid{grid-template-columns:minmax(180px,230px)}
.product-add-popup__content--count-2 .product-add-popup__grid{grid-template-columns:repeat(2,minmax(170px,210px))}
.product-add-popup__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:440px;margin-top:4px}
.product-add-popup__continue,.product-add-popup__cart{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #183d35;border-radius:7px;font:inherit;font-weight:750;text-decoration:none!important;cursor:pointer}
.product-add-popup__continue{background:#fff;color:#183d35}.product-add-popup__cart{background:#183d35;color:#fff!important}
.product-payment-note{order:20;margin:10px 0 0!important;padding:0!important;border:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex-direction:row!important;color:#4f5d59!important}
.product-payment-note span{font-size:13px!important;color:#4f5d59!important}.product-payment-note img{display:block;max-width:74px;max-height:28px;width:auto;height:auto;object-fit:contain}
@media(max-width:620px){.product-add-popup__grid,.product-add-popup__content--count-2 .product-add-popup__grid{grid-template-columns:1fr!important;width:100%}.product-add-popup__actions{grid-template-columns:1fr}.product-add-popup__item{display:flex!important;text-align:center!important}.product-add-popup__link{display:flex!important;grid-column:auto!important}}

.product-payment-note{gap:10px!important;font-weight:600!important}
.product-payment-note span{font-size:14px!important}
.product-payment-note img{max-width:92px!important;max-height:32px!important}

/* 2026-10-06: grupperade katalogfilter. */
.catalog-filter-group{margin:0;padding:0;border:0;min-width:0}.catalog-filter-group legend{float:left;margin:0 6px 0 0;padding:0;color:#6d655d;font-size:12px;font-weight:700;line-height:34px}.catalog-filter-group__options{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.catalog-filter-option{display:inline-flex!important;align-items:center!important;gap:4px!important;min-height:32px;padding:4px 8px;border:1px solid #d8d0c5;border-radius:6px;background:#fff;color:#4c4945!important;font-size:11px!important;font-weight:600!important;cursor:pointer}.catalog-filter-option input{width:14px;height:14px;margin:0;accent-color:#183d35}.catalog-filter-option small{color:#8a8177;font-size:10px}
@media(max-width:760px){.catalog-filter-group{grid-column:1/-1;width:100%}.catalog-filter-group legend{float:none;display:block;line-height:1.3;margin:0 0 6px}.catalog-filter-group__options{display:grid;grid-template-columns:1fr 1fr;width:100%}.catalog-filter-option{width:auto!important}.catalog-filter-option span{white-space:normal!important}}

.product-list-empty-filter{width:min(calc(100% - 40px),1180px);margin:18px auto 32px;padding:18px 20px;border:1px solid #ded7cf;border-radius:10px;background:#faf8f5;color:#5d5750;text-align:center;font-size:14px}
@media(max-width:760px){.product-list-empty-filter{width:calc(100% - 24px);margin:14px 12px 24px}}

/* Kategorifilter: kompakt dropdown på samma rad som Sortera. */
.catalog-tools__form .catalog-filter-select{display:inline-flex;align-items:center;gap:7px}
.catalog-tools__form .catalog-filter-select select{min-width:150px;max-width:235px}
@media(max-width:760px){.catalog-tools__toggle{display:none!important}.catalog-tools__form{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding-top:5px!important}.catalog-tools__form label{width:auto!important;min-width:0!important}.catalog-tools__form .catalog-filter-select select{min-width:145px;width:auto!important}.catalog-tools__apply,.catalog-tools__clear{grid-column:auto!important}}

/* Live catalog updates: only the product results change, not the page header or editorial text. */
#catalogAjaxResults{position:relative}
#catalogAjaxResults.is-loading{opacity:.65;transition:opacity .12s ease;pointer-events:none}
#catalogAjaxResults.is-loading:before{content:"";position:absolute;z-index:12;top:14px;right:10px;width:14px;height:14px;border:2px solid #dfd6c8;border-top-color:#183d35;border-radius:50%;animation:catalog-ajax-spin .65s linear infinite}
@keyframes catalog-ajax-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#catalogAjaxResults.is-loading:before{animation:none}}
