/*--------modal---------*/
.modal-overlay{
    position: fixed;
    inset: 0;
    
    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;

    transition: opacity .3s ease;

    justify-content: center;
    align-items: center;

    background: rgba(0,0,0,.6);
    z-index: 1000;
}

.modal-overlay.active{
    opacity: 1;
    visibility: visible;
}

/* =========================
        КАРТОЧКА
========================= */

.product-card{
    width: 90%;
    max-width: 420px;
    height: 70vh;

    background: white;
    border-radius: 24px;
    overflow: hidden;

    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px rgba(0,0,0,.35);
}

/* =========================
      ВЕРХНЯЯ ЧАСТЬ
========================= */

.card-header{
    flex: 4;

    position: relative;
    overflow: hidden;
}

/* Фото */

.card-header img{
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

/* Градиент поверх изображения */

.card-header::after{
    content:"";

    position:absolute;
    inset:0;

    background: linear-gradient(
        to top,
        var(--primary-color) 0%,
        color-mix(in srgb, var(--primary-color) 55%, transparent) 35%,
        transparent 75%
    );
}

/* Информация */

.card-info{
    position:absolute;
    left:20px;
    right:20px;
    bottom:20px;

    display:flex;
    flex-direction:column;
    gap:8px;

    z-index:2;
}

.card-info h3{
    margin:0;
    font-size:24px;
    color: var(--secondary-color);
}

.card-info p{
    margin:0;
    font-size:15px;
    line-height:1.4;
    color: var(--secondary-color);
}

#modalPrice{
    font-size:22px;
    font-weight:bold;
}

/* =========================
       НИЖНЯЯ ПАНЕЛЬ
========================= */

.card-buttons{
    flex:1;
    flex-shrink:0;
    background:var(--primary-color);

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:12px;
    padding:15px;
}

/* Кнопки */

.card-button{
    flex:1;

    height:48px;

    border:none;
    border-radius:16px;

    background:transparent;

    color:var(--secondary-color);
    font-size:16px;
    font-weight:bold;

    cursor:pointer;

    transition:.2s;
}

.card-button:hover{
    background:rgba(255,255,255,.15);
}
.card-button:active{
    background:rgba(255,255,255,.15);
}

/* =========================
       КОЛИЧЕСТВО
========================= */

.card-quantity{
    flex:1.2;

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;

    color:var(--secondary-color);
}

.quantity{
    display:flex;
    align-items:center;
    gap:12px;
}

.quantity button{
    width:36px;
    height:36px;

    border:none;
    border-radius:50%;

    background:var(--secondary-color);

    color:var(--primary-color);
    font-size:22px;
    cursor:pointer;
}
.cart-item .quantity button{
    background:rgb(240, 240, 240);

    color:black;
}

#count{
    min-width:24px;

    text-align:center;

    font-size:20px;
    font-weight:bold;

    color:var(--secondary-color);
}
/*------------------------------------------------------------------------------------*/
/*==================================
        ОКНО КОРЗИНЫ
===================================*/

.cart-window{

    width:90%;
    max-width:420px;

    display:flex;
    flex-direction:column;

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    max-height:80vh;
}

/* Появление окна */

.modal-overlay.active .cart-window{
    transform:translateY(0);
    opacity:1;
}


/*==================================
        БАННЕР
===================================*/

.cart-header{
    flex-shrink:0;
    height:160px;
}

.cart-header img{
    width:100%;
    height:100%;

    object-fit:cover;
}


/*==================================
      ОСНОВНАЯ ЧАСТЬ
===================================*/

.cart-info{
    flex:5;

    display:flex;
    flex-direction:column;

    padding:20px;
    gap:15px;

    min-height:0;
}


/*==================================
        ЗАГОЛОВОК
===================================*/

.cart-info h2{
    margin:0;

    text-align:center;

    font-size:24px;
}


/*==================================
      СПИСОК ТОВАРОВ
===================================*/

.cartItems{

    flex:1;

    overflow-y:auto;

    min-height:0;

    display:flex;
    flex-direction:column;

    gap:12px;
}

/*==================================
      ОДИН ТОВАР
===================================*/

.cart-item{

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:12px;

    padding:10px 0;

    border-bottom:1px solid #ececec;
}


/* Название блюда */

.cart-item h4{

    flex:2;

    margin:0;

    font-size:16px;

    font-weight:600;
}


/* Цена */

.cart-item span:last-child{

    min-width:70px;

    text-align:right;

    font-weight:bold;
}


/*==================================
        ИТОГ
===================================*/

.cart-total{

    display:flex;
    flex-shrink:0;
    justify-content:center;

    gap:10px;

    font-size:20px;
    font-weight:bold;

    margin-top:auto;
}