/* Llevant — projecte de demostració (Linca Studio). Restaurant mediterrani net i elegant. */
@font-face{font-family:"Gloock";src:url("../fonts/gloock.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree.woff") format("woff");font-weight:300 800;font-display:swap}
:root{
  --sorra:#F0E9DA;--crema:#FAF6EC;--nit:#0E2233;--mar:#1E4D6B;--marc:#7FA7BC;--sol:#E36B45;--solf:#A93E1C;--sal:#E8D7A6;
  --suau:#475A69;--fi:rgba(14,34,51,.18);--traç:rgba(14,34,51,.85);
  --f-t:"Gloock","Playfair Display",Georgia,serif;--f-x:"Figtree","Segoe UI",system-ui,sans-serif;--ample:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--sorra);overflow-x:clip}
body{margin:0;background:var(--sorra);color:var(--nit);font-family:var(--f-x);font-size:1.0625rem;line-height:1.65;overflow-x:clip}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-t);font-weight:400;margin:0;line-height:1.05;letter-spacing:-.01em;text-wrap:balance}
em{font-style:normal;color:var(--solf)}
p{margin:0}
:focus-visible{outline:3px solid var(--mar);outline-offset:3px;border-radius:4px}
.cont{width:min(var(--ample),100% - 2.5rem);margin-inline:auto}
.salto{position:absolute;left:1rem;top:-4rem;background:var(--nit);color:var(--sorra);padding:.7rem 1rem;z-index:100}
.salto:focus{top:1rem}
.avis{background:var(--nit);color:var(--sorra);font-size:.82rem;text-align:center;padding:.5rem 1rem;line-height:1.4}
.avis strong{color:var(--sal);font-weight:600}
.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--solf);margin-bottom:1rem}
.eyebrow-c{color:var(--sal)}
.lead{font-size:1.2rem;color:var(--suau);max-width:34rem}

.cap{background:rgba(240,233,218,.96);border-bottom:1px solid var(--fi);position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}
.cap-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem}
.marca{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font:400 1.7rem/1 var(--f-t)}
.marca-sol{width:2rem;height:2rem;color:var(--nit)}
.menu{display:flex;align-items:center;gap:2.2rem}
.menu a{text-decoration:none;font-size:.95rem;font-weight:500;letter-spacing:.03em;padding:.3rem 0;border-bottom:1.5px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{border-bottom-color:var(--sol)}
.menu .nav-res{background:var(--nit);color:var(--sorra);border:1.5px solid var(--nit);border-radius:999px;padding:.5rem 1.3rem}
.menu .nav-res:hover{background:var(--mar);border-color:var(--mar)}
.burger{display:none;font:600 .85rem var(--f-x);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--nit);background:transparent;border-radius:999px;padding:.5rem 1rem;cursor:pointer;color:var(--nit)}

.btn{display:inline-flex;align-items:center;justify-content:center;font:600 .95rem var(--f-x);letter-spacing:.03em;text-decoration:none;background:var(--nit);color:var(--sorra);border:1.5px solid var(--nit);border-radius:999px;padding:.95rem 1.8rem;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--mar);border-color:var(--mar);transform:translateY(-2px)}
.btn-vora{background:transparent;color:var(--nit)}
.btn-vora:hover{background:var(--nit);color:var(--sorra);border-color:var(--nit)}
.btn-clar{background:var(--sorra);color:var(--nit);border-color:var(--sorra)}
.btn-clar:hover{background:var(--sal);border-color:var(--sal);color:var(--nit)}
.accions{display:flex;flex-wrap:wrap;gap:.9rem}

/* Hero */
.hero{position:relative;min-height:clamp(38rem,90vh,56rem);display:flex;align-items:flex-start;isolation:isolate;overflow:hidden;background:#F6CFA6}
.alba{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}
.hero-in{padding-block:clamp(3rem,8vh,6rem)}
.hero h1{font-size:clamp(3.6rem,10vw,9rem);line-height:.9;letter-spacing:-.03em;margin-bottom:1.6rem}
.hero .lead{color:#2B3E4D;max-width:28rem;margin-bottom:2rem;font-weight:500}
.hero .eyebrow{color:#7A2E12}

.seccio{padding-block:6rem}
.seccio h2,.menu-dia h2{font-size:clamp(2.1rem,4.6vw,3.6rem)}
.sec-cap{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.sec-cap>p{max-width:24rem;color:var(--suau)}
.fil{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.fil-txt p+p{margin-top:1.1rem}
.fil-txt p{color:var(--suau);font-size:1.12rem}
.plats{background:var(--crema);border-block:1px solid var(--fi)}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.plat-fig{border-radius:50% 50% 0 0/ 38% 38% 0 0;overflow:hidden;margin-bottom:1.2rem}
.plat-card:nth-child(2) .plat-fig{border-radius:0 0 50% 50%/0 0 38% 38%}
.plat svg,.plato{display:block;width:100%;height:auto}
.plat-cat{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--solf)}
.plat-card h3{font-size:1.8rem;margin:.3rem 0 .6rem}
.plat-card p:last-child{color:var(--suau)}
.mes{margin-top:3rem}
.menu-dia{background:var(--mar);color:var(--crema);padding-block:5.5rem}
.menu-dia em{color:var(--sal)}
.md-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.md-in p{color:#D6E4EC;max-width:30rem}
.md-preu{font:400 3.2rem/1 var(--f-t);color:var(--crema) !important;margin:1.5rem 0 1.8rem}
.md-preu span{display:block;font:500 .85rem var(--f-x);color:#B5CAD6;letter-spacing:.04em;margin-top:.5rem}
.vis{display:grid;grid-template-columns:1fr 1fr;gap:3rem 4rem;align-items:start}
.vis>p{grid-column:1/-1}
.dades{list-style:none;margin:0;padding:0}
.dades li{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--fi);flex-wrap:wrap}
.dades li:first-child{border-top:1px solid var(--traç)}
.dades strong{font:400 1.25rem var(--f-t)}
.dades span{color:var(--suau)}

/* Carta */
.tit{padding-block:4.5rem 2rem}
.tit h1{font-size:clamp(2.8rem,7vw,6rem);max-width:12ch;margin-bottom:1.4rem}
.quatre{display:grid;grid-template-columns:repeat(7,1fr);gap:.8rem;margin-bottom:4rem}
.mini{margin:0;text-align:center}
.mini div{border-radius:50%;overflow:hidden;aspect-ratio:1}
.mini figcaption{font-size:.82rem;font-weight:600;letter-spacing:.03em;margin-top:.6rem;line-height:1.25}
.carta{columns:2;column-gap:5rem}
.cat{break-inside:avoid;margin-bottom:3rem}
.cat h2{font-size:2rem;padding-bottom:.8rem;border-bottom:1.5px solid var(--traç);margin-bottom:.4rem}
.cat ul{list-style:none;margin:0;padding:0}
.fila{padding:.95rem 0;border-bottom:1px solid var(--fi)}
.fila-t{display:flex;align-items:baseline;gap:.7rem}
.fila h3{font:600 1.1rem var(--f-x);letter-spacing:0}
.pt{flex:1;border-bottom:2px dotted rgba(14,34,51,.35);transform:translateY(-.25em);min-width:1rem}
.preu{font:400 1.15rem var(--f-t);white-space:nowrap}
.fila p{color:var(--suau);font-size:.97rem;margin-top:.15rem}
.nota{color:var(--suau);font-size:.9rem;margin-top:1.2rem}

/* Reserva */
.reserva{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start}
.form{display:grid;gap:1.4rem;background:var(--crema);border:1px solid var(--traç);padding:2.4rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.trio{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:1.2rem}
.camp{display:grid;gap:.4rem;align-content:start}
.camp label{font-weight:600;font-size:.92rem}
.opc,.ajuda{color:var(--suau);font-weight:400;font-size:.88rem}
.camp input,.camp select,.camp textarea{font:inherit;color:var(--nit);background:var(--sorra);border:1.5px solid var(--nit);border-radius:6px;padding:.8rem .9rem;width:100%;min-width:0}
.camp textarea{min-height:8rem;resize:vertical}
.camp [aria-invalid="true"]{border-color:#B3261E;background:#FFF3F1}
.error{color:#B3261E;font-size:.9rem;min-height:1.1em}
.resultat{padding:1rem 1.2rem;background:var(--sal);border:1.5px solid var(--nit);font-weight:500}
.resultat[hidden]{display:none}
.reserva aside h2{font-size:2rem;margin-bottom:1rem}
.dades-c{margin-bottom:1.4rem}

/* Peu */
.peu{background:var(--nit);color:var(--sorra);padding-bottom:2rem}
.rajoles{display:block;width:100%;height:3.4rem;margin-bottom:4rem}
.peu-cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(240,233,218,.25);color:#C9D4DC}
.peu-marca{font:400 3rem/1 var(--f-t);color:var(--sorra);margin-bottom:.8rem}
.peu h2{font:600 .78rem var(--f-x);letter-spacing:.2em;text-transform:uppercase;color:var(--sal);margin-bottom:.8rem}
.peu a{color:var(--sorra)}
.legal{margin-top:1.6rem;font-size:.85rem;color:#9FB0BC}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
@media (max-width:980px){
  .fil,.md-in,.vis,.reserva{grid-template-columns:1fr;gap:2.2rem}
  .tres{grid-template-columns:1fr 1fr}
  .quatre{grid-template-columns:repeat(4,1fr)}
  .carta{columns:1}
  .peu-cols{grid-template-columns:1fr}
  .seccio,.menu-dia{padding-block:4.4rem}
  .burger{display:block}
  .menu{position:absolute;left:0;right:0;top:100%;background:var(--sorra);border-bottom:1px solid var(--fi);flex-direction:column;align-items:flex-start;gap:0;padding:1rem 1.25rem 1.4rem;display:none}
  .menu.obert{display:flex}
  .menu a{padding:.7rem 0;font-size:1.05rem;width:100%;border-bottom:0}
  .menu .nav-res{width:auto;margin-top:.6rem}
  .cap-in{position:relative}
}
@media (max-width:620px){
  .tres{grid-template-columns:1fr}
  .quatre{grid-template-columns:repeat(2,1fr)}
  .duo,.trio{grid-template-columns:1fr}
  .form{padding:1.4rem}
  .hero{min-height:41rem}
}

.hero .btn-vora{background:rgba(250,246,236,.9)}
.hero .btn-vora:hover{background:var(--nit)}

/* Linca Studio — photographic menu and booking improvements */
.plat-fig img{display:block;width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}
.fotos-carta{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.fotos-carta figure{margin:0}.fotos-carta img{display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;border-radius:45% 45% 0 0}.fotos-carta figcaption{font-weight:600;font-size:.9rem;margin-top:1rem}.filtres-carta{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0}.filtres-carta button{font:inherit;font-size:.85rem;color:var(--nit);background:transparent;border:1px solid var(--fi);border-radius:30px;padding:.6rem 1rem;cursor:pointer}.filtres-carta button[aria-pressed=true]{background:var(--nit);color:var(--sorra)}.cat[hidden]{display:none}.menu-exemple{margin-top:1.2rem}.menu-exemple summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px}.menu-exemple li{font-size:.95rem}.menu-exemple p{font-size:.85rem}.demo-check{font-size:.85rem;display:flex;align-items:start;gap:.7rem}.demo-check input{margin-top:.35rem;flex-shrink:0}.historial{margin-top:2rem}.historial h2{font-size:1.6rem}.reserva-guardada{border-block-end:1px solid var(--fi);padding:1rem 0;white-space:pre-wrap;font-size:.9rem}.reserva-guardada button{font:inherit;text-decoration:underline;background:none;border:0;cursor:pointer;color:var(--mar);padding:.5rem 1rem .5rem 0}.reserva-guardada .res-actions{display:flex;flex-wrap:wrap}.form .ajuda{margin:0}.cat.is-only{column-span:all;max-width:760px}@media(max-width:620px){.fotos-carta{grid-template-columns:1fr}.fotos-carta img{aspect-ratio:1.5;border-radius:8px}.fila-t{flex-wrap:wrap}.fila h3{min-width:0}.preu{font-size:1rem}}
