/* WineInfo — Label page base CSS
   Les variables --wine, --wine-lt, --bg, --text, --muted, --border, --font, --font-ui
   sont définies par le fichier style{N}.css chargé avant celui-ci.
   Fallback si aucun style chargé : */
:root {
  --wine:      #722f37;
  --wine-lt:   #f5eced;
  --bg:        #f5f3f0;
  --card-bg:   #ffffff;
  --text:      #1a1a1a;
  --muted:     #555555;
  --border:    #e0e0e0;
  --font:      'Segoe UI', system-ui, sans-serif;
  --font-ui:   'Segoe UI', system-ui, sans-serif;
  --qr-fg:     #000000;
  --qr-bg:     #ffffff;
  --radius:    12px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-ui);background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 3rem}
#loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:var(--muted)}
.spinner{width:36px;height:36px;border:3px solid var(--wine-lt);border-top-color:var(--wine);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#content{display:none;width:100%;max-width:640px}
header{text-align:center;margin-bottom:1.5rem}
.wine-icon{font-size:2.8rem;line-height:1;margin-bottom:.4rem}
h1{font-size:1.4rem;font-weight:700;color:var(--wine);line-height:1.3;font-family:var(--font)}
.subtitle{font-size:.8rem;color:var(--muted);margin-top:.3rem}
.lang-bar{display:flex;justify-content:flex-end;margin-bottom:.75rem}
.lang-bar select{font-size:.78rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);cursor:pointer}
.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:0 2px 14px rgba(0,0,0,.07);overflow:hidden}
.card-section{padding:1.2rem 1.4rem;border-bottom:1px solid var(--border)}
.card-section:last-child{border-bottom:none}
.section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--wine);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.section-title::after{content:'';flex:1;height:1px;background:var(--wine-lt)}
.ingredients-text{font-size:.95rem;line-height:1.75}
.allergen-note{margin-top:.6rem;font-size:.8rem;color:var(--muted);padding:.5rem .75rem;background:#fff8e1;border-left:3px solid #f59e0b;border-radius:0 6px 6px 0}
.mentions-box{margin-top:.6rem;font-size:.85rem;color:var(--muted);padding:.5rem .75rem;background:#f0f7ff;border-left:3px solid #90caf9;border-radius:0 6px 6px 0;line-height:1.5}
table.nutrition{width:100%;border-collapse:collapse;font-size:.9rem}
table.nutrition thead th{background:var(--wine-lt);padding:.5rem .6rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--wine)}
table.nutrition thead th:last-child,table.nutrition tbody td:last-child{text-align:right}
table.nutrition tbody tr:nth-child(even){background:#fafafa}
table.nutrition tbody td{padding:.45rem .6rem}
table.nutrition tbody td.sub{padding-left:1.6rem;color:var(--muted);font-size:.85rem}
table.nutrition tbody tr.highlight{font-weight:700;background:var(--wine-lt)}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .8rem}
@media(max-width:380px){.meta-grid{grid-template-columns:1fr}}
.meta-item label{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem}
.meta-item span{font-size:.95rem;font-weight:600}
.operator-text{font-size:.9rem;line-height:1.65}
.recycling-text{font-size:.85rem;color:var(--muted);line-height:1.55}
footer{margin-top:1.5rem;font-size:.72rem;color:var(--muted);text-align:center}
footer p+p{margin-top:.3rem}
.hidden{display:none!important}
.no-data-box{background:var(--card-bg);border-radius:var(--radius);box-shadow:0 2px 14px rgba(0,0,0,.07);padding:2rem;text-align:center}
.no-data-box h2{font-size:1.1rem;color:var(--wine);margin-bottom:.6rem}
.no-data-box p{font-size:.9rem;color:var(--muted)}
