/* MC2 DELIVERY — PADRONIZAÇÃO GLOBAL / FASE 2 */

/* =========================================================
   MC2 DELIVERY
   CARDS
========================================================= */


/* =========================================================
   CARD PADRÃO
========================================================= */

.card {

    background: var(--mc2-surface, #FFFFFF);

    border-radius: var(--mc2-radius-lg, 16px);

    overflow: hidden;

    box-shadow:
        var(--mc2-shadow-md, 0 6px 20px rgba(15,23,42,.08));

    transition: .25s;

}


.card:hover {

    transform: translateY(-4px);

    box-shadow:
        var(--mc2-shadow-lg, 0 10px 28px rgba(15,23,42,.12));

}


.card-body {

    padding: 18px;

}


.card-title {

    font-size: 22px;

    font-weight: bold;

    margin-bottom: 12px;

    color: var(--mc2-text, #111827);

}


.card-text {

    color: var(--mc2-text-secondary, #6B7280);

    line-height: 1.6;

    margin-bottom: 18px;

}


.card-footer {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 18px;

    border-top: 1px solid var(--mc2-border, #E5E7EB);

}


/* =========================================================
   CARD PRODUTO
========================================================= */

.product-card {

    background: var(--mc2-surface, #FFFFFF);

    border-radius: var(--mc2-radius-lg, 16px);

    overflow: hidden;

    box-shadow:
        var(--mc2-shadow-md, 0 6px 20px rgba(15,23,42,.08));

    transition: .25s;

}


.product-card:hover {

    transform: translateY(-6px);

    box-shadow:
        var(--mc2-shadow-lg, 0 10px 28px rgba(15,23,42,.12));

}


.product-image {

    width: 100%;

    height: 240px;

    object-fit: cover;

    display: block;

    background: var(--mc2-border, #E5E7EB);

}


.product-body {

    padding: 18px;

}


.product-name {

    font-size: 22px;

    font-weight: bold;

    margin-bottom: 10px;

    color: var(--mc2-text, #111827);

}


.product-description {

    color: var(--mc2-text-secondary, #6B7280);

    min-height: 48px;

    margin-bottom: 18px;

}


.product-price {

    font-size: 28px;

    font-weight: bold;

    color: var(--mc2-primary, #EA1D2C);

}


.product-footer {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 20px;

}


/* =========================================================
   GRID DO CARDÁPIO
========================================================= */

.products-grid {

    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 25px;

    width: 100%;

    margin-bottom: 40px;

}


/* =========================================================
   STATUS DO PRODUTO
========================================================= */

.product-status {

    display: inline-block;

    padding: 5px 12px;

    border-radius: var(--mc2-radius-pill, 999px);

    font-size: 13px;

    font-weight: bold;

    margin-bottom: 12px;

}


.status-available {

    background: var(--mc2-success-soft, #ECFDF5);

    color: var(--mc2-success, #047857);

}


.status-unavailable {

    background: var(--mc2-danger-soft, #FEF2F2);

    color: var(--mc2-danger, #B91C1C);

}


.product-price-area {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: 20px;

}


/* =========================================================
   RESPONSIVO - PRODUTOS
========================================================= */

@media (max-width: 900px) {

    .products-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media (max-width: 600px) {

    .products-grid {

        grid-template-columns: 1fr;

    }

}


/* =========================================================
   CARDS PÚBLICOS - RESTAURANTES
========================================================= */


/* =========================================================
   SEÇÃO
========================================================= */

.restaurants-section {

    width: 100%;

    margin-top: 40px;

}


.restaurants-header {

    margin-bottom: 25px;

}


.restaurants-header h2 {

    margin: 0;

    font-size: 28px;

    color: var(--mc2-text, #111827);

}


/* =========================================================
   GRID DOS RESTAURANTES
========================================================= */

.restaurants-grid {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 24px;

    width: 100%;

}


/* =========================================================
   CARD DO RESTAURANTE
========================================================= */

.restaurant-card {

    display: flex;

    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: var(--mc2-surface, #FFFFFF);

    border: 1px solid var(--mc2-border, #E5E7EB);

    border-radius: var(--mc2-radius-lg, 16px);

    box-shadow:
        var(--mc2-shadow-md, 0 6px 20px rgba(15,23,42,.08));

    transition:
        transform .2s ease,
        box-shadow .2s ease;

}


.restaurant-card:hover {

    transform: translateY(-4px);

    box-shadow:
        var(--mc2-shadow-lg, 0 10px 28px rgba(15,23,42,.12));

}


/* =========================================================
   IMAGEM DO RESTAURANTE
========================================================= */

.restaurant-card-image {

    width: 100%;

    height: 190px;

    overflow: hidden;

    background: var(--mc2-surface-soft, #F3F4F6);

}


.restaurant-card-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

}


.restaurant-card-placeholder {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    height: 100%;

    font-size: 60px;

    color: var(--mc2-text-muted, #9CA3AF);

    background: var(--mc2-surface-soft, #F3F4F6);

}


/* =========================================================
   INFORMAÇÕES DO RESTAURANTE
========================================================= */

.restaurant-card-body {

    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 18px 20px 10px;

}


.restaurant-card-title {

    margin: 0 0 6px;

    font-size: 21px;

    line-height: 1.3;

    color: var(--mc2-text, #111827);

}


.restaurant-card-category {

    margin-bottom: 8px;

    font-size: 14px;

    font-weight: 600;

    color: var(--mc2-primary, #EA1D2C);

}


.restaurant-card-description {

    margin: 0;

    font-size: 14px;

    line-height: 1.5;

    color: var(--mc2-text-secondary, #6B7280);

}


/* =========================================================
   STATUS DO RESTAURANTE
========================================================= */

.restaurant-card-status {

    display: flex;

    align-items: center;

    gap: 7px;

    margin-top: auto;

    padding-top: 15px;

    font-size: 14px;

    font-weight: 600;

    color: var(--mc2-success, #047857);

}


.restaurant-status-dot {

    width: 9px;

    height: 9px;

    border-radius: 50%;

    background: var(--mc2-success, #047857);

    flex-shrink: 0;

}


/* =========================================================
   RODAPÉ DO CARD DO RESTAURANTE
========================================================= */

.restaurant-card-footer {

    padding:
        0 20px 20px;

}


.restaurant-card-button {

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    box-sizing: border-box;

    padding: 12px 15px;

    border-radius: 9px;

    background: var(--mc2-primary, #EA1D2C);

    color: var(--mc2-surface, #FFFFFF);

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    transition:
        background .2s ease;

}


.restaurant-card-button:hover {

    background: var(--mc2-primary-hover, #D91827);

}


.restaurant-card-button span {

    font-size: 19px;

    line-height: 1;

}


/* =========================================================
   NENHUM RESTAURANTE
========================================================= */

.restaurants-empty {

    padding: 45px 20px;

    text-align: center;

    border: 1px solid var(--mc2-border, #E5E7EB);

    border-radius: 14px;

    background: var(--mc2-surface, #FFFFFF);

}


.restaurants-empty-icon {

    margin-bottom: 10px;

    font-size: 45px;

}


.restaurants-empty p {

    margin: 0;

    color: var(--mc2-text-secondary, #6B7280);

}


/* =========================================================
   RESTAURANTES - TABLET
========================================================= */

@media screen and (max-width: 1000px) {

    .restaurants-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

    }

}


/* =========================================================
   RESTAURANTES - MOBILE
========================================================= */

@media screen and (max-width: 768px) {

    .restaurants-section {

        margin-top: 30px;

    }


    .restaurants-header h2 {

        font-size: 24px;

    }


    .restaurants-grid {

        grid-template-columns: 1fr;

        gap: 18px;

    }


    .restaurant-card-image {

        height: 190px;

    }


    .restaurant-card-body {

        padding: 17px;

    }


    .restaurant-card-footer {

        padding:
            0 17px 17px;

    }

}


/* =========================================================
   RESTAURANTES - CELULARES PEQUENOS
========================================================= */

@media screen and (max-width: 480px) {

    .restaurant-card-image {

        height: 170px;

    }


    .restaurant-card-title {

        font-size: 19px;

    }

}