.product-item.rac-cdb-enabled,
.product-item-info.rac-cdb-enabled,
.products-grid .product-item.rac-cdb-enabled,
.products-grid .product-item-info.rac-cdb-enabled {
    position: relative;
}
.product-item-photo.rac-cdb-photo-wrap {
    position: relative !important;
    overflow: visible !important;
}
.rac-cdb-original-hidden,
.rac-cdb-qty-hidden {
    display: none !important;
}
.rac-cdb-wishlist-slot {
    position: absolute !important;
    left: 50% !important;
    top: var(--rac-cdb-wishlist-top, 0px) !important;
    transform: translate(-50%, -50%) !important;
    z-index: 30 !important;
    width: 66px !important;
    height: 66px !important;
    pointer-events: none !important;
}
.rac-cdb-wishlist-slot .rac-cdb-wishlist-float {
    pointer-events: auto !important;
}
.rac-cdb-wishlist-float {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 66px !important;
    height: 66px !important;
    min-width: 66px !important;
    min-height: 66px !important;
    padding: 0 !important;
    border: 1px solid #e4e4e4 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 2px 9px rgba(0,0,0,.14) !important;
    z-index: 31 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-indent: 0 !important;
    overflow: visible !important;
}
.rac-cdb-wishlist-float span,
.rac-cdb-wishlist-float .counter.qty {
    display: none !important;
}
.rac-cdb-wishlist-float:before {
    content: '♥' !important;
    font-family: Arial, Helvetica, sans-serif !important;
    speak: none !important;
    color: #9d9d9d !important;
    font-size: 34px !important;
    line-height: 66px !important;
    width: 66px !important;
    height: 66px !important;
    margin: 0 !important;
    text-align: center !important;
}
.rac-cdb-button-wrap {
    width: 100%;
    margin: 14px auto 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    clear: both;
}
.rac-cdb-button {
    appearance: none;
    border: 0;
    background: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 58px;
    padding: 10px 18px;
    box-sizing: border-box;
    box-shadow: 0 2px 10px rgba(0,0,0,.11);
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.rac-cdb-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 13px rgba(0,0,0,.15);
}
.rac-cdb-button:disabled {
    cursor: wait;
    opacity: .65;
}
.rac-cdb-button img {
    display: block;
    object-fit: contain;
}
.rac-cdb-plus {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}
.rac-cdb-layout-split_square .rac-cdb-button-wrap {
    gap: 0;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
    max-width: 260px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.rac-cdb-layout-split_square .rac-cdb-button {
    flex: 1 1 50%;
    border-radius: 0;
    box-shadow: none;
    min-width: 120px;
}
.rac-cdb-layout-split_square .rac-cdb-button + .rac-cdb-button {
    border-left: 1px solid #e8e8e8;
}
.rac-cdb-layout-circle_float .rac-cdb-button {
    width: 68px;
    height: 68px;
    min-height: 68px;
    border-radius: 50%;
    padding: 8px;
}
.rac-cdb-layout-circle_float .rac-cdb-button-wrap {
    gap: 24px;
}
.rac-cdb-layout-joined_pill .rac-cdb-button-wrap {
    max-width: 264px;
    border: 1px solid #eee;
    border-radius: 34px;
    overflow: hidden;
    gap: 0;
    box-shadow: 0 2px 9px rgba(0,0,0,.10);
}
.rac-cdb-layout-joined_pill .rac-cdb-button {
    flex: 1 1 50%;
    border-radius: 0;
    box-shadow: none;
    min-width: 122px;
}
.rac-cdb-layout-joined_pill .rac-cdb-button + .rac-cdb-button {
    border-left: 1px solid #eee;
}
.rac-cdb-layout-separate_pill .rac-cdb-button {
    min-width: 112px;
    border-radius: 16px;
}
body.wishlist-index-index .product-item .box-tocart .field.qty,
body.wishlist-index-index .product-item input.qty,
body.wishlist-index-index .product-item .control.qty,
.products-grid.wishlist .product-item .box-tocart .field.qty,
.products-grid.wishlist .product-item input.qty {
    display: none !important;
}
body.wishlist-index-index .product-item .rac-cdb-button-wrap,
.products-grid.wishlist .product-item .rac-cdb-button-wrap {
    justify-content: flex-start;
    margin: 10px 0 8px;
    max-width: 260px;
}
body.wishlist-index-index .product-item .rac-cdb-button,
.products-grid.wishlist .product-item .rac-cdb-button {
    min-height: 45px;
    padding: 7px 12px;
}
body.wishlist-index-index .product-item .rac-cdb-layout-split_square .rac-cdb-button-wrap,
.products-grid.wishlist .product-item.rac-cdb-layout-split_square .rac-cdb-button-wrap {
    margin-left: 0;
    margin-right: auto;
}
.rac-cdb-message {
    position: fixed;
    left: 50%;
    top: 88px;
    transform: translateX(-50%);
    z-index: 9999;
    background: #fff;
    border: 1px solid #ddd;
    border-left: 5px solid #05b8e4;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
    padding: 12px 18px;
    max-width: 420px;
    font-size: 14px;
}
.rac-cdb-message.error {
    border-left-color: #de1888;
}


/* Wishlist tegel: knoppen bewust compacter dan catalogus, ongeacht gekozen admin-layout. */
body.wishlist-index-index .product-item .rac-cdb-button-wrap,
.products-grid.wishlist .product-item .rac-cdb-button-wrap {
    width: 188px !important;
    max-width: 188px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}
body.wishlist-index-index .product-item .rac-cdb-layout-split_square .rac-cdb-button,
.products-grid.wishlist .product-item.rac-cdb-layout-split_square .rac-cdb-button,
body.wishlist-index-index .product-item .rac-cdb-layout-joined_pill .rac-cdb-button,
.products-grid.wishlist .product-item.rac-cdb-layout-joined_pill .rac-cdb-button {
    min-width: 94px !important;
    width: 94px !important;
    flex-basis: 94px !important;
    gap: 8px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}
body.wishlist-index-index .product-item .rac-cdb-layout-separate_pill .rac-cdb-button,
.products-grid.wishlist .product-item.rac-cdb-layout-separate_pill .rac-cdb-button {
    min-width: 86px !important;
    width: 86px !important;
}
body.wishlist-index-index .product-item .rac-cdb-layout-circle_float .rac-cdb-button,
.products-grid.wishlist .product-item.rac-cdb-layout-circle_float .rac-cdb-button {
    width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
}
body.wishlist-index-index .product-item .rac-cdb-button img,
.products-grid.wishlist .product-item .rac-cdb-button img {
    max-width: 30px !important;
    max-height: 30px !important;
}


/* v6: voorkom kort tonen van oude catalogus/wishlist knoppen voordat JS klaar is. */
html.rac-cdb-prehide .products-grid .product-item .action.tocart,
html.rac-cdb-prehide .products-grid .product-item button.tocart,
html.rac-cdb-prehide .products-grid .product-item .box-tocart .field.qty,
html.rac-cdb-prehide .products-grid .product-item input.qty {
    visibility: hidden !important;
}
html.rac-cdb-prehide .products-grid .product-item .actions-secondary a.towishlist {
    visibility: hidden !important;
}

/* v7: wishlist heart as a true child overlay of the image block. */
.product-item-photo.rac-cdb-photo-wrap {
    position: relative !important;
    overflow: visible !important;
    display: block !important;
}
.product-item-photo.rac-cdb-photo-wrap > .rac-cdb-wishlist-slot {
    position: absolute !important;
    left: 50% !important;
    top: auto !important;
    bottom: 0 !important;
    transform: translate(-50%, 50%) !important;
    z-index: 60 !important;
    width: 56px !important;
    height: 56px !important;
    pointer-events: none !important;
}
.product-item-photo.rac-cdb-photo-wrap > .rac-cdb-wishlist-slot .rac-cdb-wishlist-float {
    pointer-events: auto !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
}
.rac-cdb-wishlist-float:before {
    font-size: 28px !important;
    line-height: 56px !important;
    transform: scaleX(1.12) !important;
}
body.wishlist-index-index .product-item .rac-cdb-button-wrap,
.products-grid.wishlist .product-item .rac-cdb-button-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* v8: wishlist-hart niet meer afhankelijk van afbeeldingshoogte; links boven de omschrijving zoals live icoon. */
.rac-cdb-wishlist-inline-slot {
    position: relative !important;
    z-index: 90 !important;
    width: 100% !important;
    height: 28px !important;
    margin: 0 0 2px !important;
    padding: 0 0 0 6px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    overflow: visible !important;
}
.rac-cdb-wishlist-inline {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 91 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 28px !important;
    min-width: 32px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
    line-height: 28px !important;
}
.rac-cdb-wishlist-inline span,
.rac-cdb-wishlist-inline .counter.qty {
    display: none !important;
}
.rac-cdb-wishlist-inline:before {
    content: "\e089" !important;
    font-family: 'ElegantIcons' !important;
    speak: none !important;
    color: #999 !important;
    font-size: 30px !important;
    line-height: 28px !important;
    width: 32px !important;
    height: 28px !important;
    margin: 0 !important;
    text-align: center !important;
    transform: scaleX(1.08) !important;
}
.rac-cdb-wishlist-inline:hover:before,
.rac-cdb-wishlist-inline:focus:before {
    color: #777 !important;
}


/* v9: wishlist icoon als overlay zonder extra ruimte; positie instelbaar via admin. */
.rac-cdb-details-has-wishlist-overlay {
    position: relative !important;
}
.rac-cdb-wishlist-inline-slot {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.rac-cdb-wishlist-overlay-slot {
    position: absolute !important;
    z-index: 120 !important;
    pointer-events: none !important;
    overflow: visible !important;
}
.rac-cdb-wishlist-overlay-slot .rac-cdb-wishlist-overlay {
    pointer-events: auto !important;
}
.rac-cdb-wishlist-overlay {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 121 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
    color: #999 !important;
}
.rac-cdb-wishlist-overlay span,
.rac-cdb-wishlist-overlay .counter.qty {
    display: none !important;
}
.rac-cdb-wishlist-overlay:before {
    content: "\e089" !important;
    font-family: 'ElegantIcons' !important;
    speak: none !important;
    color: #999 !important;
    font-size: var(--rac-cdb-wishlist-icon-font, 30px) !important;
    line-height: var(--rac-cdb-wishlist-icon-height, 28px) !important;
    width: var(--rac-cdb-wishlist-icon-width, 32px) !important;
    height: var(--rac-cdb-wishlist-icon-height, 28px) !important;
    margin: 0 !important;
    text-align: center !important;
    transform: scaleX(1.08) !important;
}
.rac-cdb-wishlist-overlay:hover:before,
.rac-cdb-wishlist-overlay:focus:before {
    color: #777 !important;
}

/* v10: PNG-iconen worden als CSS mask ingekleurd met de admin-kleur. */
.rac-cdb-icon {
    display: inline-block !important;
    flex: 0 0 auto !important;
}
.rac-cdb-button img {
    display: none !important;
}
/* Wishlist icoon staat vanaf v10 altijd als overlay bij artikelcode/prijs. */
.rac-cdb-wishlist-pos-price .rac-cdb-wishlist-overlay-slot {
    left: 4px !important;
}
body.wishlist-index-index .product-item .rac-cdb-button-wrap,
.products-grid.wishlist .product-item .rac-cdb-button-wrap {
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
}


/* v11: wishlist knoppen exact gecentreerd binnen de wishlist-tegel. */
body.wishlist-index-index .product-item .rac-cdb-button-wrap,
.products-grid.wishlist .product-item .rac-cdb-button-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
    left: -6px !important;
}

.rac-cdb-button-wrap.rac-cdb-single-option { grid-template-columns: 1fr; }
.rac-cdb-button-wrap .rac-cdb-unavailable { display: none !important; }
.rac-cdb-button-wrap.rac-cdb-no-option { display: none !important; }

/* v13: voorkom korte flash van beide knoppen voordat beschikbaarheid is opgehaald */
.rac-cdb-button-wrap.rac-cdb-awaiting-availability { display: none !important; }


/* RAC v14: factuur/invoice tab altijd verbergen op klant-order schermen, ook na klik op Verzonden tabblad */
.rac-cdb-invoice-tab-hidden {
    display: none !important;
}
body[class*="sales-order"] .order-links .item:has(a[href*="/invoice"]),
body[class*="sales-order"] .items.order-links .item:has(a[href*="/invoice"]),
body[class*="sales-order"] .nav.items .item:has(a[href*="/invoice"]) {
    display: none !important;
}
