/* =====================================================================
   FrolliAMOci — Scheda prodotto minimale
   ===================================================================== */

.product { display: flex; flex-direction: column; gap: var(--space-3); max-width: 960px; margin: 0 auto; }
.product__media {
    position: relative; overflow: hidden;
    aspect-ratio: 4 / 3;                         /* box stabile (file 600×600, crop cover) */
    border-radius: var(--radius-xl); background: var(--tint-caramel);
}
.product__img { width: 100%; height: 100%; object-fit: cover; }
.favorite--floating { position: absolute; top: var(--space-3); right: var(--space-3); background: rgba(255, 255, 255, 0.92); box-shadow: var(--shadow-card); }
.favorite--floating:hover { background: #fff; }

.product__body { display: flex; flex-direction: column; gap: var(--space-2); }
.product__category { font-size: var(--fs-xs); font-weight: var(--fw-heavy); letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-accent-strong); }
.product__name { font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.1rem); font-weight: var(--fw-heavy); line-height: 1.12; }
.product__price { font-size: var(--fs-xl); font-weight: var(--fw-heavy); }
.product__serves, .product__note { display: flex; align-items: center; gap: var(--space-2); font-weight: var(--fw-bold); color: var(--color-text-muted); }
.product__note { color: var(--color-caramel-strong); }
.product__desc { color: var(--color-text); }
.product__allergens {
    margin: var(--space-2) 0; padding: var(--space-4);
    border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: inset 0 0 0 1px var(--color-border);
    display: flex; flex-direction: column; gap: var(--space-3);
}
.product__h2 { font-size: var(--fs-lg); font-weight: var(--fw-heavy); }
.allergen-list { display: grid; grid-template-columns: auto 1fr; gap: 4px var(--space-3); margin: 0; }
.allergen-list dt { font-weight: var(--fw-heavy); }
.allergen-list dd { margin: 0; }
.product .allergen-note {
    display: flex; gap: var(--space-2); align-items: flex-start;
    padding: var(--space-3); border-radius: var(--radius-md); background: #FFF6E3; color: #6B4A12; font-size: var(--fs-sm);
}
.product .allergen-note .icon { margin-top: 2px; color: #B7791F; }

@media (min-width: 1024px) {
    .product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: var(--space-7); align-items: start; }
    .product > .back-link { grid-column: 1 / -1; }
}

/* Sezione 10 — informazioni alimentari dichiarate (component food-info) */
.food-info { display: grid; gap: var(--space-3); }
.food-info__none { margin: 0; color: var(--color-text-muted, #7a6a62); }
.food-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.food-badge { display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px; border-radius: 999px; background: #E9F3EC; color: #2E5E3F; font-size: var(--fs-sm); font-weight: var(--fw-heavy); }
.food-badge span { font-weight: var(--fw-medium, 500); opacity: 0.85; }
.food-info__lab { margin: 0; padding: 10px 14px; border-radius: 12px; background: #FBF3E4; color: #6B4A1F; font-size: var(--fs-sm); }
