/* CODEPROF cart.new — gift layout hard fix */

/* Completely disable Bitrix fade/hover animation inside the gifts block. */
.cp-cart-new [data-entity="parent-container"],
.cp-cart-new [data-entity="parent-container"] [data-entity="sale-products-gift-container"],
.cp-cart-new [data-entity="parent-container"] .product-item-container,
.cp-cart-new [data-entity="parent-container"] .product-item,
.cp-cart-new [data-entity="parent-container"] .product-item-hidden,
.cp-cart-new [data-entity="parent-container"] .product-item-info-container,
.cp-cart-new [data-entity="parent-container"] .product-line-item-info-right-container,
.cp-cart-new [data-entity="parent-container"] .product-item-button-container {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: auto !important;
}

/*
 * catalog.item/bootstrap_v4 puts the buttons into:
 * .col-xs-12.col-sm-6.col-md-3.col-lg-3
 * Bootstrap therefore limits this column to 50/25%.
 * Override only the column that actually contains buttons-block.
 */
.cp-cart-new [data-entity="parent-container"] .row.product-item > [class*="col-"]:has([data-entity="buttons-block"]),
.cp-cart-new [data-entity="parent-container"] .row.product-item > .col-xs-12.col-sm-6.col-md-3.col-lg-3:has([data-entity="buttons-block"]) {
    display: block !important;
    float: none !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.cp-cart-new [data-entity="parent-container"] .row.product-item > [class*="col-"]:has([data-entity="buttons-block"]) .product-line-item-info-right-container,
.cp-cart-new [data-entity="parent-container"] .product-item-info-container[data-entity="buttons-block"],
.cp-cart-new [data-entity="parent-container"] .product-item-button-container {
    position: static !important;
    display: block !important;
    float: none !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.cp-cart-new [data-entity="parent-container"] .product-item-info-container[data-entity="buttons-block"] {
    margin-top: 10px !important;
}

/* The actual <a class="btn"> must fill the entire available card width. */
.cp-cart-new [data-entity="parent-container"] .product-item-button-container > .btn,
.cp-cart-new [data-entity="parent-container"] .product-item-button-container > a.btn,
.cp-cart-new [data-entity="parent-container"] [data-entity="buttons-block"] .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #0e3f75 !important;
    color: #fff !important;
    text-align: center !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.cp-cart-new [data-entity="parent-container"] .product-item-button-container > .btn:hover,
.cp-cart-new [data-entity="parent-container"] .product-item-button-container > .btn:focus {
    background: #0a315c !important;
    color: #fff !important;
    transform: none !important;
}

/* Disable the standard catalog.item hover expansion/fade as well. */
.cp-cart-new [data-entity="parent-container"] .product-item-container.hover .product-item,
.cp-cart-new [data-entity="parent-container"] .product-item-container:hover .product-item,
.cp-cart-new [data-entity="parent-container"] .product-item-container.hover,
.cp-cart-new [data-entity="parent-container"] .product-item-container:hover {
    position: relative !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Пока Bitrix асинхронно дорисовывает подарки, не используем display:none:
 * скрытый display мешает штатной первичной инициализации catalog.item. */
.cp-cart-new [data-entity="parent-container"]:not(.cp-cart-gifts-ready) {
    visibility: hidden !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-width: 0 !important;
}
.cp-cart-new [data-entity="parent-container"].cp-cart-gifts-hidden {
    display: none !important;
}

/* Kill every remaining fade/transition from catalog.item inside gifts. */
.cp-cart-new [data-entity="parent-container"] *,
.cp-cart-new [data-entity="parent-container"] *::before,
.cp-cart-new [data-entity="parent-container"] *::after {
    animation: none !important;
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    transition: none !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
}

/* Stable basket metadata order from the first render — no JS reordering flash. */
.cp-cart-new .basket-item-block-properties [data-column-code="PROPERTY_ARTICLE"] {
    order: 1 !important;
}
.cp-cart-new .basket-item-block-properties [data-column-code="DISCOUNT"] {
    order: 2 !important;
}

/* Mobile: gifts must always be one item per row, without card boxes. */
@media (max-width: 767px) {
    .cp-cart-new [data-entity="sale-products-gift-container"] [data-entity="items-row"],
    .cp-cart-new [data-entity="parent-container"] [data-entity="items-row"] {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .cp-cart-new [data-entity="sale-products-gift-container"] [data-entity="items-row"] > [class*="col-"],
    .cp-cart-new [data-entity="parent-container"] [data-entity="items-row"] > [class*="col-"] {
        float: none !important;
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #d7e0e8 !important;
    }

    .cp-cart-new [data-entity="parent-container"] [data-entity="items-row"] > [class*="col-"]:last-child,
    .cp-cart-new [data-entity="sale-products-gift-container"] [data-entity="items-row"] > [class*="col-"]:last-child {
        border-bottom: 0 !important;
    }

    .cp-cart-new [data-entity="parent-container"] .product-item-container,
    .cp-cart-new [data-entity="parent-container"] .product-item,
    .cp-cart-new [data-entity="parent-container"] .row.product-item {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 16px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .cp-cart-new [data-entity="parent-container"] .product-item-image-wrapper,
    .cp-cart-new [data-entity="parent-container"] .product-item-image-original,
    .cp-cart-new [data-entity="parent-container"] .product-item-image-alternative {
        border-radius: 0 !important;
    }

    .cp-cart-new [data-entity="parent-container"] [data-entity="buttons-block"],
    .cp-cart-new [data-entity="parent-container"] .product-item-button-container,
    .cp-cart-new [data-entity="parent-container"] .product-item-button-container > .btn {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
}
