:root{--green:#6F4E5E;--ink:#49343E;--cream:#F8F2E9;--muted:#8B7F78;--line:#E4D4C5;--rust:#CA8E8A}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}button{color:var(--ink)}header{height:94px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:12px;align-items:center;font:700 29px Georgia,serif;text-decoration:none}.brand-mark{background:var(--green);color:var(--cream);height:43px;width:43px;border-radius:50%;display:grid;place-content:center;padding-bottom:5px;font-size:35px}.brand small{display:block;font:9px Arial;letter-spacing:2px;margin-top:1px}nav{display:flex;gap:32px;align-items:center}nav button,.textbutton{border:0;background:none;padding:9px 0;font-size:13px}.navactive{border-bottom:1px solid var(--green)}.navsave b{font-size:10px;border-radius:50%;padding:4px 6px;background:#F1DFCF;margin-left:5px}.outline{background:transparent;border:1px solid #D8C3A7;border-radius:7px;padding:11px 17px;font-size:13px}.intro{max-width:1500px;margin:auto;padding:48px 4.2% 39px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:var(--green);margin:0 0 13px}h1{font:normal clamp(40px,4.4vw,68px)/1.04 Georgia,serif;letter-spacing:-2px;margin:0 0 20px}h1 em{color:var(--rust);font-weight:normal}.lead{color:#78666F;font-size:15px;margin:0}.intro aside{border-left:1px solid var(--line);padding:8px 8% 8px 42px}.stamp{font:44px Georgia;color:var(--green)}.stamp i{font:24px Georgia;color:#D8C3A7;padding:0 7px}.intro h2{font:21px Georgia;margin:7px 0}.intro aside p{font-size:13px;color:var(--muted);margin:8px 0 18px}.pilot{font-size:10px;color:#8B7F78;background:#F1DFCF;padding:7px 10px;border-radius:4px}main{max-width:1500px;margin:auto;padding:0 4.2%}.toolbar{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:24px}.search{display:flex;align-items:center;border:1px solid #D8C3A7;border-radius:7px;flex:1;background:#FFF9F2;padding:0 16px;gap:12px}.search span{font-size:26px;color:#8B7F78}input{width:100%;border:0;outline:0;background:transparent;padding:13px 0;font-size:13px}input:focus-visible{outline:2px solid #CA8E8A;outline-offset:3px}select{border:1px solid #D8C3A7;background:transparent;border-radius:7px;padding:0 35px 0 15px;font-size:13px}.filters{display:flex;align-items:center;gap:9px;padding:17px 0 22px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:transparent;border-radius:20px;padding:7px 13px;font-size:11px}.chip.active{background:var(--green);border-color:var(--green);color:white}.filter-note{margin-left:auto;font-size:10px;color:var(--muted)}.workspace{display:grid;grid-template-columns:410px 1fr;height:650px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#FFF9F2}.results{overflow:auto;padding:20px}.result-head{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:18px}.result-head h2{font:21px Georgia;margin:0}.result-head p{font-size:10px;color:var(--muted);margin:5px 0}.result-head button{font-size:10px;white-space:nowrap}.card{padding:17px 0;border-top:1px solid var(--line);position:relative}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.card h3{font:22px Georgia;margin:9px 0 4px}.card h3 button{font:inherit;padding:0;border:0;background:none;text-align:left}.card h3 button:hover{text-decoration:underline}.badge{font-size:9px;letter-spacing:.2px;background:#F1DFCF;color:#6F4E5E;padding:4px 7px;border-radius:4px}.badge.pending{background:#F1DFCF;color:#755B5E}.heart{font-size:23px;background:none;border:0;padding:0 5px;color:var(--green)}.location{font-size:11px;color:var(--muted);margin:0 0 11px}.food{font-size:12px;line-height:1.7;margin:5px 0;color:#78666F}.food b{color:var(--green);font-weight:normal}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:10px}.card-bottom button{border:0;background:none;font-size:11px;color:var(--green);padding:0;font-weight:bold}.coverage{font-size:11px;color:var(--muted);padding-top:12px}.map-section{position:relative;background:#F1DFCF}.map-section #map{height:100%;width:100%;z-index:0}.map-label{position:absolute;left:16px;bottom:38px;z-index:500;background:#FFF9F2ED;border:1px solid #E4D4C5;border-radius:6px;padding:10px 12px;font-size:10px;display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}.dot.amber{background:#CA8E8A;margin-left:8px}.map-bottom{position:absolute;bottom:11px;left:16px;z-index:500;font-size:9px;background:#FFF9F2C9;padding:3px 5px}.map-fit{position:absolute;right:13px;top:13px;z-index:500;background:#FFF9F2;border:1px solid #E4D4C5;border-radius:6px;padding:10px 12px;font-size:11px}.pin{background:var(--green);border:3px solid white;color:white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);width:31px;height:31px;box-shadow:0 3px 8px #6F4E5E44;display:grid;place-items:center}.pin span{transform:rotate(45deg);font-size:11px}.pin.pending{background:#CA8E8A}.leaflet-container{font-family:Arial,sans-serif}.leaflet-popup-content{font-size:12px}.leaflet-popup-content button{background:var(--green);color:white;border:0;padding:7px 12px;border-radius:4px;margin-top:8px}.principle{display:flex;align-items:center;gap:17px;padding:23px 0;border-bottom:1px solid var(--line)}.principle>span{font:30px Georgia;color:var(--rust)}.principle p{font-size:11px;color:var(--muted);max-width:760px;margin:0}.principle p b{color:var(--green)}.principle button{margin-left:auto;white-space:nowrap;font-size:11px}footer{max-width:1500px;margin:auto;display:flex;gap:20px;padding:28px 4.2% 35px;align-items:center}footer .brand{font-size:21px;gap:0}.footer-dot{color:var(--rust)}footer p{font:italic 13px Georgia;color:var(--muted)}footer small{margin-left:auto;font-size:9px;color:var(--muted)}dialog{background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:14px;width:min(640px,94vw);max-height:90vh;padding:35px;box-shadow:0 15px 90px #49343E33}dialog::backdrop{background:#49343E5C;backdrop-filter:blur(3px)}dialog h2{font:32px/1.12 Georgia;margin:5px 0 18px}dialog h3{font:20px Georgia;margin:24px 0 8px}dialog p,dialog li{font-size:13px;color:#78666F}dialog .close{float:right;position:sticky;top:0;border:0;background:var(--cream);font-size:25px;padding:0 5px;z-index:2}.detail-address{font-size:13px;color:var(--muted)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.menu-grid>div{padding:15px;background:#F1DFCF;border-radius:8px}.menu-grid h3{font-size:19px;margin:0 0 8px}.menu-grid ul{padding-left:16px;margin:0}.evidence{border-top:1px solid var(--line);margin-top:20px;padding-top:7px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.detail-actions a,.primary{display:inline-block;padding:10px 14px;border-radius:5px;text-decoration:none;border:1px solid var(--green);font-size:12px;background:var(--green);color:#fff}.detail-actions a.secondary{background:none;color:var(--green)}form label{display:block;font-size:12px;margin:15px 0 5px}form input,textarea{display:block;border:1px solid #D8C3A7;border-radius:5px;width:100%;padding:10px;background:#FFF9F2;margin:5px 0}textarea{min-height:68px;font-size:12px;resize:vertical}#reviewResult{padding:12px 0;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 20px;border-radius:8px;z-index:2000;font-size:12px;display:none}#mobileView{display:none}#mapError{position:absolute;top:50%;left:10%;right:10%;font-size:13px;background:#FFF9F2;padding:16px;z-index:500}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #CA8E8A;outline-offset:3px}.empty{padding:30px 0;font-size:14px}.age{color:#8B7F78}
@media(min-width:1500px){.workspace{grid-template-columns:450px 1fr}}@media(max-width:950px){header{gap:12px}nav{gap:16px}.intro aside{padding-right:0}.workspace{grid-template-columns:345px 1fr}.filter-note{display:none}footer small{max-width:230px}.brand small{letter-spacing:1px}header>.outline{display:none}}@media(max-width:650px){header{height:77px;padding:0 5%}.brand{font-size:24px}.brand-mark{width:35px;height:35px;font-size:29px}.brand small{font-size:7px}nav{gap:15px}nav button{font-size:11px}nav button:first-child{display:none}.navsave span{display:none}.intro{padding:30px 5% 25px;gap:20px;align-items:start}h1{font-size:43px}.lead{font-size:12px}.lead br{display:none}.intro aside{padding:3px 0 3px 18px;max-width:145px}.stamp{font-size:32px}.intro h2{font-size:17px}.intro aside p{font-size:11px}.intro aside p br{display:none}.pilot{display:block;font-size:8px;background:none;padding:0}.eyebrow{font-size:8px;letter-spacing:1.4px}main{padding:0 4%}.toolbar{flex-wrap:wrap;gap:8px;padding-top:17px}.search{flex-basis:100%}.toolbar select{flex:1;padding:10px}.toolbar button{font-size:11px;padding:9px}#mobileView{display:block}.filters{gap:6px;padding:14px 0}.chip{font-size:10px;padding:6px 9px}.workspace{display:block;height:590px}.results{height:100%;padding:17px}.map-section{height:100%;display:none}body.mapmode .results{display:none}body.mapmode .map-section{display:block}.principle{align-items:start;padding:18px 0}.principle p{font-size:10px}.principle button{display:none}footer{flex-wrap:wrap;gap:5px 16px;padding:20px 5%}footer small{max-width:none;width:100%;margin:0}dialog{padding:24px}.menu-grid{grid-template-columns:1fr}.map-label{font-size:9px}.map-bottom{font-size:8px}}
.coverage-summary{max-width:1374px;margin:0 auto 20px;padding:13px 17px;background:#F1DFCF;border:1px solid #E4D4C5;border-radius:7px;font-size:12px;color:#62705f}.coverage-summary b{color:var(--green)}.coverage-summary span{margin:0 11px;color:#a7b19e}.coverage-summary small{float:right;font-size:10px;line-height:18px}.quick-actions{display:flex;gap:9px;margin-top:13px}.quick-actions a{font-size:11px;text-decoration:none;padding:6px 10px;border:1px solid #D8C3A7;border-radius:5px;background:#F8F2E9}.quick-actions a:hover{background:#F1DFCF}.source-links{display:flex;flex-direction:column;gap:7px;margin:17px 0}.source-links a{font-size:12px}.coordinate-note{font-size:10px!important}.cluster-pin{border-radius:50%;background:#6F4E5EE8;border:4px solid #FFFFFFDD;box-shadow:0 2px 7px #6F4E5E45;color:white;display:grid;place-content:center;font:bold 12px Arial}.map-fit{right:14px;top:14px}.map-label{bottom:53px}.map-bottom{bottom:31px;max-width:70%}.leaflet-control-scale{margin-bottom:10px!important}.leaflet-control-layers{font-size:10px!important}.toolbar .search{min-width:240px}.toolbar select{max-width:200px}.badge{max-width:290px}.card-bottom{gap:10px;align-items:start}.card-bottom>span{max-width:65%;font-size:9px}
@media(max-width:1100px){.toolbar{flex-wrap:wrap}.toolbar .search{min-width:240px}.toolbar select{max-width:none}.coverage-summary small{float:none;display:block;margin-top:5px}.filter-note{display:none}.coverage-summary span{margin:0 6px}}@media(max-width:650px){.brand{font-size:22px}.brand small{font-size:6px}.coverage-summary{margin:0 4% 15px;font-size:10px;padding:10px 12px}.coverage-summary span{margin:0 4px}.coverage-summary small{font-size:9px}.toolbar select{min-width:0;width:40%;padding-right:20px}.toolbar .search{min-width:100%}.toolbar #near{flex:1}.map-label{bottom:62px;left:10px;max-width:94%;font-size:8px}.map-bottom{max-width:65%;left:10px;font-size:7px;bottom:37px}.intro aside{max-width:137px}.brand-mark{font-size:25px}.map-fit{font-size:10px}.source-links a{overflow-wrap:anywhere}}

footer small a{color:var(--green);text-decoration:none;font-weight:bold}footer small a:hover{text-decoration:underline}.footer-affiliation{display:block;margin-top:4px;color:var(--muted)}.filters{gap:7px}.filters .filter-note{font-size:9px}.filters .chip{white-space:nowrap}@media(max-width:1350px){.filter-note{display:none}}

.pending-hint{background:#F8F2E9;border:1px solid #D8C3A7;border-radius:6px;font-size:11px;color:#755B5E;padding:11px 12px;margin:0 0 15px}.pending-hint button{border:0;background:transparent;color:#755B5E;font-size:11px;padding:4px 0;cursor:pointer;text-decoration:underline}.pending-hint[hidden]{display:none}.coverage-summary{line-height:1.8}.coverage-summary small{float:none;display:block;margin-top:3px}header .brand small{letter-spacing:1.5px}

/* v5: controls compactes desplegables */
.filter-dropdown{position:relative}.filter-dropdown summary{list-style:none;cursor:pointer;user-select:none;white-space:nowrap}.filter-dropdown summary::-webkit-details-marker{display:none}.filter-dropdown.selected summary{background:var(--green);border-color:var(--green);color:white}.filter-menu{position:absolute;z-index:1100;left:0;top:calc(100% + 5px);background:#FFF9F2;border:1px solid var(--line);border-radius:9px;box-shadow:0 9px 26px #6F4E5E22;padding:12px;min-width:188px}.filter-menu label{display:flex;align-items:center;gap:8px;font-size:12px;padding:7px 4px;white-space:nowrap;cursor:pointer}.filter-menu input{width:16px;flex:none;accent-color:var(--green);margin:0;padding:0}.filter-menu small{display:block;font-size:10px;color:var(--muted);max-width:210px;white-space:normal;padding:7px 4px}.sponsor-label{font-size:10px;font-weight:600;color:#755B5E;background:#F1DFCF;border-radius:4px;padding:3px 7px;white-space:nowrap}.card-top .sponsor-label{margin-left:auto}.filter-dropdown:last-child .filter-menu{right:0;left:auto}@media(max-width:650px){.filter-menu{min-width:170px}.filter-dropdown{position:static}.filters{position:relative}}

/* v8: preu discret al peu de la fitxa */
.card-bottom>span{max-width:76%;line-height:1.5}.compact-price{font-size:9px;color:var(--muted);font-weight:normal}.card-bottom button{white-space:nowrap}


/* v9: logo nou i peu amb imagotip */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
header{height:auto;min-height:94px;padding-top:14px;padding-bottom:14px}
.brand.brand-logo-wrap{display:flex;align-items:center;gap:0;text-decoration:none;line-height:0;min-width:230px}
.brand-logo{display:block}
.logo-full-svg{display:block;height:62px;width:auto;overflow:visible}
.logo-full-svg text{display:none}
footer{gap:16px}
.footer-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex:none}
.logo-mark-svg{display:block;width:56px;height:56px;overflow:visible}
footer p{margin:0}
footer small{line-height:1.5}
@media(max-width:950px){.logo-full-svg{height:54px}.brand.brand-logo-wrap{min-width:180px}}
@media(max-width:650px){header{padding-top:10px;padding-bottom:10px}.logo-full-svg{height:46px}.footer-mark{width:48px;height:48px}.logo-mark-svg{width:48px;height:48px}}

/* v10: identitat gràfica */
header .brand-logo-wrap{flex:0 0 auto;min-width:0;display:flex;align-items:center}
.header-logo-img{display:block;width:clamp(245px,25vw,360px);height:auto;max-height:95px;object-fit:contain}
header{min-height:108px;gap:18px;padding-top:10px;padding-bottom:10px}
.footer-mark{width:64px;height:64px;flex:none}.footer-mark img{display:block;width:64px;height:64px;object-fit:contain}
footer .rgb-credit{color:#785056;font-weight:800}
#autoReviewForm{padding:10px 0 16px;border-bottom:1px solid var(--line)}
#autoReviewForm input{background:#FFF9F2;border:1px solid #D8C3A7;border-radius:5px;padding:12px}
#autoReviewForm .primary{margin-top:12px}
.review-status{color:var(--muted)}.review-source{padding:13px;border:1px solid var(--line);border-radius:8px;margin:10px 0;background:#FFF9F2}
.review-source ul{padding-left:22px}.review-source li{font-size:12px;margin:4px 0}
.manual-review{margin:20px 0}.manual-review summary{cursor:pointer;font-size:13px;font-weight:bold;color:var(--green)}
.review-warning{padding:10px 12px;background:#f8ead5;border-radius:6px;color:#78502b;font-size:12px}
@media(max-width:1050px){header .header-logo-img{width:220px}header{flex-wrap:wrap}}
@media(max-width:650px){header{gap:12px}.header-logo-img,header .header-logo-img{width:185px}.footer-mark,.footer-mark img{width:52px;height:52px}}

/* v12: SVG complet, inclosa la línia inferior del logotip. */
header .header-logo-img{width:clamp(275px,29vw,440px);max-height:none;height:auto;object-fit:contain;object-position:left center}
header .brand-logo-wrap{overflow:visible;max-width:min(440px,40vw)}
@media(max-width:1050px){header .header-logo-img{width:310px}header .brand-logo-wrap{max-width:none}}
@media(max-width:650px){header .header-logo-img{width:clamp(190px,58vw,285px)}header .brand-logo-wrap{max-width:70vw}}

/* v13 – paleta de marca. Les cinc tonalitats són l'única base cromàtica */
:root{--green:#6F4E5E;--ink:#49343E;--cream:#F8F2E9;--muted:#8B7F78;--line:#E4D4C5;--rust:#CA8E8A;--sand:#D8C3A7;--ivory:#F8F2E9;--taupe:#8B7F78}
body{background:#F8F2E9;color:#49343E}
header,.workspace,dialog{border-color:#E4D4C5}
.chip.active,.primary,.cluster-pin,.pin{background:#6F4E5E;border-color:#6F4E5E}
.chip.active,.primary{color:#FFFFFF}
.badge,.coverage-summary,.pilot,.navsave b{background:#F1DFCF;color:#6F4E5E}
.badge.pending,.pending-hint{background:#F8F2E9;color:#755B5E;border-color:#D8C3A7}
.map-section{background:#F1DFCF}
.map-section .pin.pending,.dot.amber{background:#CA8E8A}
.card-bottom button,.quick-actions a,.source-links a{color:#6F4E5E}
.heart,.stamp,.eyebrow{color:#6F4E5E}
.sponsor-label{background:#F1DFCF;color:#755B5E}
footer small a .footer-rgb{color:#785056;font-weight:800}

/* v14: proporcions verificades dels SVG originals (logotip vs imagotip) */
header .brand-logo-wrap{flex:0 1 auto;max-width:none;overflow:visible;min-width:0}
header .header-logo-img{display:block;width:clamp(280px,29vw,405px);height:auto;max-width:100%;max-height:none;object-fit:contain;object-position:center}
footer .footer-mark{width:66px;height:70px;min-width:66px;display:flex;align-items:center;justify-content:center}
footer .footer-mark img{display:block;width:64px;height:67px;max-width:none;object-fit:contain}
footer .rgb-credit,footer .footer-rgb{color:#785056!important}
@media(max-width:1050px){header .header-logo-img{width:clamp(230px,31vw,340px)}header .brand-logo-wrap{max-width:none}}
@media(max-width:650px){header .header-logo-img{width:clamp(190px,55vw,270px)}header .brand-logo-wrap{max-width:67vw}footer .footer-mark{width:53px;height:57px;min-width:53px}footer .footer-mark img{width:52px;height:55px}}

.admin-footer-link{font-size:10px;color:#8B7F78;text-decoration:none;white-space:nowrap}
