/*
 * Kategorisidens filtre i det nye design (Capalus_Plp, filtre-plan.md §0; designet "Kategori" i zip 19/10):
 * bjælke med chips (40px, radius 20), venstre kolonne 240px med afkrydsning + antal, mobil-skuffe som ark.
 * Kun aktiv, når capalus_plp/filters/enabled er slået til (ellers renderes markuppen ikke).
 */
.cc-plp-bar {
    --plp-blue: #006CAF;
    --plp-border: #D5D9DD;
    --plp-text: #1D1D1D;
    --plp-grey: #676767;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 16px;
}
.cc-plp-count {
    margin: 0;
    font-size: 14px;
    color: var(--plp-grey);
}
.cc-plp-chips {
    display: flex;
    gap: 8px;
    align-items: center;
}
.cc-plp-subs,
.cc-plp-quick {
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
}
.cc-plp-subs::-webkit-scrollbar,
.cc-plp-quick::-webkit-scrollbar {
    display: none;
}
.cc-chip {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 4px;
    height: 40px;
    padding: 0 16px;
    border: 1px solid var(--plp-border);
    border-radius: 20px;
    background: #fff;
    color: var(--plp-text);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
}
.cc-chip:hover {
    border-color: var(--plp-blue);
}
.cc-chip.is-active {
    border-color: var(--plp-blue);
    background: var(--plp-blue);
    color: #fff;
    font-weight: 700;
}
.cc-chip--quick {
    padding: 0 14px;
}
.cc-chip--quick.is-active,
.cc-chip--active {
    border-color: var(--plp-blue);
    background: #EAF3FA;
    color: var(--plp-blue);
    font-weight: 700;
}
.cc-chip--active {
    height: 34px;
    padding: 0 12px;
    font-size: 13px;
}
.cc-chip-x {
    font-size: 18px;
    line-height: 1;
}
.cc-plp-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.cc-plp-row .cc-plp-quick {
    flex: 1;
    min-width: 0;
}
.cc-plp-filterbtn {
    display: none;
    flex-shrink: 0;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--plp-text);
    border-radius: 20px;
    background: #fff;
    color: var(--plp-text);
    font-size: 14px;
    font-weight: 700;
}
.cc-plp-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--plp-blue);
    color: #fff;
    font-size: 12px;
}
/* Gitter/liste-skift + sortering (R7 QA #50): til højre i rækken på desktop, egen linje på mobil (som live) */
.cc-plp-tools {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 12px;
    margin: 0 0 0 auto;
}
.cc-plp-modes {
    display: flex;
    gap: 6px;
}
.cc-plp-mode {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--plp-border);
    border-radius: 5px;
    background: #fff;
    color: var(--plp-grey);
}
.cc-plp-mode:hover,
.cc-plp-mode.is-active {
    border-color: var(--plp-blue);
    color: var(--plp-blue);
}
.cc-plp-mode.is-active {
    box-shadow: inset 0 0 0 1px var(--plp-blue);
}
.cc-plp-sort {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
    margin: 0 0 0 auto;
}
.cc-plp-sort-label {
    font-size: 14px;
    color: var(--plp-grey);
}
.cc-plp-sort select {
    height: 40px;
    padding: 0 32px 0 12px;
    border: 1px solid var(--plp-border);
    border-radius: 5px;
    background-color: #fff;
    color: var(--plp-text);
    font-size: 14px;
    font-weight: 600;
}
.cc-plp-active {
    flex-wrap: wrap;
}
.cc-plp-clear {
    font-size: 13px;
    font-weight: 700;
    color: var(--plp-blue);
    text-decoration: underline;
}
.cc-plp-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px 16px;
    text-align: center;
}
.cc-plp-empty strong {
    font-size: 18px;
}
.cc-plp-empty-reset {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 20px;
    border: 1px solid var(--plp-blue);
    border-radius: 5px;
    color: var(--plp-blue);
    font-size: 14px;
    font-weight: 700;
}

/* Venstre kolonne (desktop) */
.cc-plp-filters {
    --plp-blue: #006CAF;
    --plp-text: #1D1D1D;
    --plp-grey: #676767;
    width: 240px;
    color: var(--plp-text);
}
.cc-plp-sheet-head,
.cc-plp-sheet-foot {
    display: none;
}
.cc-plp-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 0;
    border-top: 1px solid #E7E7E7;
}
.cc-plp-group:first-child {
    border-top: 0;
    padding-top: 0;
}
.cc-plp-group-title {
    margin-bottom: 4px;
    font-size: 15px;
}
.cc-plp-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 30px;
    color: var(--plp-text);
    font-size: 14px;
    text-decoration: none;
}
.cc-plp-opt:hover .cc-plp-label {
    text-decoration: underline;
}
.cc-plp-opt.is-extra {
    display: none;
}
.cc-plp-group.is-expanded .cc-plp-opt.is-extra {
    display: flex;
}
.cc-plp-box {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border: 1.5px solid #B6B6B6;
    border-radius: 4px;
    background: #fff;
}
.cc-plp-opt.is-checked .cc-plp-box {
    border-color: var(--plp-blue);
    background: var(--plp-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 15px no-repeat;
}
.cc-plp-label {
    flex: 1;
    min-width: 0;
}
.cc-plp-cnt {
    color: var(--plp-grey);
    font-size: 13px;
}
.cc-plp-more {
    align-self: flex-start;
    margin-top: 4px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--plp-blue);
    font-size: 13px;
    font-weight: 700;
}

/* Indlæsning: listen dæmpes kort (ingen layout-skift) */
.cc-plp-loading #amasty-shopby-product-list,
.cc-plp-loading #cc-plp-filters .cc-plp-groups {
    opacity: .5;
    transition: opacity .15s;
}

/* Magentos/Amastys egne knapper erstattes af bjælken: visningsvalg, antal, sortering og antal pr. side */
body:has(#cc-plp-bar) .toolbar-products .modes,
body:has(#cc-plp-bar) .toolbar-products .toolbar-amount,
body:has(#cc-plp-bar) .toolbar-products .sorter,
body:has(#cc-plp-bar) .toolbar-products .limiter {
    display: none !important;
}
/* Den øverste værktøjslinje (før listen) er tom uden dem – bladring står i den nederste */
body:has(#cc-plp-bar) .toolbar-products:has(~ .products.wrapper) {
    display: none !important;
}
/* R7 QA #43 (4/11): media/custom_new.css skjuler den nederste værktøjslinje (.products.wrapper.mode-grid.products-grid ~
   .toolbar.toolbar-products { display: none !important }), fordi live bladrer med Amastys uendelige rulning. Hvor den ikke
   er slået til (design: amasty_scroll/general/loading = none for DK og DE), manglede al bladring: "58 produkter", men kun
   de første 12 kunne nås. Uden Amasty-rulning (ingen initAmScroll på siden) vises derfor bladringen under listen; med den
   er alt som før. Selektoren har et id (#cc-plp-bar) og vinder derfor over custom_new.css. */
body:has(#cc-plp-bar):not(:has([x-data="initAmScroll()"])) .products.wrapper ~ .toolbar.toolbar-products {
    display: grid !important;
}

/* Mobil: venstre kolonne skjult; "Filtre" åbner arket (85vh, afrundet top, "Nulstil" + "Vis N produkter" i bunden) */
@media (max-width: 767px) {
    .cc-plp-filterbtn {
        display: inline-flex;
    }
    .cc-plp-sort-label {
        display: none;
    }
    /* Skitsen (Capalus Shop.dc.html, mobil): "Filtre" står forrest i rækken med hurtigfiltrene, chipsene ombrydes under
       den, og sorteringen står for sig til højre nedenunder */
    .cc-plp-row {
        flex-wrap: wrap;
    }
    .cc-plp-row .cc-plp-quick {
        display: contents;
    }
    /* Sorteringsbjælken (visningsskift til venstre, sortering til højre) på egen linje; 20 px fra filterrækken og
       16 px til første kort som på live (R7 QA #51, målt på capalus.dk/.de 3/11: 8 px rækkeafstand + 12 px) */
    .cc-plp-row .cc-plp-tools {
        order: 10;
        flex-basis: 100%;
        justify-content: space-between;
        margin-top: 12px;
    }
    .page-products div#amasty-shopby-product-list .products.wrapper > ul.grid {
        padding-top: 0;
    }
    /* Samme afstand venstre og højre om kortene (R7 QA #52): .column.main har 10 px ekstra til venstre fra
       custom_new.css (til desktopens filterkolonne), som ikke findes på mobil → 20/20 som live */
    body.page-products .columns .column.main {
        padding-left: 0;
    }
    /* Afstand mellem kortrækkerne (R7 QA #53): designets gittermellemrum på mobil, 8 px begge veje
       (Capalus Shop.dc.html: gap clamp(8px, 1vw, 14px)); custom_new.css satte gap: 0 */
    .page-products div#amasty-shopby-product-list .products.wrapper > ul.grid {
        gap: 8px;
    }
    .cc-plp-filters {
        display: none;
    }
    .cc-plp-open .cc-plp-filters {
        position: fixed;
        z-index: var(--cc-z-drawer, 500); /* temaets layers.css */
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        flex-direction: column;
        width: auto;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
        background: #fff;
        box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .45);
    }
    .cc-plp-open {
        overflow: hidden;
    }
    .cc-plp-open .cc-plp-sheet-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 8px 8px 20px;
        border-bottom: 1px solid #E7E7E7;
        font-size: 18px;
    }
    .cc-plp-close {
        width: 44px;
        height: 44px;
        border: 0;
        background: none;
        font-size: 28px;
        line-height: 1;
    }
    .cc-plp-open .cc-plp-groups {
        flex: 1;
        overflow-y: auto;
        padding: 0 20px;
    }
    .cc-plp-open .cc-plp-group:first-child {
        padding-top: 16px;
    }
    .cc-plp-open .cc-plp-opt {
        min-height: 44px;
        font-size: 15px;
    }
    .cc-plp-open .cc-plp-sheet-foot {
        display: flex;
        gap: 10px;
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
        border-top: 1px solid #E7E7E7;
    }
    .cc-plp-reset,
    .cc-plp-apply {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 48px;
        border-radius: 5px;
        font-size: 15px;
        font-weight: 700;
    }
    .cc-plp-reset {
        padding: 0 18px;
        border: 1px solid var(--plp-text);
        color: var(--plp-text);
    }
    .cc-plp-reset.is-disabled {
        opacity: .4;
        pointer-events: none;
    }
    .cc-plp-apply {
        flex: 1;
        border: 0;
        background: var(--plp-blue);
        color: #fff;
    }
}

/* Listevisning (R7 QA #50, Thomas 3/11): samme kort, billedet til venstre og teksten/prisen til højre, én pr. linje */
.page-products .products-list > ul.grid {
    grid-template-columns: minmax(0, 1fr);
}
.page-products .products-list .capalus-card.cc {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    align-items: stretch;
}
.page-products .products-list .capalus-card.cc .cc-media {
    align-self: start;
    aspect-ratio: 1 / 1;
    border-radius: 8px 0 0 8px;
}
.page-products .products-list .capalus-card.cc .cc-body {
    padding: 10px 12px;
}
@media (min-width: 768px) {
    .page-products .products-list .capalus-card.cc {
        grid-template-columns: 200px minmax(0, 1fr);
    }
    .page-products .products-list .capalus-card.cc .cc-media {
        aspect-ratio: 5 / 4;
    }
    .page-products .products-list .capalus-card.cc .cc-body {
        padding: 16px 20px;
    }
}
