/* Descrição do Minicombo */
.minicombo-description-content {
    padding: 15px;
    background: white;
    margin-bottom: 0;
    clear: both;
    float: none;
    display: block;
}


/* Container principal da quantidade de festas */
.minicombo-quantidade-festa {
    padding: 0;
    border-radius: 4px;
    border: 1px solid #00487A;
}

/* Seletor de quantidade - replicar layout do sistema original */
.minicombo-quantidade-festa .input-group.spinner {
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 0;
    max-height: 27.5px;
    width: 69px;
}

.minicombo-quantidade-festa .input-group.spinner .btn-info {
    width: 27.5px;
    height: 27.5px;
    line-height: 25px;
    padding: 0;
    background-color: #00487A;
    border-color: #00487A;
    display: flex;
    align-items: center;
    justify-content: center;
}

.minicombo-quantidade-festa .input-group.spinner .btn-info * {
    width: 100%;
}

.minicombo-quantidade-festa .input-group.spinner input {
    max-height: 27.5px;
    outline: none;
    border: none;
    font-weight: 700;
    text-align: center;
    padding: 0;
    flex: 1;
}

.minicombo-quantidade-festa .input-group.spinner .input-group-btn {
    flex: 27.5px 0 0;
}

/* Esconder valores monetários */
.minicombo-quantidade-festa .dinheiro {
    display: none;
}

/* Tipografia dos títulos das linhas */
.minicombo-quantidade-festa .minicombo-table tbody tr td:first-child {
    color: var(--00487-a, #00487A);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 128.571% */
    vertical-align: middle;
}

/* Alinhamento vertical dos inputs com o texto */
.minicombo-quantidade-festa .minicombo-table tbody tr td:last-child {
    vertical-align: middle;
}

.minicombo-quantidade-festa .minicombo-table tbody tr td:last-child .input-group.spinner {
    align-items: center;
    margin-top: 0;
}

/* Manter compatibilidade com nome antigo */
.widget-minicombo-layout2025 {
    padding: 0;
    border-radius: 4px;
    border: 1px solid #00487A;
}

.minicombo-quantidade-festa .mini-combo-quantidade-header,
.widget-minicombo-layout2025 .mini-combo-quantidade-header {
    display: flex;
    padding: 9px 17px 11px 17px;
    align-items: center;
    justify-content: space-between;
    border-radius: 3px 3px 0 0;
    background: #00487A;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    flex-direction: row;
    min-height: 40px;
}

.minicombo-quantidade-festa .mini-combo-quantidade-left,
.widget-minicombo-layout2025 .mini-combo-quantidade-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.minicombo-quantidade-festa .mini-combo-quantidade-left img,
.widget-minicombo-layout2025 .mini-combo-quantidade-left img {
    width: 18px;
    height: 16px;
    filter: brightness(0) invert(1);
}

.minicombo-quantidade-festa .mini-combo-quantidade-left span,
.widget-minicombo-layout2025 .mini-combo-quantidade-left span {
    color: white;
    font-weight: bold;
    white-space: nowrap;
}

.minicombo-quantidade-festa .mini-combo-quantidade-right,
.widget-minicombo-layout2025 .mini-combo-quantidade-right {
    color: white;
    font-weight: bold;
    flex: 0 0 auto;
    text-align: right;
    width: 69px;
    margin-right: 27px;
}

.minicombo-quantidade-festa .minicombo-dates-checkboxes,
.widget-minicombo-layout2025 .minicombo-dates-checkboxes {
    margin-top: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

/* Título das datas */
.minicombo-dates-title {
    color: var(--333333, #333);
    font-family: "DM Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 125% */
    margin-bottom: 15px;
    width: 100%;
}

/* Instrução de quantidade - mesma tipografia do título */
.minicombo-quantidade-instruction {
    color: var(--333333, #333);
    font-family: "DM Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    margin-bottom: 15px;
    width: 100%;
}

/* Container do resumo - remover bordas e ajustar layout */
.minicombo-resumo-container {
    margin-top: 20px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 4px;
    width: 100%;
}

/* Título do resumo */
.minicombo-resumo-container:not(.widget-special-pass-resumo) h4 {
    color: var(--333333, #333);
    font-family: "DM Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 90% */
    margin-bottom: 15px;
    padding: 0;
    text-align: left;
}

/* Tabela do resumo */
.minicombo-resumo-table {
    background: white;
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
    padding: 0; /* Removido padding lateral para preencher completamente */
    border: 1px solid #00487A; /* Borda azul igual à tabela de quantidade */
}

/* Cabeçalho do resumo */
.minicombo-resumo-header {
    background: #00487A;
    color: white;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.minicombo-resumo-header img {
    width: 18px;
    height: 16px;
    filter: brightness(0) invert(1);
}

.minicombo-resumo-header span {
    font-weight: bold;
}

.minicombo-resumo-header span:first-of-type {
    flex: 1;
}

.minicombo-resumo-header span:nth-of-type(2) {
    width: 80px;
    text-align: center;
}

.minicombo-resumo-header span:nth-of-type(3) {
    width: 60px;
    text-align: center;
}

.minicombo-resumo-header span:last-of-type {
    width: 80px;
    text-align: center;
}

/* Linhas do resumo */
.minicombo-resumo-feminino,
.minicombo-resumo-masculino {
    padding: 12px 15px;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Remover border-bottom apenas se não for widget-special-pass-resumo */
.minicombo-resumo-container:not(.widget-special-pass-resumo) .minicombo-resumo-feminino {
    border-bottom: none;
}

.minicombo-resumo-feminino > div:first-child,
.minicombo-resumo-masculino > div:first-child {
    flex: 1;
}

/* Tipografia específica para os spans de texto - Mobile */
.minicombo-resumo-feminino-texto,
.minicombo-resumo-masculino-texto {
    color: var(--00487-a, #00487A);
    font-family: "DM Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 116.667% */
}

.minicombo-resumo-feminino > div:nth-of-type(2),
.minicombo-resumo-masculino > div:nth-of-type(2) {
    width: 80px;
    text-align: center;
}

.minicombo-resumo-feminino > div:nth-of-type(3),
.minicombo-resumo-masculino > div:nth-of-type(3) {
    width: 60px;
    text-align: center;
}

.minicombo-resumo-feminino > div:last-child,
.minicombo-resumo-masculino > div:last-child {
    width: 80px;
    text-align: center;
}

/* Tipografia específica para valores, quantidade e total */
.minicombo-resumo-feminino-valor,
.minicombo-resumo-masculino-valor,
.minicombo-resumo-feminino-qtd,
.minicombo-resumo-masculino-qtd,
.minicombo-resumo-feminino-total,
.minicombo-resumo-masculino-total {
    color: var(--00487-a, #00487A);
    font-family: "DM Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 128.571% */
}

/* Esconder tabela mobile no desktop */
.minicombo-mobile-table {
    display: none;
}

/* Labels das opções (Feminino/Masculino) */
.minicombo-option-label {
    display: flex;
    width: 64px;
    height: 16px;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    color: var(--00487-a, #00487A);
    font-family: "DM Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 128.571% */
}

/* Card de data */
.minicombo-date-checkbox {
    width: 225px;
    height: 150px;
    flex-shrink: 0;
    border-radius: 4px;
    border: 1px solid #00487A;
    background: white;
    display: block;
}

/* Título da data nos cards */
.minicombo-date-title {
    background: #00487A;
    color: white;
    padding: 8px 17px;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    position: relative;
    height: 40px;
    min-height: 40px;
}

/* Ícone da data */
.minicombo-date-icon {
    width: 18px;
    height: 16px;
    filter: brightness(0) invert(1);
}

/* Nome da data */
.minicombo-date-name {
    color: var(--ffffff, #FFF);
    text-align: center;
    font-family: "DM Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
    display: block;
    margin: 0;
    padding: 0;
    flex: 1;
}

/* Opções do card */
.minicombo-options {
    padding: 15px;
}

/* Linha de opção (Feminino/Masculino) */
.minicombo-option-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.minicombo-option-row:last-child {
    margin-bottom: 0;
}


.minicombo-option-price {
    display: flex;
    width: 66px;
    height: 16px;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    color: var(--00487-a, #00487A);
    font-family: "DM Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px; /* 128.571% */
    margin-right: 4px;
    white-space: nowrap;
    min-width: 80px;
}

.minicombo-option-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* Checkboxes customizados */
.minicombo-date-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    position: relative;
    border: 2px solid #00487A;
    border-radius: 3px;
    background: white;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    box-shadow: none;
}

/* Remover borda de foco quando clicado */
.minicombo-date-checkbox input[type="checkbox"]:focus,
.minicombo-date-checkbox input[type="checkbox"]:active {
    outline: none;
    box-shadow: none;
    border: 2px solid #00487A;
}

.minicombo-date-checkbox input[type="checkbox"]:checked {
    background: #00487A;
    border-color: #00487A;
}

.minicombo-date-checkbox input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    top: -2px;
    left: 2px;
    color: white;
    font-size: 12px;
    font-weight: bold;
}

.minicombo-separator {
    width: 200px;
    height: 1px;
    background: transparent;
    margin: 10px auto;
    border: none;
    border-top: 1px dashed #D9D9D9;
}

/* Festa Fixa - Card especial */
.minicombo-date-checkbox.festa-fixa-card {
    background: #f0f8ff;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-date-title {
    background: #00487A;
    color: white;
    padding: 8px 17px;
    border-radius: 4px 4px 0 0;
    text-align: center;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-date-title .festa-fixa-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-date-title .festa-fixa-title-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    text-align: center;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-date-title .festa-fixa-name {
    color: #FFF;
    text-align: center;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    padding: 0;
    width: 100%;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-date-title .festa-fixa-note {
    color: #FFF;
    text-align: center;
    font-family: 'DM Sans', sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 1;
    margin: 0;
    padding: 0;
    width: 100%;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-option-row label {
    color: #00487A;
    font-weight: 500;
    font-size: 14px;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-option-row .festa-fixa-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.minicombo-date-checkbox.festa-fixa-card .minicombo-option-price {
    color: #00487A;
    font-weight: 500;
}



/* Tabela de quantidade */
.minicombo-quantidade-festa .minicombo-table,
.widget-minicombo-layout2025 .minicombo-table {
    margin: 0;
    border-top: none;
    padding: 0 15px;
}

/* Remover apenas a linha cinza padrão da tabela */
.minicombo-quantidade-festa .minicombo-table tbody tr,
.widget-minicombo-layout2025 .minicombo-table tbody tr {
    border-bottom: none;
}

.minicombo-quantidade-festa .minicombo-table tbody tr td,
.widget-minicombo-layout2025 .minicombo-table tbody tr td {
    border-bottom: none;
}

/* Remover margin-bottom que causa a área laranja */
.minicombo-quantidade-festa .table-responsive {
    margin-bottom: 0;
}

/* Remover bordas cinzas ao redor da div */
.minicombo-quantidade-festa .table-responsive,
.minicombo-quantidade-festa .table-responsive .table {
    border: none;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td {
    white-space: unset;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td:first-child {
    padding: 15px;
    color: #00487A;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    white-space: nowrap;
    width: auto;
    height: auto;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child {
    width: 120px;
    text-align: center;
    vertical-align: middle;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child input {
    border: none;
    outline: none;
    box-shadow: none;
    display: flex;
    width: 7.893px;
    height: 14px;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    color: #333;
    text-align: center;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child .btn-info {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    background: #00487A;
    border: 1px solid #00487A;
    color: white;
    font-weight: bold;
    text-decoration: none;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child .btn-info.spin-down {
    width: 26px;
    height: 25px;
    padding: 3px 9.056px 4px 9px;
    border-radius: 4px 0 0 4px;
}

.widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child .btn-info.spin-up {
    width: 25px;
    height: 25px;
    padding: 3px 7.932px 4px 9px;
    border-radius: 0 4px 4px 0;
}


/* Mobile Responsive */
@media (max-width: 992px) {
    /* Esconder título "Quantidade" no header no mobile */
    .minicombo-quantidade-festa .mini-combo-quantidade-right,
    .widget-minicombo-layout2025 .mini-combo-quantidade-right {
        display: none !important;
    }

    /* Esconder cards desktop */
    .minicombo-dates-checkboxes {
        display: none;
    }

    /* Resumo mobile - esconder colunas extras e ajustar tipografia */
    .minicombo-resumo-header span:nth-of-type(2),
    .minicombo-resumo-header span:nth-of-type(3),
    .minicombo-resumo-header span:last-of-type {
        display: none; /* Esconder VALOR, QTD, TOTAL no mobile */
    }

    .minicombo-resumo-header span:first-of-type {
        color: var(--ffffff, #FFF);
        text-align: left;
        font-family: "DM Sans";
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px; /* 142.857% */
    }

    /* Resumo mobile - reorganizar linhas */
    .minicombo-resumo-feminino,
    .minicombo-resumo-masculino {
        display: block; /* Mudar de flex para block */
    }

    /* Primeira linha - título das festas */
    .minicombo-resumo-feminino > div:first-child,
    .minicombo-resumo-masculino > div:first-child {
        width: 100%; /* Ocupar toda a largura */
        margin-bottom: 5px;
    }

    /* Segunda linha - apenas colocar os 3 valores lado a lado */
    .minicombo-resumo-feminino > div:nth-of-type(2),
    .minicombo-resumo-masculino > div:nth-of-type(2),
    .minicombo-resumo-feminino > div:nth-of-type(3),
    .minicombo-resumo-masculino > div:nth-of-type(3),
    .minicombo-resumo-feminino > div:last-child,
    .minicombo-resumo-masculino > div:last-child {
        float: left;
        width: 30%;
        text-align: left; /* Mudado de center para left */
        margin-right: 5%;
        clear: none;
    }

    .minicombo-resumo-feminino > div:last-child,
    .minicombo-resumo-masculino > div:last-child {
        margin-right: 0;
    }

    /* Centralizar título e número da Quantidade */
    .minicombo-resumo-feminino > div:nth-of-type(3),
    .minicombo-resumo-masculino > div:nth-of-type(3) {
        text-align: center;
    }

    .minicombo-resumo-feminino > div:nth-of-type(3) span,
    .minicombo-resumo-masculino > div:nth-of-type(3) span {
        text-align: center;
        display: block;
    }


    /* Adicionar títulos antes dos valores */
    .minicombo-resumo-feminino > div:nth-of-type(2)::before,
    .minicombo-resumo-masculino > div:nth-of-type(2)::before {
        content: "Valor:";
        color: var(--333333, #333);
        font-family: "DM Sans";
        font-size: 12px;
        font-weight: 500;
        display: block;
        margin-bottom: 2px;
    }

    .minicombo-resumo-feminino > div:nth-of-type(3)::before,
    .minicombo-resumo-masculino > div:nth-of-type(3)::before {
        content: "Quantidade:";
        color: var(--333333, #333);
        font-family: "DM Sans";
        font-size: 12px;
        font-weight: 500;
        display: block;
        margin-bottom: 2px;
    }

    .minicombo-resumo-feminino > div:last-child::before,
    .minicombo-resumo-masculino > div:last-child::before {
        content: "Total:";
        color: var(--333333, #333);
        font-family: "DM Sans";
        font-size: 12px;
        font-weight: 500;
        display: block;
        margin-bottom: 2px;
    }

    /* Linha tracejada entre feminino e masculino */
    /* Remover border-bottom apenas se não for widget-special-pass-checkbox-2025 */
    .minicombo-resumo-container:not(.widget-special-pass-resumo) .minicombo-resumo-feminino {
        border-bottom: 1px dashed #D9D9D9;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .minicombo-resumo-masculino {
        margin-top: 10px;
        padding-top: 10px;
    }

    /* Limpar float */
    .minicombo-resumo-feminino::after,
    .minicombo-resumo-masculino::after {
        content: "";
        display: table;
        clear: both;
    }

    /* Mostrar tabela mobile */
    .minicombo-mobile-table {
        display: block;
        margin-top: 20px;
        padding: 0;
        background: #f8f9fa;
        border-radius: 4px;
        border: 1px solid #00487A;
        width: 100%;
    }

    /* Header da tabela mobile */
    .minicombo-mobile-header {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        background: #00487A;
        color: white;
        padding: 15px;
        border-radius: 4px 4px 0 0;
        gap: 0;
        width: 100%;
    }

    .minicombo-mobile-header .col-dias,
    .minicombo-mobile-header .col-feminino,
    .minicombo-mobile-header .col-masculino {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 50px;
    }

    .minicombo-mobile-header .col-dias img,
    .minicombo-mobile-header .col-feminino img,
    .minicombo-mobile-header .col-masculino img {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        fill: var(--ffffff, #FFF);
        display: block;
    }

    .minicombo-mobile-header .col-dias svg,
    .minicombo-mobile-header .col-feminino svg,
    .minicombo-mobile-header .col-masculino svg {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        fill: var(--ffffff, #FFF);
        display: block;
    }

    .minicombo-mobile-header .col-dias span,
    .minicombo-mobile-header .col-feminino span,
    .minicombo-mobile-header .col-masculino span {
        display: flex;
        width: auto;
        height: 16px;
        flex-direction: column;
        justify-content: center;
        flex-shrink: 0;
        color: var(--ffffff, #FFF);
        font-family: "DM Sans";
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: 18px; /* 128.571% */
        text-align: center;
        margin-top: 2px;
    }

    /* Linhas da tabela mobile */
    .minicombo-mobile-row {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        background: white;
        border-bottom: 1px dashed #D9D9D9;
        padding: 15px;
        gap: 0;
        align-items: center;
        width: 100%;
    }

    .minicombo-mobile-row:last-child {
        border-bottom: none;
        border-radius: 0 0 4px 4px;
    }

    /* Coluna de datas */
    .minicombo-mobile-row .col-dias {
        display: flex;
        width: 100%;
        height: 27px;
        flex-direction: column;
        justify-content: center;
        flex-shrink: 0;
        color: var(--00487-a, #00487A);
        text-align: center;
        font-family: "DM Sans";
        font-size: 12px;
        font-style: normal;
        font-weight: 600;
        line-height: 18px; /* 150% */
        padding-right: 10px;
    }

    /* Colunas de preço + checkbox */
    .minicombo-mobile-row .col-feminino,
    .minicombo-mobile-row .col-masculino {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        width: 100%;
        padding: 0 5px;
    }

    .minicombo-mobile-row .col-feminino .price,
    .minicombo-mobile-row .col-masculino .price {
        display: flex;
        width: 100%;
        height: 27px;
        flex-direction: column;
        justify-content: center;
        flex-shrink: 0;
        color: var(--00487-a, #00487A);
        font-family: "DM Sans";
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 18px; /* 128.571% */
        text-align: center;
    }


    /* Linha de festa fixa */
    .minicombo-mobile-row.festa-fixa {
        background: #E3F2FD;
    }

    .minicombo-mobile-row.festa-fixa .col-dias {
        font-weight: 600;
    }

    .minicombo-mobile-row.festa-fixa .festa-fixa-note {
        color: var(--00487-a, #00487A);
        text-align: center;
        font-family: "DM Sans";
        font-size: 8px;
        font-style: normal;
        font-weight: 400;
        line-height: 12px; /* 150% */
        margin-top: 2px;
        white-space: nowrap;
    }

    /* Ajustes para quantidade de festas */
    .widget-minicombo-layout2025 .mini-combo-quantidade-header {
        padding: 8px 12px 10px 12px;
    }

    .widget-minicombo-layout2025 .mini-combo-quantidade-left {
        gap: 6px;
    }

    .widget-minicombo-layout2025 .mini-combo-quantidade-left img {
        width: 16px;
        height: 14px;
    }

    .widget-minicombo-layout2025 .mini-combo-quantidade-left span {
        font-size: 14px;
    }

    .widget-minicombo-layout2025 .mini-combo-quantidade-right {
        font-size: 14px;
    }

    .widget-minicombo-layout2025 .minicombo-table {
        padding: 0 10px;
    }

    .widget-minicombo-layout2025 .minicombo-table tbody tr td:first-child {
        padding: 10px;
        font-size: 12px;
        width: auto;
        height: auto;
        white-space: nowrap;
    }

    .widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child {
        width: 100px;
    }

    .widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child input {
        width: auto;
        height: auto;
        font-size: 12px;
    }

    .widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child .btn-info.spin-down {
        width: 22px;
        height: 22px;
        padding: 2px 6px 3px 6px;
    }

    .widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child .btn-info.spin-up {
        width: 22px;
        height: 22px;
        padding: 2px 6px 3px 6px;
    }
}

/* Minicombo 2025 - estilos do contador (quantidade) e resumo (desktop) */

.widget-minicombo-layout2025 .mini-combo-quantidade-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #00487A;
  color: #fff;
  border-radius: 4px 4px 0 0;
  padding: 12px 16px;
}
.widget-minicombo-layout2025 .mini-combo-quantidade-left {
    display: flex;
    align-items: center;
  gap: 10px;
}
.widget-minicombo-layout2025 .mini-combo-quantidade-left img,
.widget-minicombo-layout2025 .mini-combo-quantidade-left svg {
  width: 20px;
  height: 20px;
}
.widget-minicombo-layout2025 .mini-combo-quantidade-left span {
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
}
.widget-minicombo-layout2025 .mini-combo-quantidade-right {
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.widget-minicombo-layout2025 .minicombo-table {
  width: 100%;
  border: none; /* remover borda azul externa */
  border-top: 0;
  border-radius: 0; /* sem raio para não simular borda grossa */
  table-layout: fixed;
}
.widget-minicombo-layout2025 .minicombo-table tbody tr td:first-child { width: auto; }
.widget-minicombo-layout2025 .minicombo-table tbody tr td:last-child { width: 120px; text-align: center; }
.widget-minicombo-layout2025 .minicombo-table td {
  vertical-align: middle;
  padding: 10px 12px;
}
.widget-minicombo-layout2025 .minicombo-table tbody tr + tr td { border-top: 1px dashed #D9D9D9; }
.widget-minicombo-layout2025 .minicombo-table .input-group.spinner {
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
}
.widget-minicombo-layout2025 .minicombo-table .btn-info.spin-down,
.widget-minicombo-layout2025 .minicombo-table .btn-info.spin-up {
  background: #0B70B5;
  color: #fff;
  border-color: #0B70B5;
}

/* Título das datas (frase) */
.minicombo-dates-title {
  margin: 0 0 15px;
  width: 100%;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  color: #333;
}

/* Garantir layout correto da frase dentro do contexto do widget */
.widget-minicombo-layout2025 .minicombo-dates-title {
  margin: 0 0 15px;
  width: 100%;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  color: #333;
}

/* Tipografia dos rótulos (Feminino/Masculino) e alinhamento */
.minicombo-quantidade-festa .minicombo-table tbody tr td:first-child,
.widget-minicombo-layout2025 .minicombo-table tbody tr td:first-child {
  color: #00487A;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
}

/* Resumo */

/* Cards wrapper (desktop) ajustes mínimos */
.cards-wrapper { display: flex; flex-wrap: wrap; gap: 15px; }
.card-dia { width: 225px; border: 1px solid #00487A; border-radius: 4px; overflow: hidden; }
.card-dia-header { background: #00487A; color: #fff; padding: 10px; display: flex; align-items: center; gap: 8px; }
.card-dia-content { padding: 20px 15px 15px 15px !important; }
.card-dia-content-separator { height: 1px; background: #E5E7EB; margin: 10px auto 20px auto !important; }

/* Alinhar cabeçalho Quantidade com os seletores */
/* (removido bloco duplicado; prevalece configuração no topo com width:69px) */

/* Garantir que descrição fique dentro do box quando há bordas */
.wrapper-produto.todas-bordas > p,
.wrapper-produto.somente-laterais > p,
.wrapper-produto.laterais-acima > p,
.wrapper-produto.laterais-abaixo > p,
.wrapper-produto.todas-bordas #hibridoSection p,
.wrapper-produto.somente-laterais #hibridoSection p,
.wrapper-produto.laterais-acima #hibridoSection p,
.wrapper-produto.laterais-abaixo #hibridoSection p {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Garantir que conteúdo dentro da descrição (divs com flex, etc) respeite o container */
.wrapper-produto.todas-bordas > p > *,
.wrapper-produto.somente-laterais > p > *,
.wrapper-produto.laterais-acima > p > *,
.wrapper-produto.laterais-abaixo > p > *,
.wrapper-produto.todas-bordas #hibridoSection p > *,
.wrapper-produto.somente-laterais #hibridoSection p > *,
.wrapper-produto.laterais-acima #hibridoSection p > *,
.wrapper-produto.laterais-abaixo #hibridoSection p > * {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Botões +/- idênticos ao layout da branch de referência */
.minicombo-quantidade-festa .input-group.spinner .btn-info.spin-down { border-radius: 4px 0 0 4px; }
.minicombo-quantidade-festa .input-group.spinner .btn-info.spin-up { border-radius: 0 4px 4px 0; }
.minicombo-quantidade-festa .input-group.spinner .btn-info.spin-down,
.minicombo-quantidade-festa .input-group.spinner .btn-info.spin-up {
  background: #00487A;
  border: 1px solid #00487A;
  color: #fff;
}
.minicombo-quantidade-festa .input-group.spinner .btn-info.spin-down:hover,
.minicombo-quantidade-festa .input-group.spinner .btn-info.spin-up:hover {
  background: #0b70b5;
  border-color: #0b70b5;
}
.minicombo-quantidade-festa .input-group.spinner input {
  border-top: 1px solid #00487A;
  border-bottom: 1px solid #00487A;
  border-left: 0;
  border-right: 0;
}

/* Fixed card (festa fixa) – alinhar imagem no lugar do checkbox */
.card-kit .card-sexo-item { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; }
.card-kit .card-sexo-item .card-fixed-check { width: 18px; height: 18px; display: block; }

/* CORREÇÃO ESPECÍFICA PARA LAYOUT CARDS - Garantir que descrição HTML fique dentro do box */
/* Aplicar overflow-x na hibridoSection para conter o conteúdo */
.wrapper-produto.todas-bordas [id^="hibridoSection"],
.wrapper-produto.somente-laterais [id^="hibridoSection"],
.wrapper-produto.laterais-acima [id^="hibridoSection"],
.wrapper-produto.laterais-abaixo [id^="hibridoSection"] {
	overflow-x: hidden !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

/* Garantir que elementos .flex não extrapolem */
.wrapper-produto.todas-bordas [id^="hibridoSection"] .flex,
.wrapper-produto.somente-laterais [id^="hibridoSection"] .flex,
.wrapper-produto.laterais-acima [id^="hibridoSection"] .flex,
.wrapper-produto.laterais-abaixo [id^="hibridoSection"] .flex {
	max-width: 100%;
	box-sizing: border-box;
}

/* Garantir que filhos dos .flex também respeitem o container */
.wrapper-produto.todas-bordas [id^="hibridoSection"] .flex > *,
.wrapper-produto.somente-laterais [id^="hibridoSection"] .flex > *,
.wrapper-produto.laterais-acima [id^="hibridoSection"] .flex > *,
.wrapper-produto.laterais-abaixo [id^="hibridoSection"] .flex > * {
	max-width: 100%;
	box-sizing: border-box;
}

.wrapper-produto.todas-bordas [id^="hibridoSection"] p,
.wrapper-produto.somente-laterais [id^="hibridoSection"] p,
.wrapper-produto.laterais-acima [id^="hibridoSection"] p,
.wrapper-produto.laterais-abaixo [id^="hibridoSection"] p {
	max-width: 100%;
	box-sizing: border-box;
}

.wrapper-produto.todas-bordas [id^="hibridoSection"] p > *,
.wrapper-produto.somente-laterais [id^="hibridoSection"] p > *,
.wrapper-produto.laterais-acima [id^="hibridoSection"] p > *,
.wrapper-produto.laterais-abaixo [id^="hibridoSection"] p > * {
	max-width: 100%;
	box-sizing: border-box;
}

/* Mobile helpers já ficam no arquivo dedicado mobile, aqui só desktop */


