/* Fermento Menu Builder — frontend styles. All classes prefixed .fmb-* to avoid theme conflicts. */

.fmb-wrap{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.fmb-controls{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.fmb-search{
    flex:1;
    min-width:220px;
    padding:10px 12px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:12px;
    font:inherit;
    box-sizing:border-box;
    width:100%;
    max-width:420px;
}

.fmb-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.fmb-chip{
    padding:8px 14px;
    border:1.5px solid var(--fmb-primary);
    border-radius:999px;
    cursor:pointer;
    background:transparent;
    color:var(--fmb-primary);
    font-weight:600;
    font:inherit;
    font-weight:600;
    transition:all .2s ease;
    position:relative;
    line-height:1.2;
}
.fmb-chip:hover{ background:var(--fmb-primary-soft); }
.fmb-chip[aria-pressed="true"]{
    background:var(--fmb-primary);
    color:#fff;
    border-color:var(--fmb-primary);
}

.fmb-chip-badge{
    position:absolute;
    top:-8px;
    right:-6px;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.3px;
    padding:2px 6px;
    border-radius:999px;
    background:var(--fmb-primary);
    color:#fff;
    line-height:1.2;
    pointer-events:none;
    white-space:nowrap;
}
.fmb-chip[aria-pressed="true"] .fmb-chip-badge{
    background:#fff;
    color:var(--fmb-primary);
}

.fmb-cat{
    margin:16px 0 8px;
    font-weight:900;
    font-size:20px;
    line-height:1.2;
}

.fmb-badge{
    display:inline-block;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
    padding:3px 8px;
    border-radius:999px;
    background:var(--fmb-primary);
    color:#fff;
    margin-left:8px;
    vertical-align:middle;
}

.fmb-grid{
    display:grid;
    gap:16px;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}

.fmb-dish{
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    padding:14px;
    background:#fff;
}

.fmb-row{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
}

.fmb-name{
    margin:0;
    font-size:18px;
    line-height:1.2;
}

.fmb-price{
    font-weight:800;
    white-space:nowrap;
    text-align:right;
}

.fmb-price-multi{
    display:flex;
    flex-direction:column;
    gap:2px;
    align-items:flex-end;
    font-size:13px;
    line-height:1.3;
}
.fmb-pm-row{
    display:flex;
    gap:6px;
    align-items:baseline;
}
.fmb-pm-label{
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.4px;
    opacity:.65;
}
.fmb-price-multi .fmb-price-value{
    font-weight:800;
    font-size:14px;
}

.fmb-desc{
    margin:8px 0 10px;
    opacity:.85;
    font-size:14px;
    line-height:1.4;
}

.fmb-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}

.fmb-tag{
    font-size:12px;
    color:var(--fmb-primary);
    font-weight:800;
    padding:4px 8px;
    border-radius:999px;
    background:#e3dec9;
}

.fmb-allergens{
    margin-top:10px;
    display:flex;
    gap:8px;
    align-items:baseline;
    flex-wrap:wrap;
    font-size:12px;
    opacity:.9;
}
.fmb-allergens-label{
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.4px;
    padding:3px 8px;
    border-radius:999px;
    background:rgba(0,0,0,.06);
}
.fmb-allergens-list{
    font-size:12px;
}

.fmb-muted{
    opacity:.7;
    font-size:13px;
}

.fmb-error{
    padding:10px 12px;
    border-left:4px solid #c00;
    background:#fdecea;
    color:#611a15;
    border-radius:6px;
    font-size:13px;
}

/* Hidden state for filtered items */
.fmb-dish[hidden], .fmb-category[hidden]{ display:none !important; }
