/* Casa Branca menu v2: scoped to the menu; no global theme rules. */
#products.menugrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px
}

#products>.cb-category-heading {
    grid-column: 1/-1;
    margin: 28px 0 0;
    padding: 0 0 12px;
    border-bottom: 1px solid #d9d3c5;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2
}

#products>.cb-subcategory-heading {
    font-size: 24px;
    margin-top: 14px;
    border-bottom: 0;
    padding-bottom: 0
}

#products>.cb-general-label {
    grid-column: 1/-1;
    margin: 0;
    font-size: 13px;
    color: var(--olive, #596343)
}

#products .cb-compact-card {
    padding: 0;
    background: #fffdf8;
    border: 1px solid #e8e3d6;
    align-self: start
}

#products .cb-compact-card>.cardbody {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 18px;
    min-width: 0
}

#products .cb-compact-card .cb-product-image {
    flex: 0 0 112px;
    width: 112px;
    height: 112px;
    max-width: 112px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 4px;
    margin: 0
}

#products .cb-product-info {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere
}

#products .cb-product-info h3 {
    font-size: 23px;
    line-height: 1.2;
    margin: 4px 0 10px
}

#products .cb-product-category {
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
    color: var(--olive, #596343)
}

#products .cb-product-description {
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 12px;
    white-space: pre-line
}

#products .cardfoot {
    gap: 12px;
}

#products .add {
    flex-shrink: 0
}

#products .cb-details {
    padding: 6px 0 0;
    border: 0;
    border-bottom: 1px solid currentColor;
    background: none;
    color: inherit;
    font: inherit;
    font-size: 12px;
}

#products .cb-unavailable {
    font-size: 12px;
    margin: 6px 0 0;
    color: #8c4b31
}

.cb-order-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 24px;
    font-size: 13px
}

.cb-order-toolbar select {
    max-width: 100%;
    font: inherit;
    color: inherit;
    background: transparent;
    border: 1px solid #c8c3b5;
    padding: 10px 14px;
    border-radius: 4px
}

.cb-order-toolbar select:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px
}

.cb-subcategory-row {
    border-top: 1px solid #e4dece;
    margin-top: 10px;
    padding-top: 12px
}

.cb-subcategory-row button {
    font-size: 13px
}

.cb-subcategory-row button.active {
    background: var(--clay, #ab6547);
    border-color: var(--clay, #ab6547)
}

@media(max-width:900px) {
    #products.menugrid {
        grid-template-columns: minmax(0, 1fr)
    }
}

@media(max-width:520px) {
    #products .cb-compact-card>.cardbody {
        gap: 12px;
        padding: 14px
    }

    #products .cb-compact-card .cb-product-image {
        flex-basis: 80px;
        width: 80px;
        height: 80px;
        max-width: 80px
    }

    #products .cb-product-info h3 {
        font-size: 21px
    }

    .cb-order-toolbar {
        padding-top: 18px
    }
}