/* ===================================================================
   STELLARIS — menu-qr.css
   Stili per le viste pubbliche del menù (sito, QR, carta vini)
   =================================================================== */

/* --- Layout base menù pubblico --- */
.pub-menu-container { max-width: 900px; margin: 0 auto; padding: 2rem 1rem; }
.pub-menu-header { text-align: center; margin-bottom: 2.5rem; }
.pub-menu-title { font-size: 2rem; font-weight: 700; color: var(--heading, #1a1a2e); margin-bottom: .3rem; }
.pub-menu-subtitle { font-size: 1rem; color: var(--muted, #666); font-style: italic; }

/* --- Categorie --- */
.pub-cat-section { margin-bottom: 2.5rem; }
.pub-cat-nome { font-size: 1.4rem; font-weight: 700; color: var(--accent, #c9a96e); margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--accent, #c9a96e); text-transform: uppercase; letter-spacing: .05em; }
.pub-cat-desc { font-size: .85rem; color: var(--muted, #666); margin-bottom: 1rem; font-style: italic; }

/* --- Piatto card --- */
.pub-piatto { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #eee; }
.pub-piatto:last-child { border-bottom: none; }
.pub-piatto-foto { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.pub-piatto-info { flex: 1; min-width: 0; }
.pub-piatto-header { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.pub-piatto-nome { font-size: 1rem; font-weight: 600; color: var(--heading, #1a1a2e); }
.pub-piatto-prezzo { font-size: 1rem; font-weight: 700; color: var(--accent, #c9a96e); white-space: nowrap; }
.pub-piatto-desc { font-size: .85rem; color: var(--muted, #555); margin-top: .2rem; line-height: 1.4; }
.pub-piatto-badges { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .4rem; }
.pub-piatto-badge { font-size: .7rem; padding: .1rem .4rem; border-radius: 10px; background: #f0f0f0; color: #555; }
.pub-piatto-badge.allergene { background: #fff3e0; color: #e65100; }
.pub-piatto-badge.etichetta { background: #e8eaf6; color: #3949ab; }

/* --- Dots leader (nome ... prezzo) --- */
.pub-piatto-dots { display: flex; align-items: baseline; gap: .3rem; }
.pub-piatto-dots .dots { flex: 1; border-bottom: 1px dotted #ccc; margin: 0 .3rem; min-width: 20px; }

/* --- Filtro allergeni pubblico --- */
.pub-filtro { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; padding: 1rem; background: #f9f9f9; border-radius: 10px; }
.pub-filtro-label { font-size: .8rem; font-weight: 600; color: #333; width: 100%; margin-bottom: .3rem; }
.pub-filtro-btn { padding: .3rem .8rem; border-radius: 20px; border: 1px solid #ddd; background: #fff; font-size: .8rem; cursor: pointer; transition: all .15s; }
.pub-filtro-btn:hover { border-color: var(--accent, #c9a96e); }
.pub-filtro-btn.active { background: var(--accent, #c9a96e); color: #fff; border-color: var(--accent, #c9a96e); }

/* --- Carta vini --- */
.pub-vino { display: grid; grid-template-columns: 60px 1fr auto; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #eee; align-items: center; }
.pub-vino:last-child { border-bottom: none; }
.pub-vino-foto { width: 60px; height: 80px; object-fit: cover; border-radius: 6px; background: #f5f5f5; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.pub-vino-nome { font-size: 1rem; font-weight: 600; }
.pub-vino-dettagli { font-size: .8rem; color: var(--muted, #666); margin-top: .2rem; }
.pub-vino-note { font-size: .8rem; color: #888; font-style: italic; margin-top: .2rem; }
.pub-vino-prezzi { text-align: right; }
.pub-vino-bottiglia { font-size: 1.1rem; font-weight: 700; color: var(--accent, #c9a96e); }
.pub-vino-calice { font-size: .8rem; color: #888; }

/* --- Menù QR specifico --- */
.qr-menu-container { max-width: 480px; margin: 0 auto; padding: 1rem; }
.qr-piatto { padding: .8rem 0; }
.qr-piatto-nome { font-size: .95rem; font-weight: 600; }
.qr-piatto-prezzo { font-size: .9rem; font-weight: 700; color: var(--accent, #c9a96e); }

/* --- Vuoto --- */
.pub-empty { text-align: center; padding: 3rem; color: #999; }
.pub-empty-icon { font-size: 3rem; margin-bottom: 1rem; }

/* --- Responsive --- */
@media (max-width: 600px) {
    .pub-menu-container { padding: 1rem .5rem; }
    .pub-menu-title { font-size: 1.5rem; }
    .pub-piatto { flex-direction: column; }
    .pub-piatto-foto { width: 100%; height: 180px; }
    .pub-piatto-header { flex-wrap: wrap; }
    .pub-vino { grid-template-columns: 1fr; text-align: center; }
    .pub-vino-foto { margin: 0 auto; }
    .pub-vino-prezzi { text-align: center; }
}
