:root{
  --voc-primary:#7a2e2e; --voc-primary-dark:#5c2222; --voc-accent:#c9932f;
  --voc-bg:#faf7f2; --voc-card:#ffffff; --voc-border:#e6ddd0; --voc-text:#2b2622;
  --voc-muted:#7a7268; --voc-cucina:#c0392b; --voc-sala:#2e6f6f; --voc-ricevimento:#8e5a2b;
}
/* ── FOOTER ICG UNIFICATO — stesse classi/regole usate da tutti gli altri software ICG ── */
.icg-footer{text-align:center;padding:18px 24px;color:rgba(255,255,255,.85);font-size:.85rem;font-family:'Inter',system-ui,sans-serif;margin:32px auto 16px;max-width:1200px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.icg-footer-links{margin-bottom:10px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.icg-footer-links a{color:#fff}
.icg-footer-links a:hover{color:#ffe0c2}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,sans-serif;background:var(--voc-bg);color:var(--voc-text);line-height:1.5}
a{color:var(--voc-primary);text-decoration:none}
a:hover{text-decoration:underline}
main{max-width:1200px;margin:0 auto;padding:8px 16px 32px}
h1{margin-top:0}
.voc-settori{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:24px 0}
.voc-settore-card{background:var(--voc-card);border:1px solid var(--voc-border);border-radius:14px;padding:22px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.voc-settore-card .icona{font-size:2.4rem}
.voc-settore-card h2{margin:.4em 0}
.voc-settore-card .lingue{margin-top:10px}
.voc-settore-card .lingue a{display:inline-block;margin:2px 4px;padding:4px 9px;border-radius:20px;background:var(--voc-bg);border:1px solid var(--voc-border);font-size:.85rem;color:var(--voc-text)}
.badge-cucina{color:var(--voc-cucina)} .badge-sala_bar{color:var(--voc-sala)} .badge-ricevimento{color:var(--voc-ricevimento)}
.voc-search{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}
.voc-search input[type=text]{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--voc-border);border-radius:8px;font-size:1rem}
.voc-search select{padding:10px;border:1px solid var(--voc-border);border-radius:8px;font-size:1rem}
.voc-search button, .voc-btn{background:var(--voc-primary);color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-size:1rem}
.voc-btn.secondary{background:#fff;color:var(--voc-primary);border:1px solid var(--voc-primary)}
.voc-btn:hover{background:var(--voc-primary-dark)}
.voc-lista{display:grid;gap:14px;margin-top:20px}
.voc-termine{background:var(--voc-card);border:1px solid var(--voc-border);border-left:5px solid var(--voc-primary);border-radius:10px;padding:16px 18px}
.voc-termine h3{margin:0 0 6px}
.voc-termine .definizione{margin:6px 0}
.voc-termine .utilizzo{background:var(--voc-bg);border-radius:8px;padding:8px 12px;font-size:.93rem;margin-top:8px}
.voc-termine .utilizzo strong{color:var(--voc-primary)}
.voc-traduzioni-alt{margin-top:10px;font-size:.88rem;color:var(--voc-muted)}
.voc-traduzioni-riga{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.voc-trad-pill{display:inline-block;padding:3px 10px;border-radius:14px;background:var(--voc-bg);border:1px solid var(--voc-border);font-size:.85rem;white-space:nowrap}
.voc-vuoto{color:var(--voc-muted);padding:30px;text-align:center;border:1px dashed var(--voc-border);border-radius:10px}
.voc-msg{padding:12px 16px;border-radius:8px;margin:14px 0}
.voc-msg.ok{background:#e6f4ea;color:#1e7431;border:1px solid #b9e3c4}
.voc-msg.err{background:#fdecea;color:#a52424;border:1px solid #f4c2c2}
form.voc-form{background:var(--voc-card);border:1px solid var(--voc-border);border-radius:12px;padding:20px;max-width:600px}
form.voc-form label{display:block;margin:14px 0 5px;font-weight:600;font-size:.9rem}
form.voc-form input[type=text],form.voc-form input[type=email],form.voc-form textarea,form.voc-form select{width:100%;padding:9px 12px;border:1px solid var(--voc-border);border-radius:8px;font-size:1rem;font-family:inherit}
form.voc-form textarea{min-height:90px}
table.voc-tabella{width:100%;border-collapse:collapse;background:#fff}
table.voc-tabella th,table.voc-tabella td{border:1px solid var(--voc-border);padding:8px 10px;text-align:left;font-size:.9rem;vertical-align:top}
table.voc-tabella th{background:var(--voc-bg)}
.voc-tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;background:var(--voc-bg);border:1px solid var(--voc-border)}
.voc-pill-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.voc-pill-nav a{padding:6px 12px;border-radius:20px;border:1px solid var(--voc-border);font-size:.85rem}
.voc-pill-nav a.active{background:var(--voc-primary);color:#fff;border-color:var(--voc-primary)}
/* Cruciverba — diagramma editoriale quadrato */
#cw-area{margin-top:22px}
.cw-clue-attiva{background:var(--voc-card);border:1px solid var(--voc-border);border-left:5px solid var(--voc-primary);border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:.95rem;color:var(--voc-text);min-height:1.4em}
.cw-clue-attiva strong{color:var(--voc-primary)}
.cw-clue-hint{color:var(--voc-muted);font-size:.85rem;font-style:italic}
.cw-grid{--cw-cell:min(42px, calc((100vw - 48px) / var(--cw-size)), calc((100vh - 220px) / var(--cw-rows)));display:grid;grid-template-columns:repeat(var(--cw-size), var(--cw-cell));grid-template-rows:repeat(var(--cw-rows), var(--cw-cell));gap:1px;background:#777;border:2px solid #252525;width:max-content;max-width:100%;max-height:calc(100vh - 220px);overflow:auto;margin:24px auto 18px;box-shadow:0 4px 12px rgba(43,38,34,.12)}
.cw-cell{width:var(--cw-cell);height:var(--cw-cell);background:#fff;position:relative;overflow:hidden}
.cw-cell.blocco{background:#171717}
.cw-cell input{display:block;width:100%;height:100%;border:0;outline:0;padding:8px 2px 1px;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem, 2.4vw, 1.35rem);font-weight:700;line-height:1;text-transform:uppercase;color:#171717;background:#fff;cursor:text}
.cw-cell input:focus{background:#fff5d9;box-shadow:inset 0 0 0 3px var(--voc-accent)}
.cw-cell.attiva input{background:#e8f1fc}
.cw-cell.attiva input:focus{background:#fff5d9}
.cw-cell .num{position:absolute;z-index:1;top:2px;left:3px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(8px, 1vw, 11px);font-weight:700;line-height:1;color:#222;pointer-events:none}
.cw-cell input.ok{background:#d9f2dc}
.cw-cell input.errore{background:#f9d6d2}
.cw-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:6px 0 24px}
.cw-actions .voc-btn{font-size:.92rem}
.cw-clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0 8px}
.cw-clues>section{background:var(--voc-card);border:1px solid var(--voc-border);border-top:4px solid var(--voc-primary);border-radius:10px;padding:14px 18px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.cw-clues h3{margin:0 0 9px;font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;color:var(--voc-primary)}
.cw-clues ul.cw-clue-list{padding-left:0;margin:0;list-style:none}
.cw-clues li{margin-bottom:7px;font-size:.92rem}
@media(max-width:650px){.cw-grid{gap:1px;border-width:1px}.cw-clues{grid-template-columns:1fr}.cw-cell input{padding-top:6px}.cw-actions .voc-btn{padding:9px 13px}}
@media(min-width:651px){#cw-area:before{content:'Schema';display:block;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--voc-muted)}}
