/* Web pública — tokens "Taller Nòmada" (tokens.css). Sense dependències externes. */
a{color:var(--primary)}
.cap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px clamp(16px,4vw,48px);border-bottom:1px solid var(--line);background:var(--surface)}
.marca{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--on-surface);text-decoration:none}
.cap nav{display:flex;gap:20px;flex-wrap:wrap}
.cap nav a{color:var(--on-surface);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.cap nav a:hover{border-color:var(--primary)}
main{min-height:60vh}
.seccio{max-width:1100px;margin:0 auto;padding:32px 16px}
.seccio h1,.seccio h2{margin:0 0 16px}
.centre{text-align:center}
.heroi{position:relative;display:flex;align-items:center;justify-content:center;min-height:42vh;background:#efe4d9;overflow:hidden}
.heroi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.heroi-text{position:relative;text-align:center;padding:32px 16px;max-width:720px}
.heroi:has(img) .heroi-text{background:rgba(254,248,244,.88);border-radius:var(--r);margin:16px}
.heroi h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 8px}
.heroi p{margin:0;font-size:1.1rem;color:var(--muted)}
.cats,.graella{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.cat,.targeta{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--on-surface)}
.foto{display:block;aspect-ratio:4/5;background:#efe4d9;border-radius:var(--r);overflow:hidden}
.foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.targeta:hover .foto img,.cat:hover .foto img{transform:scale(1.03)}
.nom{font-family:var(--serif);font-size:1.1rem}
.resum{color:var(--muted);font-size:.92rem}
.preu{font-weight:600}
.preu.gran{font-size:1.5rem;margin:4px 0}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.pills a{padding:6px 14px;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--on-surface);background:var(--card)}
.pills a[aria-current="page"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.boto{display:inline-block;padding:10px 22px;background:var(--primary);color:var(--on-primary);border-radius:var(--r);text-decoration:none}
.buit{color:var(--muted)}
.producte{max-width:1100px;margin:0 auto;padding:32px 16px;display:grid;gap:32px;grid-template-columns:1fr}
@media (min-width:800px){.producte{grid-template-columns:1.1fr 1fr}}
.principal{display:block;aspect-ratio:4/5;background:#efe4d9;border-radius:var(--r);overflow:hidden}
.principal img{width:100%;height:100%;object-fit:cover;display:block}
.mini{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.mini a{width:72px;height:72px;border-radius:8px;overflow:hidden;border:2px solid transparent;display:block}
.mini a[aria-current]{border-color:var(--primary)}
.mini img{width:100%;height:100%;object-fit:cover;display:block}
.info h1{margin:0 0 4px}
.miga{margin:0 0 8px;font-size:.9rem}
.disp{color:var(--ok);margin:0 0 12px}
.text p{margin:0 0 .8em}
details{border-top:1px solid var(--line);padding:10px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:600}
.pagina{max-width:760px}
.pagina .il{width:100%;border-radius:var(--r);margin:0 0 16px}
.peu{border-top:1px solid var(--line);margin-top:48px;padding:24px 16px;background:#f6eee6}
.peu-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
.peu ul{list-style:none;margin:6px 0 0;padding:0;color:var(--muted);font-size:.92rem}
.peu nav{display:flex;gap:16px;flex-wrap:wrap}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.cistella-lnk{font-weight:600}
.afegeix{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:16px 0}
.afegeix label,.formulari-pub label{display:flex;flex-direction:column;gap:4px;font-size:.92rem;font-weight:600}
.afegeix input{width:90px}
.afegeix .missatge{flex-basis:100%;margin:0;color:var(--ok)}
input,textarea{font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--on-surface)}
.boto{border:0;font:inherit;cursor:pointer}
.boto-sec{display:inline-block;padding:9px 18px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--on-surface);text-decoration:none;font:inherit;cursor:pointer}
.cistella{list-style:none;margin:0;padding:0}
.linia{display:grid;grid-template-columns:64px 1fr auto auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.foto-mini{width:64px;height:64px;border-radius:8px;overflow:hidden;background:#efe4d9;display:block}
.foto-mini img{width:100%;height:100%;object-fit:cover}
.l-q input{width:72px}
@media (max-width:640px){.linia{grid-template-columns:64px 1fr;}.linia .l-q,.linia .preu,.linia .boto-sec{grid-column:2}}
.total{font-size:1.25rem;margin:16px 0}
.formulari-pub{display:flex;flex-direction:column;gap:14px;max-width:520px;margin-top:16px}
.formulari-pub .check,.pagina .check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}
.error{color:var(--danger)}
.resum-comanda{list-style:none;padding:0;margin:0 0 8px}
.resum-comanda li{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line)}
[hidden]{display:none!important}
