/* Preorder availability label (shop loop + PDP + cart suggestions) */
.raa-preorder,
.product-stock-status .raa-preorder,
.stock.raa-preorder {
    color: #b8860b;
    font-weight: 600;
}

.raa-preorder::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #b8860b;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
}

/* Accesorii / Produse de curățare sections — inherit "Produse similare"
   styling from Shoptimizer's `.related.products` selector. We add only a
   small spacing tweak between sections so two stacked carousels don't run
   into each other. */
.raa-related + .raa-related {
    margin-top: 32px;
}

.raa-related h2 {
    margin-bottom: 16px;
}

/* Cart-page suggestion carousel — max 3 visible cards, prev/next arrows.
   Forces the WC product grid into a horizontal scroll-snap track. */
.raa-carousel .raa-carousel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.raa-carousel .raa-carousel__head h2 {
    margin: 0;
}

.raa-carousel__nav {
    display: inline-flex;
    gap: 8px;
}

.raa-carousel__btn {
    width: 40px;
    height: 40px;
    border: 1px solid #d2d2d4;
    background: #fff;
    color: #111;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    padding: 0;
}

.raa-carousel__btn:hover:not([disabled]) {
    background: #111;
    color: #fff;
    border-color: #111;
}

.raa-carousel__btn[disabled] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Override Shoptimizer/WC grid layout INSIDE the cart carousel only.
   The wrapper is `<ul class="products columns-N">`. We force a flex track
   with horizontal scroll-snap, and slim each card to ~1/3 width. */
.raa-carousel ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0;
    padding-bottom: 4px;
}

.raa-carousel ul.products::-webkit-scrollbar { display: none; }

.raa-carousel ul.products > li.product {
    flex: 0 0 calc((100% - 32px) / 3);
    max-width: calc((100% - 32px) / 3);
    margin: 0 !important;
    width: auto !important;
    scroll-snap-align: start;
}

@media (max-width: 900px) {
    .raa-carousel ul.products > li.product {
        flex-basis: calc((100% - 16px) / 2);
        max-width: calc((100% - 16px) / 2);
    }
}

@media (max-width: 600px) {
    .raa-carousel ul.products > li.product {
        flex-basis: 80%;
        max-width: 80%;
    }
}
