/* DMS Offers v2.15.8 — presentatie van aanbiedingen en mobiele weergave.
 * Geen invloed op resolvers, productprijzen of geschiedenisgegevens.
 * Filterzijbalk: regel via Blocksy > General Options > Sidebar > Responsive Visibility.
 */
.dms-history-compare-toggle,
.dms-mobile-size-toggle,
.dms-mobile-color-toggle {
    font-family: inherit;
}
.dms-history-compare-toggle { display: none; }
.dms-offer-logo-mobile-full { display: none !important; }
.dms-mobile-color-toggle { display: none; }
.dms-mobile-size-toggle { display: none; }

.single-product .woocommerce-product-attributes .dms-color-label[data-color="beige"] {
    background-color: #dcc9ad !important;
    color: #2d2924 !important;
}

.single-product .woocommerce-product-gallery.dms-gallery-single-color .flex-control-nav,
.single-product .woocommerce-product-gallery.dms-gallery-single-color .flex-direction-nav,
.single-product .woocommerce-product-gallery.dms-gallery-single-color .flexy-arrow-prev,
.single-product .woocommerce-product-gallery.dms-gallery-single-color .flexy-arrow-next,
.single-product .woocommerce-product-gallery.dms-gallery-single-color .flexy-pills,
.single-product .woocommerce-product-gallery.dms-gallery-single-color .flexy-arrows,
.single-product .ct-product-gallery-container.dms-gallery-single-color .flexy-pills,
.single-product .ct-product-gallery-container.dms-gallery-single-color .flexy-arrows { display:none !important; }

@media (max-width: 767px) {
    /* Blocksy's standaard tussenruimte en kaartpadding laten op een telefoon
       te weinig plaats over voor lange productnamen. */
    body.woocommerce:not(.single-product) ul.products[data-products] {
        column-gap: 10px !important;
    }
    body.woocommerce:not(.single-product) ul.products li.product {
        min-width: 0;
    }
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product {
        padding-inline: 12px !important;
    }
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product > :is(figure, .ct-woo-card-actions) {
        width: calc(100% + 24px) !important;
        margin-inline: -12px !important;
    }
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product > figure {
        margin-bottom: 14px !important;
    }
    /* Laat de titel tussen woorden afbreken. Een uitzonderlijk lang woord
       mag alleen afbreken als het anders buiten de kaart zou vallen. */
    body.woocommerce:not(.single-product) ul.products li.product :is(.woocommerce-loop-product__title, .ct-product-title) {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        padding-inline: 2px;
        white-space: normal !important;
        text-wrap: wrap !important;
        overflow-wrap: anywhere;
        word-break: normal;
        hyphens: none !important;
        font-size: clamp(16px, 3.5vw, 17px) !important;
        line-height: 1.25 !important;
        text-align: center;
        margin-bottom: 0 !important;
    }
    body.woocommerce:not(.single-product) ul.products li.product :is(.woocommerce-loop-product__title, .ct-product-title) a {
        display: -webkit-box;
        max-width: 100%;
        white-space: normal !important;
        text-wrap: wrap !important;
        overflow-wrap: anywhere;
        word-break: normal;
        hyphens: none !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
    }
    /* Kleurstalen en shopaantal sluiten aan op de titel. De Blocksy footer
       blijft onderaan, maar de Bekijk-kolom krijgt meer plaats. */
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product .dms-card-product-info {
        gap: 4px !important;
        margin: 10px auto 12px !important;
    }
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product .ct-woo-card-actions {
        grid-template-columns: minmax(0, 58%) minmax(0, 42%) !important;
    }
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product .ct-woo-card-actions > :is(.price, a) {
        min-width: 0 !important;
        padding-inline: 3px !important;
    }
    body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product .ct-woo-card-actions > a {
        font-size: 14px !important;
        font-weight: 600 !important;
        white-space: nowrap;
    }
    @media (max-width: 390px) {
        body.woocommerce:not(.single-product) ul.products[data-products="type-2"] li.product .ct-woo-card-actions > .price {
            font-size: 13px !important;
        }
    }

    /* WooCommerce/Blocksy archiefkaarten: categorieën leveren op mobiel
       geen extra nuttige informatie boven de producttitel. */
    body.woocommerce ul.products li.product .entry-meta,
    body.woocommerce ul.products li.product .ct-product-categories,
    body.woocommerce [data-products] li.product .entry-meta,
    body.woocommerce [data-products] li.product .ct-product-categories {
        display: none !important;
    }

    /* Blocksy kleurstalen op shopkaarten: de +X hoort visueel bij de
       kleuren en niet bij de tekst 'Bij X shops'. De standaard
       swatch-click/expandfunctie van Blocksy blijft intact. */
    body.woocommerce li.product :is(.ct-variation-swatches, .ct-product-swatches, .ct-swatches-container),
    body.woocommerce [data-products] li.product :is(.ct-variation-swatches, .ct-product-swatches, .ct-swatches-container) {
        column-gap: 5px;
        margin-inline-end: 18px !important;
    }
    body.woocommerce li.product :is(.ct-swatches-more, .ct-swatch-more, .ct-variation-swatches-more, .ct-more-swatches),
    body.woocommerce [data-products] li.product :is(.ct-swatches-more, .ct-swatch-more, .ct-variation-swatches-more, .ct-more-swatches) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        margin-inline-end: 18px !important;
        white-space: nowrap;
    }
    body.woocommerce li.product :is(.dms-shop-count, .dms-card-shop-count, .dms-shopcount, .dms-product-shop-count) {
        margin-inline-start: 12px !important;
        white-space: nowrap;
    }

    /* Extra lucht tussen de Blocksy +N kleurindicator en de shopcount.
       De teller blijft bij de kleurstalen en wordt niet in de shopcount opgenomen. */
    body.woocommerce li.product :is(.ct-variation-swatches, .ct-product-swatches, .ct-swatches-container) + :is(.dms-shop-count, .dms-card-shop-count, .dms-shopcount),
    body.woocommerce li.product :is(.ct-variation-swatches, .ct-product-swatches, .ct-swatches-container) ~ :is(.dms-shop-count, .dms-card-shop-count, .dms-shopcount) {
        margin-inline-start: 14px !important;
    }

    /* DMS kleurkeuze op de productdetailpagina: 4 kleuren + teller,
       maar een geselecteerde vijfde/zesde kleur blijft zichtbaar. */
    .dms-offers-component .dms-color-swatches {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 7px;
        min-width: 0;
        max-width: 100%;
    }
    .dms-offers-component .dms-color-swatch.dms-mobile-color-hidden {
        display: none !important;
    }
    .dms-offers-component .dms-mobile-color-toggle {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        min-width: 39px;
        height: 35px;
        padding: 0 8px;
        border: 1px solid #dde1e5;
        border-radius: 20px;
        background: #f4f5f6;
        color: #1d232b;
        font-size: 11px;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
    }
    .dms-offers-component .dms-mobile-color-toggle:focus-visible {
        outline: 2px solid #c4144d;
        outline-offset: 2px;
    }
    .dms-offers-component .dms-color-swatches.is-mobile-expanded {
        flex-wrap: wrap;
    }

    /* Aanbiedingen: logotype + prijs bovenaan, koopinformatie en maten
       daaronder, één grote klikbare actie onderaan. */
    .dms-offers-component .dms-offer-card {
        position: relative;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(110px, auto) !important;
        grid-template-areas:
            "logo price"
            "content content"
            "sizes sizes"
            "action action" !important;
        align-items: center;
        column-gap: 10px !important;
        row-gap: 9px !important;
        min-width: 0;
        padding: 16px 13px 12px !important;
        border-radius: 13px !important;
    }
    /* Mobiele logo's tonen zonder de absolute desktop-uitsnede.
       Dit voorkomt dat FC Moto/ChromeBurner/Bol half uit beeld komen. */
    .dms-offers-component .dms-offer-card .dms-offer-logo-area {
        grid-area: logo !important;
        align-self: center;
        justify-self: stretch;
        display: flex !important;
        align-items: center !important;
        min-width: 0;
        min-height: 44px;
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .dms-offers-component .dms-offer-card .dms-offer-merchant-logo-only {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-width: 0;
        min-height: 44px;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .dms-offers-component .dms-offer-card .dms-offer-price {
        grid-area: price !important;
        justify-self: end;
        align-self: center;
        min-width: 0;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
    }
    .dms-offers-component .dms-offer-card .dms-offer-price-inner {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 2px;
    }
    .dms-offers-component .dms-offer-current-price-row {
        display: inline-flex;
        align-items: baseline;
        gap: 4px;
        white-space: nowrap;
    }
    .dms-offers-component .dms-offer-card .dms-offer-current-price {
        font-size: 17px;
        line-height: 1.2;
        font-weight: 750;
    }
    .dms-offers-component .dms-offer-card .dms-offer-content {
        grid-area: content !important;
        min-width: 0;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .dms-offers-component .dms-offer-card .dms-offer-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px 12px;
        margin: 0;
        font-size: 11px;
        line-height: 1.35;
    }
    .dms-offers-component .dms-offer-card .dms-offer-meta-item {
        min-width: 0;
    }
    .dms-offers-component .dms-offer-card .dms-offer-sizes-desktop {
        display: none !important;
    }
    .dms-offers-component .dms-offer-card .dms-offer-sizes-mobile {
        grid-area: sizes !important;
        display: flex !important;
        flex-wrap: wrap;
        gap: 5px 8px;
        align-items: center;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }
    .dms-offers-component .dms-offer-card .dms-offer-size-list {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        min-width: 0;
    }
    .dms-offers-component .dms-offer-card .dms-offer-sizes-mobile .dms-offer-size-list {
        flex: 0 1 auto;
    }
    .dms-offers-component .dms-offer-sizes-mobile .dms-mobile-extra-size {
        display: none !important;
    }
    .dms-offers-component .dms-offer-sizes-mobile.is-mobile-expanded .dms-mobile-extra-size {
        display: inline-flex !important;
    }
    .dms-offers-component .dms-mobile-size-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 28px;
        padding: 3px 8px;
        border: 1px solid #dfe3e7;
        border-radius: 5px;
        background: #f4f5f6;
        color: #2b333d;
        font: inherit;
        font-size: 11px;
        line-height: 1.2;
        font-weight: 600;
        cursor: pointer;
    }
    .dms-offers-component .dms-mobile-size-toggle:focus-visible {
        outline: 2px solid #c4144d;
        outline-offset: 2px;
    }
    .dms-offers-component .dms-offer-card .dms-offer-button {
        grid-area: action !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        justify-self: stretch;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        min-height: 41px;
        margin: 0 !important;
        padding: 10px 16px !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        font-weight: 700;
        text-align: center;
    }

    /* Prijsontwikkeling: rustigere bedieningsknoppen en de webshops
       achter één expliciete openklapknop, dus geen horizontale scrolbalk. */
    .dms-offers-component .dms-price-tool-panel {
        padding: 12px !important;
    }
    .dms-offers-component .dms-history-panel-head {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        column-gap: 7px;
        align-items: start;
        margin-bottom: 9px;
    }
    .dms-offers-component .dms-history-panel-head .dms-price-tool-panel-copy {
        min-width: 0;
    }
    .dms-offers-component .dms-history-view-slot {
        width: auto;
    }
    .dms-offers-component .dms-history-view-button {
        font-size: 10px;
        padding: 5px 7px;
        min-height: 30px;
    }
    .dms-offers-component .dms-history-series-controls {
        gap: 8px;
        margin-bottom: 8px;
    }
    .dms-offers-component .dms-history-primary-series {
        flex-wrap: wrap;
        gap: 5px 9px;
    }
    .dms-offers-component .dms-history-comparison-summary {
        white-space: normal;
        text-overflow: clip;
        overflow: visible;
    }
    .dms-offers-component .dms-history-compare-row {
        display: block;
    }
    .dms-offers-component .dms-history-compare-label {
        display: none;
    }
    .dms-offers-component .dms-history-compare-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        padding: 9px 11px;
        border: 1px solid #e1e4e7;
        border-radius: 8px;
        background: #f7f8f9;
        color: #343b45;
        font-size: 11px;
        font-weight: 650;
        cursor: pointer;
    }
    /* Hetzelfde strakke neerwaartse chevron-principe als bij
       'Vergelijk nog X webshops', in plaats van een tekstteken. */
    .dms-offers-component .dms-history-compare-chevron {
        display: block;
        flex: 0 0 16px;
        width: 16px;
        height: 16px;
        margin-left: auto;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
        transform: rotate(0deg);
        transition: transform .18s ease;
    }
    .dms-offers-component .dms-history-compare-row.is-expanded .dms-history-compare-chevron {
        transform: rotate(180deg);
    }
    .dms-offers-component .dms-history-compare-row:not(.is-expanded) .dms-history-legend {
        display: none !important;
    }
    .dms-offers-component .dms-history-compare-row .dms-history-legend {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        overflow: visible;
        width: 100%;
        max-height: none;
        padding: 9px 0 1px;
        gap: 6px;
        scrollbar-width: none;
    }
    .dms-offers-component .dms-history-legend-button {
        min-height: 29px;
        font-size: 10px;
        padding: 5px 8px;
    }
    .dms-offers-component .dms-history-mobile-hint {
        display: block;
        margin: 6px 1px 0;
        color: #77818d;
        font-size: 11px;
        line-height: 1.45;
    }
    .dms-offers-component .dms-history-view-button {
        font-size: 11px;
        padding: 6px 9px;
    }
    .dms-offers-component .dms-history-chart-wrap {
        min-height: 221px;
        margin: 0;
        overflow: hidden;
    }
    .dms-offers-component .dms-history-stats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px;
        padding-top: 9px;
    }
    .dms-offers-component .dms-history-stat,
    .dms-offers-component .dms-history-stat:first-child,
    .dms-offers-component .dms-history-stat:last-child {
        min-width: 0;
        padding: 10px !important;
    }
    .dms-offers-component .dms-history-stat:last-child {
        grid-column: 1 / -1;
    }
    .dms-offers-component .dms-history-stat strong {
        font-size: 15px;
    }
    .dms-offers-component .dms-history-stat small {
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dms-offers-component .dms-history-compare-chevron { transition: none; }
}

/* Offer comparison on product pages. */
.dms-offers-component .dms-size-filter {display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.dms-offers-component .dms-size-filter > span {font-size:13px;margin-right:4px}
.dms-offers-component .dms-size-filter button {appearance:none;min-width:34px;min-height:34px;padding:4px 9px;border:1px solid #d9dee2;border-radius:6px;background:#fff;color:inherit;font:inherit;font-size:13px;line-height:1.2;cursor:pointer}
.dms-offers-component .dms-size-filter button[aria-pressed=true] {border-color:#d41a5b;background:#fff6fa;color:#a10e45;font-weight:650}
.dms-offers-component .dms-size-filter button:focus-visible {outline:2px solid #b51950;outline-offset:2px}
.dms-offers-component .dms-size-unknown:not([hidden]) {display:block;font-size:12px;margin-top:4px;color:#505963}
.dms-offers-component .dms-offer-card .dms-offer-logo {display:block;width:110px;height:28px;object-fit:contain}
.dms-offers-component .dms-history-measurements {margin:8px 0;font-size:13px}
.dms-offers-component .dms-history-measurements summary {cursor:pointer;padding:8px 0;font-weight:600}
.dms-offers-component .dms-history-measurements > div {overflow-x:auto}
.dms-offers-component .dms-history-measurements table {width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dms-offers-component .dms-history-measurements :is(td,th) {padding:5px 8px;text-align:right}
.dms-offers-component .dms-history-measurements :is(td,th):first-child {text-align:left}
@media (max-width:767px){.dms-offers-component .dms-history-chart-wrap {min-height:0!important}}

.dms-offers-component .dms-size-hint:not([hidden]) {display:block;margin:0 0 .75rem}
.dms-offers-component .dms-size-fit-note {display:block;margin-top:4px;color:#68717b;font-size:11px;line-height:1.35}
.dms-offers-component .dms-offer-card:has(.dms-footwear-size-info[open]) {z-index:5}
.dms-offers-component .dms-footwear-size-info {position:relative;display:inline-block;flex:none;color:#68717b;font-size:11px;line-height:1.35}
.dms-offers-component .dms-footwear-size-info summary {display:inline-flex;align-items:center;gap:5px;cursor:pointer;list-style:none;white-space:nowrap}
.dms-offers-component .dms-footwear-size-info summary::-webkit-details-marker {display:none}
.dms-offers-component .dms-footwear-size-info summary > span {display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;font-size:9px;font-weight:700;font-style:normal}
.dms-offers-component .dms-footwear-size-info summary:focus-visible {outline:2px solid #b61550;outline-offset:3px;border-radius:2px}
.dms-offers-component .dms-footwear-size-info[open] summary {color:#a51548}
.dms-offers-component .dms-footwear-size-info-panel {position:absolute;z-index:10;top:calc(100% + 8px);left:0;width:max-content;max-width:min(270px,calc(100vw - 36px));box-sizing:border-box;padding:10px 12px;border:1px solid #dfe3e7;border-radius:8px;background:#fff;box-shadow:0 9px 24px rgba(28,35,45,.13);color:#38424e;font-size:12px;line-height:1.5;white-space:normal}
@media (min-width:768px) {
 .single-product .dms-offers-component .dms-offer-card .dms-offer-sizes-desktop {display:grid!important;grid-template-columns:max-content minmax(0,1fr);column-gap:5px;row-gap:5px;align-items:center}
}
.dms-offers-component .dms-offer-length-list {display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}
.dms-offers-component .dms-offer-length-label {color:#68717b}
.dms-offers-component .dms-offer-length-chip {border-color:#e4e7eb!important;background:#f8f9fa!important;color:#596371!important}
@media (max-width:767px) {
 .single-product .dms-offers-component .dms-offer-card .dms-offer-sizes-mobile .dms-offer-length-row {display:flex;flex:0 0 100%;align-items:center;gap:5px 8px;min-width:0}
}
.dms-offers-component .dms-offer-card[hidden],
.dms-offers-component .is-size-filtered .dms-more-offers-toggle,
.dms-offers-component .is-size-filtered .dms-best-choice-label {display:none!important}
.dms-offers-component .dms-total-note,.dms-offers-component .dms-total-detail {display:block;font-size:12px;line-height:1.35;font-weight:400}
.dms-offers-component .dms-total-detail {color:#535e6b}
.dms-offers-component .dms-offer-card .dms-offer-button {min-height:44px;white-space:normal;text-align:center;line-height:1.25}
.single-product .dms-offers-component .dms-lowest-total-label {
 position:absolute;top:-9px;left:136px;z-index:2;display:inline-flex;align-items:center;
 padding:3px 8px;border:1px solid #d5dce2;border-radius:999px;
 background:#fff;color:#46515d;font-size:9px;font-weight:650;line-height:1;white-space:nowrap;
}
.single-product .dms-offers-component .dms-offer-card.dms-lowest-total {margin-top:7px}
.single-product .dms-offers-component .dms-total-note {color:#5f6873}
.dms-offers-component .dms-offer-button:focus-visible {outline:2px solid #882047;outline-offset:3px}
.dms-offers-component .dms-history-insight {font-size:15px;line-height:1.5;margin:0 0 1rem}
.dms-offers-component .dms-history-insight span {display:block;font-size:13px;color:#535e6b}
@media (max-width:767px) {
 .single-product .dms-offers-component .dms-lowest-total-label {left:12px}
 .dms-offers-component .dms-offer-card .dms-offer-logo-mobile-full {height:34px!important;max-width:140px!important}
 .dms-offers-component .dms-offer-card .dms-offer-button {min-height:44px}
}
@media (min-width:768px) {
 .single-product .dms-offers-component .dms-offer-list {container-type:inline-size}
 .single-product .dms-offers-component .dms-offer-card .dms-offer-button {width:100%;height:auto;min-width:0;padding:8px;overflow-wrap:anywhere}
 @container (min-width:600px) {
  .single-product .dms-offers-component .dms-offer-card {grid-template-columns:110px minmax(0,1fr) minmax(94px,auto) 84px}
 }
 @container (max-width:599px) {
  .single-product .dms-offers-component .dms-offer-card {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"logo price" "content content" "button button";row-gap:10px}
 }
}

/* Keep the selected offer prominent and align filters with the card chips. */
.single-product .dms-offers-component .dms-offer-card:not(.dms-best-choice) .dms-offer-button {
 background:#fff!important;color:#b51650!important;border:1px solid #df99b2!important;
}
.single-product .dms-offers-component .dms-offer-card:not(.dms-best-choice) .dms-offer-button:hover {
 background:#fff3f7!important;border-color:#c61958!important;
}
.dms-offers-component .dms-size-filter {gap:4px;margin:0 0 6px}
.dms-offers-component .dms-size-filter > span {color:#596371;font-size:12px;font-weight:600;margin-right:5px}
.dms-offers-component .dms-size-filter button {min-height:28px;min-width:29px;padding:3px 7px;font-size:12px;border-radius:5px;line-height:1.25}
.dms-offers-component .dms-size-filter button[aria-pressed=true] {background:#b61550;border-color:#b61550;color:white}
.dms-history-overview {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px 18px;border-bottom:1px solid #e5e8eb;padding:0 0 14px;margin:0 0 8px}
.dms-history-overview small {display:block;color:#5d6672;font-size:12px;margin-bottom:2px}
.dms-history-overview strong {font-size:clamp(20px,3vw,26px);line-height:1.2;font-variant-numeric:tabular-nums}
.dms-history-overview span {font-size:13px;color:#505a68}
.dms-history-trend {display:grid;gap:2px}
.dms-history-trend b {font-size:14px}
.dms-history-measurements {border-top:1px solid #e5e8eb}
@media(max-width:767px){
 .dms-history-overview {display:grid}
 .dms-offers-component .dms-size-filter button {min-height:32px;min-width:32px}
}

/* Zwevende affiliate-aanbieding voor producten zonder WooCommerce-winkelwagen. */
.dms-floating-offer[hidden] {display:none!important}
.dms-floating-offer {position:fixed;inset:auto 0 0;z-index:9998;box-sizing:border-box;background:#fff;border-top:1px solid #e3e6e9;box-shadow:0 -8px 28px rgba(26,35,45,.11);color:#1d232b}
.dms-floating-offer-inner {box-sizing:border-box;max-width:1240px;min-height:70px;margin:auto;padding:9px 22px;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(100px,145px) minmax(130px,auto) 96px;gap:13px;align-items:center}
.dms-floating-offer-no-image .dms-floating-offer-inner {grid-template-columns:minmax(0,1fr) minmax(100px,145px) minmax(130px,auto) 96px}
.dms-floating-offer-image {width:48px;height:48px;object-fit:contain;border-radius:7px;background:#f5f6f7}
.dms-floating-offer-title {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;font-weight:700}
.dms-floating-offer-shop,.dms-floating-offer-price {display:flex;flex-direction:column;min-width:0;gap:2px}
.dms-floating-offer-label {color:#bd1552;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}
.dms-floating-offer-merchant {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.3}
.dms-floating-offer-price {align-items:flex-end;text-align:right}
.dms-floating-offer-price strong {font-size:18px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.dms-floating-offer-price small {color:#65707c;font-size:11px;line-height:1.2;white-space:nowrap}
.dms-floating-offer-button {display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:7px 13px;border:1px solid #e71f63;border-radius:9px;background:#e71f63;color:#fff!important;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none!important}
.dms-floating-offer-button:hover {background:#c4144d;border-color:#c4144d;color:#fff!important}
.dms-floating-offer-button:focus-visible {outline:2px solid #8d1040;outline-offset:3px}
@media(max-width:767px){
 .dms-floating-offer-inner,.dms-floating-offer-no-image .dms-floating-offer-inner {min-height:66px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) minmax(83px,auto) 78px;gap:8px}
 .dms-floating-offer-image {display:none}
 .dms-floating-offer-title {display:none}
 .dms-floating-offer-label {font-size:11px}
 .dms-floating-offer-merchant {font-size:13px}
 .dms-floating-offer-price strong {font-size:16px}
 .dms-floating-offer-price small {max-width:100px;overflow:hidden;text-overflow:ellipsis;font-size:10px}
 .dms-floating-offer-button {min-height:40px;padding:6px 8px;font-size:12px}
}
@media(max-width:359px){
 .dms-floating-offer-inner {gap:6px}
}
@media(max-width:767px){
 .single-product .product-entry-wrapper .dms-mobile-product-heading {grid-column:1/-1;width:100%;min-width:0;margin:0 0 14px}
 .single-product .dms-mobile-product-heading .ct-breadcrumbs,
 .single-product .dms-mobile-product-heading .woocommerce-breadcrumb {max-width:100%;margin:0 0 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}
 .single-product .dms-mobile-product-heading .ct-breadcrumbs .last-item {display:none}
 .single-product .dms-mobile-product-heading h1 {margin:0!important;font-size:clamp(27px,6vw,32px)!important;line-height:1.13!important;letter-spacing:-.025em}
 .single-product .product-entry-wrapper .ct-product-gallery-container {margin-bottom:14px!important}
 .single-product .product-entry-wrapper .woocommerce-product-gallery {padding:16px!important;margin-bottom:14px!important;border-radius:18px!important}
 .single-product .woocommerce-product-gallery .flexy-view .ct-media-container img,
 .single-product .woocommerce-product-gallery > .ct-product-gallery-container > .ct-media-container img {max-height:min(78vw,360px);object-fit:contain}
 .single-product .entry-summary .dms-mobile-product-description {margin-bottom:0!important}
 .single-product .entry-summary .dms-mobile-product-description:not(.is-expanded) {max-height:4.9em;overflow:hidden;mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
 .single-product .entry-summary .dms-mobile-product-description.is-expanded {max-height:none;overflow:visible;mask-image:none}
 .single-product .dms-mobile-product-description > p:empty {display:none}
 .single-product .dms-mobile-product-expand {display:inline-flex;align-items:center;gap:7px;min-height:30px;margin:6px 0 16px;padding:0;border:0;border-radius:0;background:none;color:#4c5967;font:inherit;font-size:13px;font-weight:600;line-height:1.25;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
 .single-product .dms-mobile-product-expand::after {content:'';width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-top:-3px}
 .single-product .dms-mobile-product-expand[aria-expanded=true]::after {transform:rotate(225deg);margin-top:3px}
 .single-product .dms-mobile-product-expand:focus-visible {outline:2px solid #eb1b60;outline-offset:2px}
}
.dms-offers-component .dms-size-picker {position:relative;margin:0 0 10px;font:inherit}
.dms-offers-component .dms-size-picker summary {width:fit-content;display:flex;align-items:center;gap:.6rem;color:#545d69;font-size:13px;cursor:pointer;list-style:none;min-height:36px}
.dms-size-picker summary::-webkit-details-marker {display:none}
.dms-size-picker summary strong {color:#202630;font-weight:600}
.dms-size-picker summary::after {content:'';width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:-3px 4px 0}
.dms-size-picker[open] summary::after {transform:rotate(225deg);margin-top:3px}
.dms-offers-component .dms-size-picker[open] .dms-size-filter {margin:2px 0 8px}
/* Let the expanded choices take their own space above the offers. */
.dms-offers-component .dms-size-picker {width:fit-content;max-width:100%;margin:0 0 4px}
.dms-offers-component .dms-size-picker summary {min-height:32px;padding:2px 10px;border:1px solid #e1e4e8;border-radius:6px;background:white;font-size:12px}
.dms-offers-component .dms-size-picker[open] .dms-size-filter {position:static;margin:6px 0 12px;width:max-content;max-width:min(360px,90vw);padding:8px;box-sizing:border-box;background:#fafbfc;border:1px solid #e1e4e8;border-radius:8px}
@media (min-width:768px) {
 .dms-offers-component .dms-size-picker {width:100%;min-height:40px}
 .dms-offers-component .dms-size-picker summary {width:170px;min-height:40px;box-sizing:border-box;gap:8px;padding:0 12px;border-radius:7px}
 .dms-offers-component .dms-size-picker summary::after {transform:rotate(-45deg);margin:0 2px 0 auto}
 .dms-offers-component .dms-size-picker[open] summary {border-radius:7px 0 0 7px;border-right:0;background:#fafbfc}
 .dms-offers-component .dms-size-picker[open] summary::after {transform:rotate(135deg);margin:0 2px 0 auto}
 .dms-offers-component .dms-size-picker[open] .dms-size-filter {position:absolute;top:0;left:170px;display:flex;align-items:stretch;flex-wrap:wrap;gap:0;width:max-content;max-width:calc(100% - 170px);min-height:40px;margin:0;padding:0;overflow:visible;white-space:normal;border-radius:0 7px 7px 0;background:#fff}
 .dms-offers-component .dms-size-picker[open] .dms-size-filter button {flex:none;min-height:38px;min-width:40px;padding:6px 9px;border:0;border-radius:0;background:transparent;color:#394452;font-weight:500}
 .dms-offers-component .dms-size-picker[open] .dms-size-filter button + button {border-left:1px solid #edf0f2}
 .dms-offers-component .dms-size-picker[open] .dms-size-filter button[aria-pressed=true] {background:#fff0f5;color:#a51548;font-weight:700;box-shadow:inset 0 -2px #c61958}
 .dms-offers-component .dms-size-picker[open] .dms-size-filter button:hover {background:#f7f8fa}
 .dms-offers-component .dms-size-picker[open].is-wrapped summary {border:1px solid #e1e4e8;border-radius:7px}
 .dms-offers-component .dms-size-picker[open].is-wrapped .dms-size-filter {position:static;top:auto;left:auto;width:100%;max-width:100%;min-height:0;gap:4px;margin:7px 0 10px;padding:7px;border:1px solid #e1e4e8;border-radius:8px;background:#fafbfc;box-shadow:none}
 .dms-offers-component .dms-size-picker[open].is-wrapped .dms-size-filter button {min-height:36px;border:1px solid #e4e7ea;border-radius:5px}
 .dms-offers-component .dms-size-picker[open].is-wrapped .dms-size-filter button + button {border-left:1px solid #e4e7ea}
 .dms-offers-component .dms-size-picker[open].is-wrapped .dms-size-filter button[aria-pressed=true] {border-color:#d68ca9}
}
.dms-offers-component .dms-history-overview {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;margin:0 0 4px;border:1px solid #e4e7eb;border-radius:8px;background:#fafbfc}
.dms-history-overview[data-price-signal=favourable] {border-color:#cce4d6;background:#f4faf6}
.dms-history-overview[data-price-signal=favourable] .dms-history-trend b {color:#206443}
.dms-history-overview[data-price-signal=average] {border-color:#f0dfab;background:#fffaf0}
.dms-history-overview[data-price-signal=average] .dms-history-trend b {color:#805d16}
.dms-history-overview[data-price-signal=higher] {border-color:#f0d2cd;background:#fff7f5}
.dms-history-overview .dms-history-trend b {font-size:16px}
.dms-history-overview .dms-history-trend span {font-size:12px;line-height:1.45}
.dms-history-current {text-align:right}
.dms-history-current span {display:block}
.dms-offers-component .dms-history-alert-link {border:0;padding:0;background:none;color:#a51548;font:inherit;font-size:12px;text-decoration:underline;text-align:left;cursor:pointer}
@media(max-width:570px){.dms-offers-component .dms-history-overview {grid-template-columns:1fr;padding:10px 12px}.dms-history-current {text-align:left}.dms-history-current small,.dms-history-current span {display:inline;margin-right:5px}.dms-history-current strong {font-size:16px}}

/* The measurement list follows the compact cards and chart controls. */
.dms-offers-component .dms-history-measurements {margin:12px 0 4px;border-top:1px solid #e5e8eb}
.dms-offers-component .dms-history-measurements summary {display:flex;align-items:center;gap:8px;padding:12px 2px;color:#29313d;list-style:none}
.dms-offers-component .dms-history-measurements summary::-webkit-details-marker {display:none}
.dms-offers-component .dms-history-measurements summary::before {content:'';width:7px;height:7px;border:solid #657181;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .15s}
.dms-offers-component .dms-history-measurements[open] summary::before {transform:rotate(45deg)}
.dms-offers-component .dms-history-measurements > div {max-height:none;overflow:visible;border:1px solid #e5e8eb;border-radius:8px}
.dms-offers-component .dms-history-measurements table {border:0}
.dms-offers-component .dms-history-measurements thead {position:sticky;top:0;z-index:1;background:#f7f8fa;color:#596371}
.dms-offers-component .dms-history-measurements :is(th,td) {padding:8px 12px;border:0;border-bottom:1px solid #edf0f2;font-size:12px}
.dms-offers-component .dms-history-measurements tbody tr:last-child :is(th,td) {border-bottom:0}
.dms-offers-component .dms-history-measurements tbody tr:nth-child(even) {background:#fafbfc}
.dms-offers-component .dms-history-measurements tbody th {font-weight:500;color:#505a68}
.dms-offers-component .dms-history-measurements tbody td {font-weight:650;color:#252e39}
.dms-offers-component .dms-history-metric-switch {display:inline-flex;gap:3px;margin:0 0 14px;padding:3px;border:1px solid #e0e5e9;border-radius:9px;background:#f6f7f8}
.dms-offers-component .dms-history-metric-switch button {min-height:34px;padding:5px 12px;border:0;border-radius:6px;background:transparent;color:#596371;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.dms-offers-component .dms-history-metric-switch button.is-active {background:#fff;color:#222a35;box-shadow:0 1px 3px rgba(20,30,40,.1)}
.dms-offers-component .dms-history-metric-switch button:focus-visible {outline:2px solid #e71f63;outline-offset:2px}
@media (max-width:767px) {.dms-offers-component .dms-history-measurements > div {overflow-x:auto}}
@media(max-width:767px){
 .dms-offers-component .dms-history-series-controls {display:flex;flex-direction:column;align-items:stretch}
 .dms-offers-component .dms-offer-card {row-gap:7px!important;padding:13px 12px 11px!important}
 .dms-offers-component .dms-offer-card .dms-offer-logo-area,
 .dms-offers-component .dms-offer-card .dms-offer-merchant-logo-only {min-height:36px}
 .dms-offers-component .dms-offer-card .dms-offer-meta {gap:4px 10px}
 .dms-offers-component .dms-offer-card .dms-offer-sizes-mobile {gap:4px 7px}
 .dms-offers-component .dms-offer-card .dms-offer-button {min-height:42px;padding:8px 12px!important}
}
