:root{
  --primary:#7c3aed;--primary-light:#a855f7;--bg:#faf5ff;
  --safe:#16a34a;--caution:#d97706;--avoid:#dc2626;--banned:#1f2937;
  --text:#1f2937;--muted:#6b7280;--card:#ffffff;--line:#e9d5ff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;font-size:16px}
.container{max-width:860px;margin:0 auto;padding:0 16px}
a{color:var(--primary)}
h1{font-size:1.7rem;line-height:1.25;margin:14px 0 12px}
h2{font-size:1.25rem;margin:28px 0 10px;color:#3b0764}
h3{font-size:1.05rem;margin:16px 0 6px}
p{margin:0 0 14px}
ul{margin:0 0 14px 22px}

/* header */
.site-header{background:var(--primary);color:#fff}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px}
.logo{color:#fff;text-decoration:none;font-weight:800;font-size:1.05rem;display:flex;align-items:center;gap:8px}
.logo-badge{background:#fff;color:var(--primary);border-radius:8px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.site-nav{display:flex;gap:14px;flex-wrap:wrap}
.site-nav a{color:#ede9fe;text-decoration:none;font-size:.9rem;font-weight:600}
.site-nav a:hover{color:#fff;text-decoration:underline}

.breadcrumbs{font-size:.8rem;color:var(--muted);margin:10px 0 0}
.breadcrumbs a{color:var(--muted)}

/* verdict box */
.verdict-box{border-radius:14px;padding:18px 16px;color:#fff;margin:14px 0;text-align:center}
.verdict-box--safe{background:var(--safe)}
.verdict-box--caution{background:var(--caution)}
.verdict-box--avoid{background:var(--avoid)}
.verdict-box--banned{background:var(--banned)}
.verdict-badge{font-size:1.25rem;font-weight:800;letter-spacing:.3px}
.verdict-icon{font-size:1.6rem;display:block;margin-bottom:4px}
.verdict-name{font-size:1rem;font-weight:600;opacity:.95;margin-top:4px}
.verdict-type{font-size:.82rem;opacity:.85;margin-top:2px}

/* status strip: 4 boxes in a row, above fold on mobile */
.status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 16px}
.status-item{border-radius:10px;padding:8px 4px;text-align:center;color:#fff;display:flex;flex-direction:column;gap:1px}
.status--safe{background:var(--safe)}
.status--caution{background:var(--caution)}
.status--avoid{background:var(--avoid)}
.status--banned{background:var(--banned)}
.status-icon{font-size:1.05rem}
.status-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.4px;opacity:.9}
.status-value{font-size:.78rem;font-weight:800;line-height:1.15}

.quick-answer{font-size:1.05rem;background:var(--card);border-left:4px solid var(--primary);border-radius:0 10px 10px 0;padding:12px 14px;box-shadow:0 1px 3px rgba(124,58,237,.08)}

.food-list li{margin-bottom:4px}
.food-list--big li{margin-bottom:8px}

.safety-detail{border-radius:10px;padding:14px;background:var(--card);border:1px solid var(--line)}
.safety-detail--safe{border-left:5px solid var(--safe)}
.safety-detail--caution{border-left:5px solid var(--caution)}
.safety-detail--avoid{border-left:5px solid var(--avoid)}
.safety-detail--banned{border-left:5px solid var(--banned)}
.efsa-note{margin:10px 0 0;font-size:.9rem;color:var(--muted)}

.more-link{font-weight:700;text-decoration:none}
.more-link:hover{text-decoration:underline}

/* badges */
.badge{display:inline-block;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700;color:#fff;white-space:nowrap}
.badge--safe{background:var(--safe)}
.badge--caution{background:var(--caution)}
.badge--avoid{background:var(--avoid)}
.badge--banned{background:var(--banned)}

/* faq */
.faq-section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:24px 0}
.faq-item{border-bottom:1px solid var(--line);padding:8px 0}
.faq-item:last-child{border-bottom:none}
.faq-item h3{margin:6px 0}
.faq-item p{margin-bottom:6px}

/* related */
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0 12px}
.related-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:3px}
.related-card:hover{border-color:var(--primary-light)}
.badge-border--safe{border-top:3px solid var(--safe)}
.badge-border--caution{border-top:3px solid var(--caution)}
.badge-border--avoid{border-top:3px solid var(--avoid)}
.badge-border--banned{border-top:3px solid var(--banned)}
.related-code{font-weight:800;color:var(--primary)}
.related-name{font-size:.82rem;line-height:1.3}
.related-card .badge{align-self:flex-start;margin-top:2px}

.cross-links{font-size:.88rem;color:var(--muted);margin:18px 0}

/* affiliate */
.affiliate-block{background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:12px;color:#fff;padding:16px;margin:26px 0}
.affiliate-block h3{margin:0 0 8px;color:#fff}
.affiliate-item p{opacity:.95}
.cta-button{display:inline-block;background:#fff;color:var(--primary);font-weight:800;text-decoration:none;border-radius:8px;padding:10px 16px}
.cta-button:hover{background:#f3e8ff}

.data-source{font-size:.78rem;color:var(--muted);margin-top:22px}
.data-source a{color:var(--muted)}

/* tables */
.table-wrap{overflow-x:auto;margin:12px 0;-webkit-overflow-scrolling:touch}
.additive-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:10px;overflow:hidden;font-size:.88rem;min-width:520px}
.additive-table th{background:var(--primary);color:#fff;text-align:left;padding:9px 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.4px}
.additive-table td{padding:8px 10px;border-bottom:1px solid var(--line)}
.additive-table tr:last-child td{border-bottom:none}
.additive-table a{font-weight:700;text-decoration:none}

.filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
.filter-btn{border:1px solid var(--primary);background:#fff;color:var(--primary);border-radius:999px;padding:6px 13px;font-size:.82rem;font-weight:700;cursor:pointer}
.filter-btn.active{background:var(--primary);color:#fff}

/* reveal cards */
.reveal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:16px 0}
.reveal-card{background:var(--card);border-radius:12px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--avoid)}
.reveal-enumber{font-size:1.4rem;font-weight:900;color:var(--avoid)}
.reveal-name{font-weight:700;margin:2px 0 6px}
.reveal-fact{font-size:.9rem;color:var(--text);margin-bottom:8px}
.reveal-card a{font-weight:700;text-decoration:none}

/* hero + home */
.hero{text-align:center;padding:34px 0 22px}
.hero h1{font-size:1.9rem}
.hero-accent{color:var(--primary)}
.hero-sub{color:var(--muted);max-width:560px;margin:0 auto 18px}
.search-wrap{position:relative;max-width:560px;margin:0 auto}
#site-search{width:100%;padding:14px 16px;border-radius:12px;border:2px solid var(--primary);font-size:1rem;background:#fff}
#site-search:focus{outline:3px solid rgba(124,58,237,.25)}
.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(59,7,100,.15);z-index:20;text-align:left;overflow:hidden}
.sr-item{display:flex;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line);font-size:.92rem}
.sr-item:last-child{border-bottom:none}
.sr-item:hover{background:var(--bg)}
.sr-none{color:var(--muted)}
.home-section{margin:30px 0}
.popular-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.popular-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:6px}
.popular-card:hover{border-color:var(--primary-light)}
.popular-q{font-weight:700}
.popular-card .badge{align-self:flex-start}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.cat-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--text)}
.cat-card:hover{border-color:var(--primary-light)}
.cat-card--accent{border-left:4px solid var(--primary)}
.cat-name{display:block;font-weight:800;color:var(--primary)}
.cat-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:3px}

/* footer */
.site-footer{background:#3b0764;color:#e9d5ff;margin-top:44px;padding:28px 0 20px;font-size:.85rem}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin-bottom:18px}
.site-footer h3{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}
.site-footer a{color:#d8b4fe;display:block;text-decoration:none;margin-bottom:5px}
.site-footer a:hover{text-decoration:underline}
.footer-note{color:#c4b5fd;font-size:.75rem;margin-bottom:8px}
.footer-note a{display:inline;color:#e9d5ff}

/* cookie */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#3b0764;color:#fff;display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;padding:12px 16px;z-index:50;font-size:.85rem}
.cookie-banner a{color:#d8b4fe}
.cookie-btn{background:#fff;color:var(--primary);border:none;border-radius:8px;padding:8px 18px;font-weight:800;cursor:pointer}

@media (max-width:600px){
  h1{font-size:1.45rem}
  .verdict-badge{font-size:1.05rem}
  .status-value{font-size:.7rem}
  .hero h1{font-size:1.55rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* v1.2 — standards compliance additions */
.affiliate-disclosure{font-size:.72rem;opacity:.85;margin:0 0 10px;color:#fff}
.page .affiliate-disclosure{color:#fff}
.last-updated{font-size:.75rem;color:var(--muted);margin:26px 0 0}
.ad-slot{min-height:0}
.cookie-actions{display:flex;gap:8px}
.cookie-btn--ghost{background:transparent;color:#fff;border:1px solid #fff}
.search-page-wrap{max-width:620px;margin:10px auto 30px}
