/* ==========================================================
   MHDS CART — PRODUCTS / LAYOUT
   Versão 1.0.7
   ========================================================== */


/* ==========================================================
   BOTÃO DE CATEGORIAS
   ========================================================== */

.mhds-cart-mobile-menu {
    box-sizing: border-box;

    width: min(100% - 40px, 1400px);

    margin: 0 auto 20px;
}

.mhds-cart-mobile-menu #btnShowSidebar {
    display: inline-flex;

    min-height: 42px;

    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 0 15px;

    border: 1px solid #cfdbe5;
    border-radius: 10px;

    background: #ffffff;

    color: #173a59;

    font-size: 10px;
    font-weight: 800;

    box-shadow:
        0 8px 22px
        rgba(16, 47, 77, 0.05);

    cursor: pointer;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.mhds-cart-mobile-menu #btnShowSidebar:hover,
.mhds-cart-mobile-menu #btnShowSidebar:focus {
    border-color: #0e497e;

    background: #f5f8fb;

    color: #0e497e;

    outline: none;

    transform: translateY(-1px);
}


/* ==========================================================
   LAYOUT PRINCIPAL
   ========================================================== */

.mhds-cart-layout {
    display: grid;

    grid-template-columns:
        240px
        minmax(0, 1fr);

    grid-template-areas:
        "sidebar main";

    align-items: start;

    gap: 24px;

    box-sizing: border-box;

    width: min(100% - 40px, 1400px);

    margin: 0 auto;
}

.mhds-cart-layout__sidebar {
    grid-area: sidebar;

    width: 100%;
    min-width: 0;
}

.mhds-cart-main {
    grid-area: main;

    width: 100%;
    min-width: 0;

    overflow: visible;
}


/* ==========================================================
   SIDEBAR FECHADA
   ========================================================== */

.mhds-cart-layout.is-sidebar-hidden {
    grid-template-columns:
        minmax(0, 1fr);

    grid-template-areas:
        "main";
}

.mhds-cart-layout.is-sidebar-hidden
.mhds-cart-layout__sidebar {
    display: none;
}


/* ==========================================================
   ÁREA DE PRODUTOS
   ========================================================== */

.mhds-cart-products-grid {
    display: block;

    width: 100%;
    min-width: 0;
}

.mhds-cart-products-grid__header {
    width: 100%;
    max-width: 860px;

    margin: 0 auto 34px;

    text-align: center;
}

.mhds-cart-products-grid__eyebrow {
    display: inline-flex;

    align-items: center;
    gap: 8px;

    margin-bottom: 13px;

    color: #0e497e;

    font-size: 9px;
    font-weight: 850;

    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.mhds-cart-products-grid__eyebrow::before,
.mhds-cart-products-grid__eyebrow::after {
    content: "";

    width: 22px;
    height: 1px;

    background: #ffc400;
}

.mhds-cart-products-grid__header h2 {
    margin: 0;

    color: #102f4d;

    font-size: clamp(30px, 3.8vw, 47px);
    font-weight: 850;

    line-height: 1.08;
    letter-spacing: -0.038em;
}

.mhds-cart-products-grid__header > p {
    max-width: 720px;

    margin: 15px auto 0;

    color: #68798a;

    font-size: 12px;
    line-height: 1.72;
}

.mhds-cart-products-grid__alert {
    margin-top: 20px;
}


/* ==========================================================
   GRID INTELIGENTE DOS PLANOS

   - 1 produto: ocupa a largura disponível;
   - 2 produtos: duas colunas;
   - 3 produtos: três colunas;
   - mais produtos: cria novas linhas automaticamente;
   ========================================================== */

/* ==========================================================
   GRID DOS PRODUTOS
   A quantidade de colunas é definida pelo Smarty.
   ========================================================== */

.mhds-cart-products-grid__items {
    display: grid !important;

    width: 100%;
    min-width: 0;

    gap: 22px;

    margin: 0;
    padding: 0;

    align-items: stretch;
    align-content: start;

    grid-auto-flow: row;
}


/* 1 PRODUTO */

.mhds-cart-products-grid__items--1 {
    grid-template-columns:
        minmax(0, 1fr) !important;
}


/* 2 PRODUTOS */

.mhds-cart-products-grid__items--2 {
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
}


/* 3 OU MAIS PRODUTOS */

.mhds-cart-products-grid__items--3 {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
}


/* ==========================================================
   CARDS
   ========================================================== */

.mhds-cart-products-grid__items
> .mhds-cart-product-card {
    width: 100% !important;

    min-width: 0 !important;
    max-width: none !important;

    height: 100%;

    margin: 0 !important;

    float: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    align-self: stretch;
    justify-self: stretch;
}

/* ==========================================================
   CÉLULA DO PRODUTO
   ========================================================== */

.mhds-cart-products-grid__items
> .mhds-cart-product-card {
    width: 100% !important;

    min-width: 0 !important;
    max-width: none !important;

    height: 100%;

    margin: 0 !important;
    padding: 0;

    float: none !important;

    grid-column: auto !important;
    grid-row: auto !important;

    justify-self: stretch;
    align-self: stretch;
}


/* ==========================================================
   ESTADO VAZIO
   ========================================================== */

.mhds-cart-products-grid__empty {
    margin-top: 22px;
    padding: 30px;

    border: 1px dashed #cad8e3;
    border-radius: 18px;

    background: #ffffff;

    text-align: center;
}

.mhds-cart-products-grid__empty > i {
    display: block;

    margin-bottom: 13px;

    color: #0e497e;

    font-size: 26px;
}

.mhds-cart-products-grid__empty strong {
    display: block;

    margin-bottom: 7px;

    color: #173a59;

    font-size: 14px;
    font-weight: 850;
}

.mhds-cart-products-grid__empty p {
    margin: 0 0 15px;

    color: #68798a;

    font-size: 10px;
    line-height: 1.65;
}

.mhds-cart-products-grid__empty a {
    display: inline-flex;

    min-height: 42px;

    align-items: center;
    justify-content: center;

    padding: 0 14px;

    border-radius: 10px;

    background: #0e497e;

    color: #ffffff;

    font-size: 9px;
    font-weight: 850;

    text-decoration: none;
}

.mhds-cart-products-grid__empty a:hover,
.mhds-cart-products-grid__empty a:focus {
    background: #082f53;

    color: #ffffff;

    text-decoration: none;
}


/* ==========================================================
   RECURSOS GERAIS DO GRUPO
   ========================================================== */

.mhds-cart-group-features {
    width: 100%;

    box-sizing: border-box;

    margin-top: 28px;
    padding: 25px;

    border: 1px solid #dce5ed;
    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 12px 32px
        rgba(16, 47, 77, 0.05);
}

.mhds-cart-group-features header {
    margin-bottom: 17px;
}

.mhds-cart-group-features header span {
    display: inline-flex;

    align-items: center;
    gap: 8px;

    color: #173a59;

    font-size: 10px;
    font-weight: 850;
}

.mhds-cart-group-features header i {
    color: #0d7652;
}

.mhds-cart-group-features ul {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(180px, 1fr)
        );

    gap: 10px 16px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.mhds-cart-group-features li {
    display: grid;

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

    align-items: start;
    gap: 8px;

    margin: 0;
    padding: 0;

    color: #68798a;

    font-size: 9px;
    line-height: 1.6;
}

.mhds-cart-group-features li i {
    margin-top: 3px;

    color: #0d7652;

    font-size: 8px;
}


/* ==========================================================
   AJUDA FINAL
   ========================================================== */

.mhds-cart-help {
    display: grid;

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

    align-items: center;

    gap: 18px;

    box-sizing: border-box;

    width: min(100% - 40px, 1400px);

    margin: 28px auto 70px;
    padding: 25px 28px;

    border-radius: 20px;

    background:
        linear-gradient(
            140deg,
            #06192c,
            #0b4d7e
        );

    color: #ffffff;
}

.mhds-cart-help__icon {
    display: inline-flex;

    width: 52px;
    height: 52px;

    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background: rgba(255, 196, 0, 0.14);

    color: #ffc400;

    font-size: 19px;
}

.mhds-cart-help strong {
    display: block;

    margin-bottom: 4px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 850;
}

.mhds-cart-help p {
    margin: 0;

    color: rgba(255, 255, 255, 0.67);

    font-size: 9px;
    line-height: 1.65;
}

.mhds-cart-help > a {
    display: inline-flex;

    min-height: 44px;

    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 0 15px;

    border-radius: 10px;

    background: #ffc400;

    color: #102943;

    font-size: 9px;
    font-weight: 850;

    white-space: nowrap;

    text-decoration: none;

    transition:
        background-color 180ms ease,
        transform 180ms ease;
}

.mhds-cart-help > a:hover,
.mhds-cart-help > a:focus {
    background: #ffd746;

    color: #102943;

    text-decoration: none;

    transform: translateY(-1px);
}


/* ==========================================================
   TABLET
   Sidebar passa para cima para liberar largura aos produtos.
   ========================================================== */

@media (max-width: 900px) {

    .mhds-cart-layout {
        grid-template-columns:
            minmax(0, 1fr);

        grid-template-areas:
            "sidebar"
            "main";
    }

    .mhds-cart-layout.is-sidebar-hidden {
        grid-template-areas:
            "main";
    }


    /* Dois produtos continuam lado a lado */

    .mhds-cart-products-grid__items--2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }


    /* Três produtos passam para 2 + 1 */

    .mhds-cart-products-grid__items--3 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}

/* ==========================================================
   TABLET PEQUENO
   ========================================================== */

@media (max-width: 760px) {

    .mhds-cart-products-grid__items {
        grid-template-columns:
            repeat(
                auto-fit,
                minmax(min(240px, 100%), 1fr)
            ) !important;
    }

}


/* ==========================================================
   CELULAR
   ========================================================== */

@media (max-width: 620px) {

    .mhds-cart-products-grid__items--1,
    .mhds-cart-products-grid__items--2,
    .mhds-cart-products-grid__items--3 {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

}

/* ==========================================================
   CELULAR PEQUENO
   ========================================================== */

@media (max-width: 440px) {

    .mhds-cart-help {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   ACESSIBILIDADE
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .mhds-cart-mobile-menu #btnShowSidebar,
    .mhds-cart-help > a {
        transition: none;
    }

}