:root{--red:#980900;--red-dark:#730700;--ink:#252322;--muted:#6e6965;--line:#e8e2dd;--cream:#f7f5f2;--white:#fff;--radius:8px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.55}
*{box-sizing:border-box}body{margin:0;background:#fdfcfb}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:hover{color:var(--red)}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c35923;outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.icon{height:22px;width:22px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:20px;top:-80px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}.topbar{background:#f5f3f1;font-size:.76rem;border-bottom:1px solid #eee8e3;color:#605b57}.topbar .wrap{display:flex;justify-content:space-between;padding-block:9px}.social-top{display:flex;gap:20px}.header{background:white;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:28px}.brand{align-self:center;margin:5px 0;flex-shrink:0}.brand img{width:98px;height:98px;object-fit:contain}.header nav{display:flex;gap:35px;margin-left:auto}.header nav a{font-size:.93rem;font-weight:600;padding:14px 0}.admin-link{border:1px solid var(--line);padding:10px 15px;border-radius:5px;font-size:.82rem;margin-left:15px}.admin-link span{margin-left:12px;color:var(--red)}
/* Cercador visible i navegable amb teclat, també sense JavaScript. */
.hero{position:relative;background:linear-gradient(90deg,#130b0866,#130b083d),url('portada.webp') center 50%/cover;color:#fff;text-align:center}.hero-content{padding-top:88px;padding-bottom:61px}.eyebrow{font-size:.68rem;letter-spacing:.2em;font-weight:700;color:var(--red)}.hero .eyebrow{color:#fff;opacity:.85}.hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.14;letter-spacing:-.035em;margin:19px auto 19px;font-weight:800}.hero-intro{font-size:1.04rem;color:#f5ebe6;margin:0 0 36px}.search-form{display:flex;align-items:stretch;gap:0;background:white;border:7px solid #fff;border-radius:var(--radius);box-shadow:0 12px 35px #170a0726;text-align:left;max-width:1100px;margin-inline:auto;color:var(--ink)}.search-field{padding:10px 20px;min-width:0;flex:1;border-right:1px solid var(--line)}.search-field.keyword{flex:1.3}.search-field label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;margin-bottom:6px;color:#827872}.search-field>div{display:flex;align-items:center;gap:10px}.search-field .icon{width:20px;color:#a29690}.search-field input,.search-field select{border:0;width:100%;background:white;padding:0;min-height:27px;color:#3d3835;font-size:.92rem;min-width:0}.search-field input::placeholder{color:#8d837e}.search-field select{cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);border:1px solid var(--red);color:#fff;border-radius:5px;padding:13px 23px;font-weight:700;font-size:.9rem;line-height:1.5;min-height:48px}.button:hover{background:var(--red-dark);color:#fff}.search-submit{min-width:146px;margin-left:7px;font-size:1rem}.near-controls{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:25px}.near-button{display:flex;gap:9px;align-items:center;min-height:42px;border:1px solid #ffffff85;border-radius:5px;background:#ffffff12;color:white;padding:8px 14px;font-size:.85rem;font-weight:600}.near-button:hover{background:#ffffff25}.near-controls select{border:1px solid #ffffff85;border-radius:5px;color:white;background:#2f201acc;padding:8px;min-height:42px;font-size:.85rem}.near-controls option{background:#fff;color:var(--ink)}.location-note{font-size:.68rem;color:#ede4dd;margin:10px 0 0}#location-status{font-size:.86rem;margin:12px auto 0;max-width:650px}#location-status:empty{display:none}
/* Categories i targetes: mateixa informació i ordre a totes les amplades. */
.category-strip{background:var(--cream);border-bottom:1px solid var(--line);padding:29px 0}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.category{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 10px 18px;transition:transform .18s,border-color .18s}.category:hover{border-color:var(--red);transform:translateY(-3px)}.category .icon{width:35px;height:35px;color:var(--red);margin-bottom:13px}.category span{font-size:.82rem;font-weight:700;line-height:1.35;max-width:150px}.category small{font-size:.65rem;color:var(--muted);margin-top:auto;padding-top:8px}.listings{padding-top:68px;padding-bottom:65px;scroll-margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}h2{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.2;letter-spacing:-.035em;margin:10px 0 12px}.section-heading p{margin:0;color:var(--muted);font-size:.88rem}.text-link{font-size:.82rem;color:var(--red);display:flex;gap:12px;align-items:center;white-space:nowrap;font-weight:700;padding-bottom:4px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .18s}.card:hover{box-shadow:0 8px 25px #32201212}.card-image{height:210px;overflow:hidden;background:#f3ede7}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.card:hover .card-image img{transform:scale(1.025)}.card-body{padding:23px 23px 0;display:flex;flex-direction:column;flex:1}.card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--red);font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.card-meta span{white-space:nowrap}h3{font-size:1.23rem;letter-spacing:-.025em;line-height:1.3;margin:9px 0}.card-location{font-size:.8rem;margin:0;color:#7c726b;display:flex;gap:5px;align-items:center}.card-location .icon{width:15px;height:15px}.card-description{font-size:.83rem;line-height:1.65;color:var(--muted);margin:15px 0 22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-action{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;border-top:1px solid var(--line);padding:14px 0;font-size:.78rem;font-weight:700}.card-action .icon{width:18px;color:var(--red)}.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:34px}.pagination a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:4px;font-size:.85rem}.pagination a[aria-current]{background:var(--red);color:white;border-color:var(--red)}.empty{text-align:center;padding:70px 20px;color:var(--muted)}.empty img{margin:auto}.town-section{--town-section-gap:63px;background:var(--cream);padding:var(--town-section-gap) 0 70px;text-align:center;border-top:1px solid var(--line)}.town-section p{color:var(--muted);font-size:.9rem}.town-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:940px;margin:30px auto 0}.town-links a{display:flex;gap:20px;align-items:center;border:1px solid #ded5ce;background:white;padding:10px 15px;border-radius:5px;font-size:.8rem}.town-links span{color:var(--red)}
/* Peu i fitxes. Les imatges de galeria es carreguen només quan són necessàries. */
.footer{padding:50px 0 0;background:#282320;color:#e9e1db}.footer-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:60px}.footer h2{font-size:1rem;letter-spacing:0;margin:4px 0 17px;color:white}.footer p{font-size:.8rem;line-height:1.7;color:#c2b6ad}.footer-grid>div>a{display:block;font-size:.88rem;margin-bottom:8px}.footer img{background:#fff;border-radius:50%;padding:3px}.footer a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #51433b;font-size:.7rem;margin-top:35px;padding:20px 0}.small{font-size:.75rem!important}.secondary{background:transparent;color:var(--red);border-color:#cdbfb6}.secondary:hover{background:#f8eee8;color:var(--red)}.footer .secondary{color:#fff;border-color:#756157}.footer .secondary:hover{background:#483a31}.detail{padding-top:30px;padding-bottom:60px}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--muted);margin-bottom:35px}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.detail h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.12;letter-spacing:-.04em;margin:12px 0}.detail-heading p{font-size:.85rem;color:var(--muted)}.detail-heading .icon{height:18px;width:18px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags a{font-size:.68rem;color:var(--red);background:#f8eee9;padding:5px 9px;border-radius:3px}.detail-cover{width:100%;height:460px;object-fit:cover;border-radius:8px}.detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:55px;margin-top:42px}.detail-columns h2{font-size:1.5rem;margin-top:0}.detail-columns section{margin-bottom:42px}.description p{font-size:.95rem;color:#5e554f;line-height:1.85}.features{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0}.features li{border:1px solid var(--line);padding:8px 12px;border-radius:4px;font-size:.78rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery img{width:100%;height:150px;object-fit:cover;border-radius:5px}.contact-panel{align-self:start;border:1px solid var(--line);padding:27px;border-radius:8px;background:var(--cream);font-size:.88rem;overflow-wrap:anywhere}.contact-panel>p{margin:5px 0 14px}.contact-panel .button{width:100%;margin:12px 0}.contact-list{list-style:none;padding:0;margin:20px 0 30px}.contact-list li{padding:10px 0;border-bottom:1px solid var(--line)}.contact-list span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.contact-list a{color:var(--red)}.hours{list-style:none;padding:0;font-size:.8rem}.hours li{padding:6px 0;border-bottom:1px solid var(--line)}.source-note{font-size:.69rem;color:var(--muted);line-height:1.6;margin-top:22px!important}.source-note a{text-decoration:underline}
/* Administració: formularis explícits, errors llegibles i taules que no desborden. */
.admin-main{padding-top:42px;padding-bottom:70px;min-height:60vh}.auth-box{max-width:510px;margin:15px auto;border:1px solid var(--line);padding:32px;border-radius:10px}.auth-box h1{font-size:1.8rem;line-height:1.2;margin-top:0}.form-label{display:block;font-size:.82rem;font-weight:700;margin:17px 0 6px}.field{width:100%;padding:11px 12px;border:1px solid #cfc4bc;border-radius:5px;background:white;color:var(--ink)}textarea.field{resize:vertical;min-height:90px}.auth-box .button{margin-top:24px;width:100%}.notice{padding:15px 18px;border:1px solid #d1b894;border-radius:5px;background:#fff8eb;font-size:.87rem;margin:18px 0}.notice.success{background:#f0f7ef;border-color:#a7c99d}.notice.error{background:#fff0ed;border-color:#d59081}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-top h1{font-size:2rem;line-height:1.2}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.admin-table{width:100%;border-collapse:collapse;margin-top:25px;text-align:left;font-size:.86rem}.admin-table th,.admin-table td{padding:14px 12px;border-bottom:1px solid var(--line)}.admin-table th{background:var(--cream);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.admin-table a{color:var(--red);font-weight:700}.admin-scroll{overflow-x:auto}.edit-form{max-width:940px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-grid .full{grid-column:1/-1}.checks{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 0}.checks label{font-size:.84rem}.checks input{accent-color:var(--red);width:18px;height:18px;vertical-align:middle}.field-help{font-size:.72rem;color:var(--muted);margin:5px 0}.edit-form .button{margin-top:24px}.admin-search{display:flex;gap:10px;max-width:580px;margin:20px 0}
/* Tauletes i mòbils: sense controls amagats ni desplaçament horitzontal. */
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}.header nav{gap:22px}.search-field{padding:10px 13px}.search-submit{min-width:110px;padding:12px 15px}.hero-content{padding-top:66px;padding-bottom:50px}.category-grid{gap:9px}.category{padding:18px 8px}.cards{gap:20px}.card-body{padding:20px 18px 0}.card-image{height:180px}.detail-columns{gap:30px;grid-template-columns:minmax(0,1fr) 300px}.footer-grid{gap:35px}}
@media(max-width:760px){.topbar .social-top{display:none}.header-inner{min-height:82px;gap:12px;flex-wrap:wrap}.brand img{width:72px;height:72px}.header nav{gap:17px;margin-left:auto}.header nav a{font-size:.8rem}.admin-link{font-size:.73rem;padding:7px 9px;margin-left:0}.admin-link span{display:none}.hero-content{padding-top:48px;padding-bottom:38px}.hero h1{font-size:2.25rem;margin:15px 0}.desktop-break{display:none}.hero-intro{font-size:.92rem;margin-bottom:25px}.search-form{display:grid;grid-template-columns:1fr 1fr;border-width:6px;gap:0}.search-field{padding:12px;border-bottom:1px solid var(--line)}.search-field.keyword{grid-column:1/-1;border-right:0}.search-field:nth-child(3){border-right:0}.search-field input,.search-field select{font-size:16px}.search-submit{grid-column:1/-1;margin:6px 0 0;min-height:48px}.category-grid{grid-template-columns:repeat(3,1fr)}.category-strip{padding:20px 0}.category{min-height:135px}.category small{font-size:.62rem}.listings{padding-top:40px;padding-bottom:40px}.section-heading{align-items:flex-start}.section-heading .text-link{font-size:.72rem;padding-top:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-image{height:180px}.card-description{font-size:.78rem}.card-meta{font-size:.58rem}h3{font-size:1.1rem}.town-section{--town-section-gap:40px;padding:var(--town-section-gap) 0}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:last-child{grid-column:1/-1}.detail-heading{align-items:flex-start;flex-direction:column}.detail-cover{height:340px}.detail-columns{grid-template-columns:1fr}.contact-panel{grid-row:1}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.gallery img{height:140px}.admin-top{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.wrap{width:calc(100% - 30px)}.topbar{font-size:.62rem}.header-inner{gap:8px}.brand img{width:62px;height:62px}.header nav{gap:13px}.header nav a{font-size:.72rem}.admin-link{font-size:.66rem;padding:6px 7px}.hero h1{font-size:1.96rem}.hero .eyebrow{font-size:.56rem}.hero-intro{font-size:.84rem}.near-controls{gap:8px}.near-button{font-size:.76rem;padding:8px 10px}.near-controls select{font-size:.76rem}.category-grid{gap:8px}.category{padding:17px 7px 12px}.category span{font-size:.72rem}.category .icon{width:30px;height:30px}.section-heading{display:block}.section-heading .text-link{margin-top:12px;padding:0}.cards{grid-template-columns:1fr;gap:21px}.card-image{height:220px}.card-body{padding:22px 22px 0}.card-description{font-size:.85rem}h3{font-size:1.3rem}.card-meta{font-size:.65rem}.footer-grid{gap:24px}.footer-bottom{gap:15px;font-size:.65rem}.detail-cover{height:240px}.contact-list{display:block}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:135px}.form-grid{grid-template-columns:1fr}.auth-box{padding:24px}.admin-actions{width:100%}.town-links{gap:8px}.town-links a{font-size:.73rem;padding:9px 11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Receptes: quatre columnes i fotografies verticals; graella adaptada a cada pantalla. */
.recipe-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-cards .card-image{height:auto;aspect-ratio:3/4;flex-shrink:0}.recipe-cards .card-image img{height:100%;object-fit:cover}
@media(max-width:760px){.recipe-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.recipe-cards{grid-template-columns:1fr}}

/* Mapa de punta a punta: l'amplada no queda limitada pel contenidor de targetes. */
.results-map-section{width:100%;scroll-margin-top:20px}.results-map{height:420px;width:100%;background:#eee8e3;isolation:isolate}.map-note{font-size:.8rem;color:var(--muted);padding-block:10px;margin-block:0}.osonateca-map-marker span{display:block;width:26px;height:26px;background:var(--red);border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0005}.results-map .leaflet-popup-content a{color:var(--red);font-weight:700}.results-map .leaflet-popup-content p{margin:8px 0 0}@media(max-width:760px){.results-map{height:330px}}

/* Mapa encaixat sota el títol i finestres amb informació de contacte destacada. */
.results-map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.results-map-section{margin-bottom:50px}.map-business{width:240px;max-width:100%}.map-business-image{width:100%;height:135px;object-fit:cover;border-radius:5px;margin-bottom:12px}.map-business-name{display:block;font-size:1.05rem;line-height:1.3}.map-business-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--red)}.results-map .leaflet-popup-content .map-business-phone{display:block;font-size:1.25rem;line-height:1.4;margin-top:12px}.map-business-address{font-size:.85rem;line-height:1.5}

/* Fitxes del mapa sense desplaçament intern, amb espai per a foto i contacte. */
.results-map{height:600px}.map-business{width:310px;max-width:calc(100vw - 100px);overflow-wrap:anywhere}.map-business-image{height:165px}.results-map .leaflet-popup-content{max-width:calc(100vw - 100px)}@media(max-width:760px){.results-map{height:560px}.map-business-image{height:145px}}

/* Fitxa horitzontal a l'ordinador i apilada al mòbil, dins un mapa compacte. */
.results-map{height:420px}.map-business{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:18px;width:560px;max-width:calc(100vw - 100px)}.map-business-image{height:200px;width:100%;margin:0}.map-business-details{min-width:0}.results-map .leaflet-popup-content .map-business-type{margin-top:0}.results-map .leaflet-popup-content{max-width:calc(100vw - 100px)}@media(max-width:760px){.results-map{height:420px}}@media(max-width:600px){.map-business{grid-template-columns:1fr;gap:12px;width:280px}.map-business-image{height:110px}.map-business-name{font-size:1rem}.map-business-address{font-size:.8rem}.results-map .leaflet-popup-content .map-business-phone{font-size:1.15rem;margin-top:8px}}

/* Foto quadrada dels establiments a tots els llistats i a les fitxes del mapa. */
.establishment-card .card-image{height:auto;aspect-ratio:1/1;flex-shrink:0}.establishment-card .card-image img{width:100%;height:100%;object-fit:cover}.map-business .map-business-image{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}

/* Quatre establiments per fila a l'ordinador; dues columnes a tauletes i una al mòbil. */
.establishment-cards{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.establishment-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.establishment-cards{grid-template-columns:1fr}}

/* Ressenyes recuperades: autoria, data, text original i valoracions sense reinterpretar. */
.original-review{padding:22px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px}.original-review header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.original-review header span{font-size:.8rem;color:var(--muted)}.review-score{color:var(--red);margin-left:auto}.original-review .description p{white-space:normal}

/* Una única puntuació opcional amb cinc estrelles grogues, incloent mitjanes importades. */
/* La capa groga evita que l'estil general de les dates pinti les estrelles de gris. */
.original-review .review-stars{display:inline-block;margin-left:auto;font-size:1.4rem;line-height:1.3;letter-spacing:2px}.original-review header .review-stars>span{position:relative;display:inline-block;font:inherit;letter-spacing:inherit;color:#d8d4cf}.original-review .review-stars>span::after{content:'★★★★★';position:absolute;inset:0 auto 0 0;width:calc(var(--score) / 5 * 100%);overflow:hidden;white-space:nowrap;color:#f2c200}

/* Capçalera amb mitjana real i dues columnes: foto esquerra, localització dreta. */
.detail-title-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.average-rating{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.85rem;flex-shrink:0}.average-rating small{color:var(--muted)}.average-rating .review-stars{font-size:1.4rem;letter-spacing:2px;line-height:1.3}.average-rating .review-stars>span{position:relative;display:inline-block;color:#d8d4cf}.average-rating .review-stars>span::after{content:'★★★★★';position:absolute;inset:0 auto 0 0;width:calc(var(--score) / 5 * 100%);overflow:hidden;white-space:nowrap;color:#f2c200}.establishment-detail-columns{margin-top:0;align-items:start}.detail-left{min-width:0}.detail-left>.detail-cover{margin-bottom:35px}.detail-sidebar{min-width:0}.establishment-location-map{width:100%;aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;isolation:isolate;margin-bottom:24px}.establishment-detail-columns .contact-panel{grid-row:auto}@media(max-width:760px){.detail-title-row{gap:12px}.detail-sidebar{grid-row:auto}}

/* Subtítols de la fitxa: separador inferior i cinquanta píxels fins al contingut. */
.establishment-detail-columns h2{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:50px}.establishment-detail-columns h2+*{margin-top:0}.establishment-features{margin-top:35px}.establishment-detail-columns .establishment-features{margin-bottom:0}

/* Columna dreta més compacta i icones abans de característiques i autories. */
.establishment-detail-columns .detail-sidebar h2{margin-bottom:25px}.establishment-features .features li{display:flex;align-items:center;gap:8px}.establishment-features .features .icon{width:19px;height:19px;color:var(--red)}.review-author{display:inline-flex;align-items:center;gap:9px}.review-author .icon{width:21px;height:21px;color:var(--red)}

/* Títols amb icones, comptador en insígnia i formulari de comentaris. */
.establishment-detail-columns h2 .icon{color:var(--red);width:24px;height:24px;margin-right:8px}.comments-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:50px}.establishment-detail-columns .comments-heading h2{border:0;margin:0;padding:0}.comment-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 9px;background:#f8eee9;color:var(--red);border-radius:999px;font-size:.85rem;letter-spacing:0;vertical-align:middle;margin-left:8px}.comments-heading .button{font-size:.8rem;padding:9px 13px}.comment-form{padding:22px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;background:var(--cream)}.comment-form label{display:block;margin-bottom:16px}.comment-form .field{display:block;width:100%;margin-top:6px}.comment-form .rating-input{color:#9b7100}.comment-trap{position:absolute;left:-10000px}.detail-photo-link{display:block;margin-bottom:35px;cursor:zoom-in}.photo-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:55px 65px;border:0;background:transparent;color:white;overflow:hidden}.photo-lightbox[open]{display:flex;align-items:center;justify-content:center}.photo-lightbox::backdrop{background:rgba(0,0,0,.88)}.photo-lightbox img{max-width:100%;max-height:calc(100dvh - 110px);object-fit:contain}.photo-lightbox button{position:absolute;border:0;background:#0006;color:white;border-radius:50%;width:44px;height:44px;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center}.lightbox-close{top:12px;right:15px}.lightbox-previous{left:12px;top:calc(50% - 22px)}.lightbox-next{right:12px;top:calc(50% - 22px)}.lightbox-counter{position:absolute;bottom:8px;left:0;width:100%;text-align:center}body:has(.photo-lightbox[open]){overflow:hidden}@media(max-width:600px){.photo-lightbox{padding:55px 12px}.photo-lightbox img{max-height:calc(100dvh - 130px)}.lightbox-previous,.lightbox-next{top:auto;bottom:15px}.lightbox-counter{bottom:14px;pointer-events:none}}

/* Icones de subtítol: color del text i cinc píxels més grans. Característiques en una columna. */
.establishment-detail-columns h2 .icon{color:inherit;width:29px;height:29px}.establishment-features .features{flex-direction:column;align-items:stretch}.establishment-features .features li{width:100%}

/* Botons recuperats al final de la presentació de l'establiment. */
.establishment-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.establishment-buttons .button{font-size:.8rem}.establishment-buttons .icon{width:20px;height:20px}

/* Espaiat final: vint-i-cinc píxels després dels separadors i setanta-cinc entre seccions. */
.establishment-detail-columns .detail-left h2{margin-bottom:25px}.establishment-detail-columns .comments-heading{margin-bottom:25px}.establishment-detail-columns .comments-heading h2{margin-bottom:0}.establishment-detail-columns .detail-left>section{margin-bottom:50px}.establishment-detail-columns .detail-left>section:last-child{margin-bottom:0}.establishment-detail-columns .detail-sidebar .contact-panel>h2:not(:first-child){margin-top:75px}.establishment-detail-columns .establishment-features{margin-top:75px}

/* Recomanacions al final de la fitxa, quatre columnes amb les targetes habituals. */
.related-establishments{margin-top:75px;padding-top:30px;border-top:1px solid var(--line)}.related-tabs{display:flex;gap:10px;flex-wrap:wrap}.related-tabs .button{font-size:.8rem;padding:10px 14px}.related-establishments .section-heading{align-items:center;flex-wrap:wrap}.related-establishments h2 .icon{width:29px;height:29px;margin-right:8px}@media(max-width:760px){.related-tabs{width:100%}.related-tabs .button{flex:1}}

/* Càrrega progressiva independent per als establiments propers i semblants. */
.related-more{text-align:center;margin-top:28px}.related-status{font-size:.85rem;color:var(--muted)}.related-status:empty{display:none}

/* Valoracions i comentaris damunt del separador de totes les targetes d'establiments. */
.card-review-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-bottom:15px}.establishment-card .card-action{margin-top:0}.card-comment-count{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);margin-left:auto}.card-comment-count .icon{width:20px;height:20px}.card-rating{font-size:1.15rem;letter-spacing:2px;line-height:1.3}.card-rating>span{position:relative;display:inline-block;color:#d8d4cf}.card-rating>span::after{content:'★★★★★';position:absolute;inset:0 auto 0 0;width:calc(var(--score) / 5 * 100%);overflow:hidden;white-space:nowrap;color:#f2c200}

/* Botons d'ordenació entre el mapa i les targetes; estat actiu visible. */
.results-sort{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}.results-sort .button{font-size:.8rem;padding:10px 13px}.results-sort [aria-current]{background:var(--red);border-color:var(--red);color:white}.results-sort .icon{width:20px;height:20px}.sort-status{font-size:.85rem;color:var(--muted)}.sort-status:empty{display:none}

/* Logo original dins el requadre de contacte, sense retallar ni deformar-lo. */
.establishment-logo{display:block;max-width:100%;width:auto;height:auto;max-height:180px;object-fit:contain;margin:0 auto 30px}.admin-logo{max-width:250px;margin:12px 0 20px}

/* Receptes amb la mateixa capçalera fotogràfica d'inici; aportacions encara pendents. */
.recipes-hero .search-field>span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;margin-bottom:6px;color:#827872}.recipes-hero .search-submit{background:var(--red);color:white;border:1px solid var(--red);border-radius:5px;font-weight:700}.contribute-recipe:disabled{opacity:1;cursor:default;background:#0003}.contribute-pending{font-size:.65rem;padding:3px 7px;border-radius:999px;background:#ffffff25;margin-left:4px}

/* Caixa independent del logo: fons blanc, vora grisa i alçada segons la imatge. */
.establishment-logo-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px}.establishment-logo-box .establishment-logo{width:100%;height:auto;max-height:none;object-fit:contain;margin:0}
/* Idiomes separats i indicació de la secció activa sense canviar els colors. */
.languages{display:flex;gap:16px;align-items:center}
.languages a[aria-current],.header nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:7px;text-decoration-thickness:2px}
/* Deu categories per fila a l'ordinador, amb menys columnes en pantalles petites. */
.recipe-category-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:12px}
.recipe-category-grid .category{min-width:0;padding:20px 8px}
.recipe-category-grid .category span{overflow-wrap:anywhere}
@media(max-width:1100px){.recipe-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){.recipe-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.recipe-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.category-grid .category[aria-current="true"]{border-color:var(--red);background:var(--red);color:#fff}
.category-grid .category[aria-current="true"] .icon,.category-grid .category[aria-current="true"] small{color:#fff}
/* Els logos petits no s'amplien; els grans es redueixen per cabre a la caixa. */
.establishment-logo-box .establishment-logo{width:auto;max-width:100%;height:auto;display:block;margin:0 auto}
/* Recompte de comentaris de receptes amb el mateix peu que les fitxes d'establiments. */
.recipe-cards .card-action{margin-top:0}
/* Fitxa de recepta amb el llenguatge visual d'Osonateca i blocs adaptables. */
.recipe-detail-header{display:grid;grid-template-columns:minmax(220px,26%) minmax(0,1fr);gap:32px;margin-bottom:75px}
.recipe-header-photo{display:block;min-height:330px;cursor:zoom-in;border-radius:var(--radius);overflow:hidden}.recipe-header-photo img{width:100%;height:100%;object-fit:cover;display:block}
.recipe-header-content{padding:0}.recipe-header-content h1{font-size:clamp(2rem,4vw,3.1rem);margin:18px 0 25px;line-height:1.12;letter-spacing:-.04em;border-bottom:1px solid var(--line);padding-bottom:18px}
.recipe-facts{display:flex;flex-direction:column;gap:12px;margin:0 0 25px}.recipe-facts>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.9rem}.recipe-facts dt{display:inline-flex;align-items:center;gap:8px;font-weight:bold;color:var(--ink)}.recipe-facts dd{margin:0;color:var(--muted)}.recipe-facts .icon{width:20px;height:20px}
.recipe-header-actions{display:flex;flex-wrap:wrap;gap:12px}.recipe-header-actions .button{font-size:.85rem}
.recipe-body-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;align-items:start}.recipe-body-columns>section{padding:0}
.recipe-detail h2 .icon{color:inherit;width:29px;height:29px;margin-right:8px}.recipe-body-columns h2{border-bottom:1px solid var(--line);padding-bottom:18px;margin:0 0 25px}.recipe-ingredients p{margin:0 0 8px}.recipe-preparation p{margin:0 0 25px}.recipe-preparation p:last-child{margin-bottom:0}
.recipe-detail .recipe-comments,.recipe-detail .related-recipes{margin-top:75px}.recipe-detail .comments-heading{margin-bottom:25px}.recipe-detail .comments-heading h2{border:0;margin:0;padding:0}
@media(max-width:760px){.recipe-detail-header,.recipe-body-columns{grid-template-columns:1fr}.recipe-header-photo{min-height:0;height:300px}.recipe-header-content{padding:0}.recipe-body-columns>section{padding:0}}
@media print{body:has(.recipe-detail) .topbar,body:has(.recipe-detail) .header,body:has(.recipe-detail) .footer,.recipe-detail .recipe-comments,.recipe-detail .related-recipes,.recipe-header-actions{display:none!important}.recipe-detail{padding:0;max-width:none}.recipe-detail-header{grid-template-columns:25% 1fr}.recipe-header-photo{min-height:0}.recipe-body-columns{grid-template-columns:1fr 2fr}.recipe-detail-header,.recipe-body-columns>section{box-shadow:none}.recipe-body-columns p{break-inside:avoid}}
/* L'autoria ocupa la mateixa línia informativa que el poble dels establiments. */
.recipe-author .icon{flex-shrink:0;width:20px;height:20px}
/* Ingredients dins el mateix requadre que Adreça i contacte dels establiments. */
.recipe-body-columns>.recipe-ingredients{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:28px;grid-row:auto}
@media(max-width:760px){.recipe-body-columns>.recipe-ingredients{padding:24px}}
/* Enllaç d'autoria externa amb el mateix estil discret dels botons d'Osonateca. */
.recipe-source-action{margin-top:30px}.recipe-source-button{font-size:.85rem;padding:11px 16px;gap:12px;background:#fff}.recipe-source-button .icon{width:18px;height:18px;flex-shrink:0}
@media(max-width:480px){.recipe-source-button{max-width:100%;white-space:normal;text-align:left}}

/* Entrada de gestió: contingut diari separat de la configuració general. */
.admin-dashboard .admin-top{align-items:flex-start;margin-bottom:48px}
.admin-dashboard .admin-top p,.admin-area-heading p{color:var(--muted,#6f6964);margin:12px 0 0}
.admin-area+.admin-area{margin-top:64px}
.admin-area-heading{border-bottom:1px solid #e6ddd7;padding-bottom:22px;margin-bottom:25px}
.admin-area-heading h2{font-size:28px;margin:0}
.admin-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.admin-module{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:#fff;border:1px solid #e6ddd7;border-radius:12px}
.admin-module-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:#f8efeb;color:#a10b00;border-radius:12px;margin-bottom:20px}
.admin-module-icon .icon{width:29px;height:29px}
.admin-module h3{font-size:22px;margin:0 0 10px}
.admin-module p{font-size:16px;line-height:1.6;color:#6f6964;margin:0 0 24px}
.admin-module-status{font-size:13px;color:#726962;margin-top:auto;background:#f7f5f2;padding:6px 10px;border-radius:5px}
.admin-module-link{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid #e6ddd7;padding-top:18px;margin-top:20px;font-weight:600;color:#a10b00;text-decoration:none}
.admin-module-link:hover{text-decoration:underline}
.admin-module-link:focus-visible{outline:2px solid #a10b00;outline-offset:5px}
.admin-dashboard .button .icon{width:19px;height:19px;vertical-align:middle;margin-left:8px}
@media(max-width:1000px){.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.admin-module-grid{grid-template-columns:1fr}.admin-module{padding:22px}.admin-dashboard .admin-top{gap:20px}.admin-area+.admin-area{margin-top:40px}}

.admin-directory-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#f7f5f2;border:1px solid #e6ddd7;margin:25px 0;padding:16px;border-radius:12px;color:#262321}
.admin-directory-search .search-field{min-width:0;border:0;padding:14px}
.admin-directory-search .search-field select,.admin-directory-search .search-field input{width:100%;color:#262321}
.admin-filter-actions{display:flex;align-items:center;gap:18px;padding:14px;flex-wrap:wrap}
.admin-table .admin-edit-button{padding:10px 18px;min-height:0;color:white;text-decoration:none;white-space:nowrap}
.association-badge{display:inline-block;border-radius:6px;background:#f1eeeb;color:#635a54;padding:5px 9px;font-size:14px;white-space:nowrap}
.association-badge.is-associated{background:#e4f0e7;color:#256139}
@media(max-width:900px){.admin-directory-search{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.admin-directory-search{grid-template-columns:1fr}}

/* El cercador administratiu ocupa tota l’amplada del llistat. */
.admin-directory-search{width:100%;max-width:none;box-sizing:border-box}
.admin-directory-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.admin-directory-count{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border:1px solid #ead8d2;border-radius:30px;background:#fbf0ec;color:var(--red);font-size:1rem;line-height:1.3}
.admin-directory-count .icon{width:23px;height:23px}

.admin-establishment-table th,.admin-establishment-table td{padding:8px 10px;line-height:1.35}
.admin-establishment-table .admin-edit-button{padding:5px 13px;min-height:34px;font-size:.8rem}
.admin-establishment-table .association-badge{padding:3px 8px;font-size:.73rem}
.admin-page-summary{font-size:.78rem;color:var(--muted);margin-top:16px}

.admin-user-label{margin-left:18px;white-space:nowrap}
@media(max-width:760px){.admin-user-label{margin-left:0;font-size:.62rem;letter-spacing:.12em}}

/* Les etiquetes de navigation necessiten més amplada que els números. */
.pagination a{width:auto;min-width:40px;flex-shrink:0;white-space:nowrap;padding-inline:10px;box-sizing:border-box}
.pagination a[rel="prev"],.pagination a[rel="next"]{padding-inline:16px;gap:8px}
.pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:40px}

/* Mateix fons crema que les categories de la web, només a administració. */
body.admin-page{--admin-background:#fdfcfb;background:var(--admin-background)}
.admin-page .admin-module,.admin-page .auth-box,.admin-page .admin-table,.admin-page .admin-directory-search{background:var(--white)}

/* Superfícies comunes de gestió i files alternades en tots els llistats. */
.admin-page .admin-scroll,.admin-page .edit-form{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px}
.admin-page .admin-scroll{padding:0;overflow:hidden;overflow-x:auto}
.admin-page .admin-scroll .admin-table{margin:0;border-collapse:separate;border-spacing:0;font-size:.92rem}
.admin-page .admin-table th{padding:14px 12px;font-size:.78rem;background:var(--red);color:var(--white);border-bottom-color:var(--red-dark)}
.admin-page .admin-table th a{color:inherit}
.admin-page .admin-table thead th:first-child{border-top-left-radius:11px}
.admin-page .admin-table thead th:last-child{border-top-right-radius:11px}
.admin-page .admin-table tbody tr:last-child td{border-bottom:0}
.admin-page .admin-directory{width:min(1280px,calc(100% - 48px))}
.admin-page .admin-establishment-table .association-badge{font-size:.79rem}
.admin-page .admin-establishment-table .admin-edit-button{font-size:.86rem}
.admin-page .admin-table tbody tr:nth-child(odd){background:var(--admin-background)}
.admin-page .admin-table tbody tr:nth-child(even){background:var(--white)}
.admin-page .admin-table tbody td{background:inherit}
@media(max-width:600px){.admin-page .edit-form{padding:12px}.admin-page .admin-directory{width:calc(100% - 32px)}}

/* Contrast de les caixes sobre el fons molt clar escollit. */
.admin-page .admin-module,.admin-page .admin-scroll,.admin-page .edit-form,.admin-page .auth-box,.admin-page .admin-directory-search{border-color:#ded6d0;box-shadow:0 3px 12px rgba(55,38,25,.07);background:#fff}

/* Camps del filtre delimitats individualment, també sobre la caixa blanca. */
.admin-directory-search .search-field select,
.admin-directory-search .search-field.keyword>div{border:1px solid #cfc4bc;border-radius:6px;background:#fff;min-height:44px;padding:9px 12px}
.admin-directory-search .search-field.keyword>div input{border:0;background:transparent;padding:0;min-height:24px}
.admin-directory-search .search-field.keyword>div:focus-within{outline:2px solid var(--red);outline-offset:2px;border-color:var(--red)}
.admin-directory-search .search-field.keyword>div input:focus-visible{outline:none}
/* Edició de fitxes: blocs amplis, camps separats i eines de descripció. */
.admin-page .establishment-editor{width:min(1180px,calc(100% - 48px))}
.admin-page .establishment-form{max-width:none;padding:30px}
.establishment-form>.form-grid{gap:24px 28px}
.establishment-form .form-label{margin:0 0 9px;font-size:.95rem;color:var(--ink)}
.establishment-form .field{min-height:48px;padding:12px 14px;border-radius:8px}
.establishment-form fieldset{min-width:0}
.establishment-form .editor-section{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff;margin:8px 0}
.establishment-form .editor-section>legend{padding:0 10px;font-size:1.12rem}
.establishment-form h2{font-size:1.25rem;margin:0 0 8px}
.establishment-form .checks{gap:12px;padding:8px 0}
.establishment-form .checks label{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--admin-background)}
.establishment-form .editor-section .form-grid{gap:20px 24px}
.description-languages{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}
.rich-field{min-width:0}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:9px;border:1px solid #cfc4bc;border-radius:8px 8px 0 0;background:var(--admin-background)}
.rich-toolbar button{min-width:34px;height:34px;border:1px solid var(--line);border-radius:5px;background:white;cursor:pointer;color:var(--ink);font-size:16px}
.rich-toolbar button:hover{color:var(--red);border-color:var(--red)}
.rich-content{min-height:270px;padding:16px;border:1px solid #cfc4bc;border-top:0;border-radius:0 0 8px 8px;overflow-wrap:anywhere;background:#fff}
.rich-content:focus{outline:2px solid var(--red);outline-offset:2px}.rich-content p{margin:0 0 12px}
#establishment-location-map{height:360px;border:1px solid var(--line);border-radius:10px;z-index:0;margin-top:18px}
.establishment-form .editor-section fieldset{padding:20px;border:1px solid var(--line);border-radius:8px;margin-top:20px}
.establishment-form .editor-section fieldset .form-label{margin-top:15px}
@media(max-width:760px){.description-languages{grid-template-columns:1fr}.admin-page .establishment-form{padding:16px}.establishment-form .editor-section{padding:16px}.establishment-form>.form-grid{grid-template-columns:1fr}.establishment-form .editor-section .form-grid{grid-template-columns:1fr}.admin-page .establishment-editor{width:calc(100% - 24px)}}
.editor-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:28px}.editor-heading h1{margin:0 0 12px}.editor-status{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;max-width:100%;padding-top:8px}.editor-status label{background:white;border:1px solid var(--line);border-radius:9px;padding:12px 16px;font-size:.9rem}.editor-status input{accent-color:var(--red)}
.logo-upload-layout{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:30px}.logo-preview{height:150px;border:1px solid var(--line);background:var(--admin-background);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:12px}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-preview .icon{width:44px;height:44px;color:var(--muted)}.logo-upload-controls input{max-width:100%;font-size:.85rem}.logo-upload-controls input::file-selector-button{border:1px solid var(--red);border-radius:7px;background:#fff;color:var(--red);padding:11px 16px;margin-right:12px;font:inherit;font-weight:700;cursor:pointer}.feature-checks{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}.feature-checks label{display:flex;align-items:center;gap:8px;font-size:.85rem}.feature-checks label:has(input:checked){border-color:#c68079;background:#fff6f3}.feature-checks input{flex-shrink:0;accent-color:var(--red)}
@media(max-width:760px){.editor-heading{flex-direction:column}.editor-status{flex-direction:row;flex-wrap:wrap}.logo-upload-layout{grid-template-columns:1fr}.logo-preview{width:130px;height:130px}.feature-checks{grid-template-columns:1fr}}
.establishment-form button.text-link{border:0;background:transparent;padding:12px 0;margin-top:4px;cursor:pointer;font:inherit;font-size:.85rem;color:var(--red);font-weight:700}.establishment-form button.text-link:hover{text-decoration:underline}
.seo-languages{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.establishment-form #websites{height:48px;min-height:48px;resize:vertical}.hours-day{padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;background:#fff}.hours-day-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.hours-day-header strong{font-size:.85rem}.hours-day select{padding:6px;border:1px solid #cfc4bc;border-radius:5px;background:white}.hours-slot{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}.hours-slot input{width:108px;padding:7px;border:1px solid #cfc4bc;border-radius:5px;background:#fff}.hours-day button{padding:5px 8px;color:var(--red);border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer}.hours-add{margin-top:8px}.hours-notes{margin-top:16px}.hours-notes textarea{margin-top:8px}.hours-field{min-width:0}@media(max-width:760px){.seo-languages{grid-template-columns:1fr}}
.establishment-form #websites,.establishment-form #booking_url{height:50px;min-height:50px;box-sizing:border-box}
/* Horaris en ordre de lectura: diumenge i notes comparteixen l’última fila. */
.hours-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 24px;align-items:stretch}.hours-editor .hours-day{margin-bottom:0}.hours-editor .hours-notes{margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.hours-editor .hours-notes label{font-size:.85rem;font-weight:700}.hours-editor .hours-notes textarea{min-height:110px}.hours-field> .form-label{font-size:1.1rem}
@media(max-width:760px){.hours-editor{grid-template-columns:1fr}}

/* Etiquetes: grups contextuals, seleccions persistents i catàleg separat. */
.tag-picker-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.tag-picker-heading h2{margin:0}
.tag-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;align-items:start}
.tag-group{min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 12px #30201006}
.tag-group legend{font-size:1.05rem;font-weight:700;padding:0 8px}.tag-count{font-size:.72rem;font-weight:400;color:#766b65;white-space:nowrap}
.tag-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;max-height:390px;overflow:auto;padding:2px}
.tag-option{display:flex;gap:9px;align-items:flex-start;border:1px solid #e8e0da;border-radius:8px;padding:10px;font-size:.85rem;cursor:pointer;line-height:1.35;background:var(--admin-background)}
.tag-option input{flex:0 0 auto;margin-top:3px;accent-color:var(--red,#a80000)}.tag-option:has(input:checked){background:#fff5f2;border-color:#c25a4c}.tag-option small{display:block;font-size:.7rem;color:#75675d;margin-top:5px}
.tag-picker [hidden]{display:none!important}.tag-filters{display:flex;gap:20px;align-items:end;margin-bottom:24px}.tag-filters>div{flex:1}
.tag-catalog-table{width:100%;border-collapse:collapse;font-size:.88rem}.tag-catalog-table td,.tag-catalog-table th{padding:12px 16px;text-align:left}.tag-catalog-table td small{display:block;color:#75675d}.tag-catalog-table th,.tag-catalog-table tbody tr:nth-child(odd){background:var(--admin-background)}.tag-catalog-table tbody tr:nth-child(even){background:#fff}.tag-catalog-table td:nth-child(3){max-width:330px}.tag-catalog-table .button{white-space:nowrap}
.tag-pagination{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 32px}.tag-editor-form .form-grid{margin-bottom:20px}.tag-management{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.tag-management form{margin-top:20px;padding:20px;background:var(--admin-background);border-radius:10px}
@media(max-width:760px){.tag-groups{grid-template-columns:1fr}.tag-picker-heading,.tag-filters{display:flex;flex-direction:column;align-items:stretch}.tag-options{grid-template-columns:1fr}.tag-catalog-table{min-width:760px}}

.admin-table-wrap{overflow:auto;background:#fff;border:1px solid #ded6d0;border-radius:14px;box-shadow:0 3px 15px #30201008}.establishment-features h3{font-size:1rem;margin:24px 0 10px}

/* Pestanyes de la fitxa: un únic formulari i botó de desar compartit. */
.editor-tabs{display:flex;flex-wrap:nowrap;gap:8px;border-bottom:1px solid var(--line);margin:0 0 30px;padding-bottom:8px}.editor-tabs[hidden],.editor-tab-panel[hidden]{display:none!important}
.editor-tabs button{border:0;border-bottom:3px solid transparent;background:#f1f0ee;border-radius:8px 8px 0 0;color:#71645d;padding:17px 22px;font:inherit;font-size:.9rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}
.editor-tabs button[aria-selected="false"]:hover{background:#e7e5e2;color:#51463f}
.editor-tabs button[aria-selected="true"]{color:#a60000;border-bottom-color:#a60000;background:#fff5f2;border-radius:8px 8px 0 0}.editor-tabs button:focus-visible{outline:2px solid #a60000;outline-offset:-3px}.editor-save{padding-top:26px;margin-top:26px;border-top:1px solid var(--line)}
@media(max-width:760px){.editor-tabs button{padding:14px 12px;font-size:.8rem}}
/* Evidències, revisió i accions del mapa. */
.activity-dot{display:inline-block;width:15px;height:15px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0002;vertical-align:middle}.activity-dot.green{background:var(--status-green)}.activity-dot.orange{background:var(--status-yellow)}.activity-dot.red{background:var(--status-red)}.activity-card{background:white;border:1px solid #e4ddd8;border-radius:18px;padding:26px;margin:24px 0}.evidence-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.92rem;line-height:1.7;max-height:420px;overflow:auto}.admin-segment-tabs{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.admin-segment-tabs a{padding:14px 24px;border-radius:12px;background:white;border:1px solid #e4ddd8;color:var(--red);text-decoration:none}.admin-segment-tabs [aria-current]{background:var(--red);color:white}.activity-dialog{width:min(680px,94vw);max-height:90vh;border:1px solid #e4ddd8;border-radius:20px;padding:28px;box-shadow:0 20px 90px #0004}.activity-dialog::backdrop{background:#24171388}.activity-dialog form{display:grid;gap:16px}.activity-dialog label{display:block}.activity-dialog input:not([type=checkbox]),.activity-dialog textarea{display:block;width:100%;padding:12px;border:1px solid #cfc5bf;border-radius:8px}.activity-dialog input[type=checkbox]{width:auto;margin-right:8px}.activity-dialog fieldset{padding:16px;border:1px solid #ddd;border-radius:10px}.map-business-actions{display:block!important;min-width:220px}.map-business-actions .button{display:block;width:100%;margin-top:10px;padding:10px;font-size:.85rem}.map-business-actions .map-business-image{max-width:100%;height:130px;object-fit:cover}.member-marker span{width:36px;height:36px;border-width:3px}.guest-marker span{width:21px;height:21px;background:#c9d6d4;box-shadow:0 1px 3px #0003;border-width:2px}.guest-marker.category-1 span{background:var(--map-category-1)}.guest-marker.category-2 span{background:var(--map-category-2)}.guest-marker.category-3 span{background:var(--map-category-3)}.guest-marker.category-4 span{background:var(--map-category-4)}.guest-marker.category-5 span{background:var(--map-category-5)}.guest-marker.category-6 span{background:var(--map-category-6)}.guest-marker.category-7 span{background:var(--map-category-7)}.map-cluster{display:grid;place-items:center;border-radius:50%;background:#ede5df;border:3px solid white;box-shadow:0 1px 6px #0003;font-weight:bold;color:#62483e}.cluster-choice{display:block;padding:8px;border:0;background:white;color:var(--red);cursor:pointer}.activity-card dl{display:grid;grid-template-columns:120px 1fr;gap:8px}.activity-card dd{margin:0;overflow-wrap:anywhere}
.results-map .map-cluster{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;padding:0;text-align:center;line-height:1;font-size:14px;letter-spacing:0;text-indent:0;}.results-map .map-cluster::before,.results-map .map-cluster::after{content:none;}
.map-location-note{font-size:.8rem;color:#75592d;background:#fff6df;padding:8px;border-radius:8px;}
/* Fitxes del mapa: amplada continguda i accions agrupades, sense desbordaments. */
.results-map .business-popup .leaflet-popup-content{width:320px!important;max-width:calc(100vw - 88px);margin:20px}
.results-map .business-popup .leaflet-popup-content-wrapper{border-radius:18px;padding:0;overflow:hidden;box-shadow:0 8px 32px #35251f30}
.results-map .map-business-actions{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:flex!important;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}
.results-map .map-business-actions *{box-sizing:border-box;max-width:100%}
.results-map .map-business-actions .map-business-name{font-size:21px;line-height:1.25;letter-spacing:-.35px;padding-right:12px;color:#382c27}
.results-map .map-business-actions .map-business-type{font-size:12px;text-transform:none;letter-spacing:0;color:#8a6554;margin:0}
.results-map .map-business-actions .map-business-town{font-size:13px;color:#766d68;margin:0 0 4px}
.results-map .map-business-actions .map-business-image{height:145px;width:100%;border-radius:10px;margin:0 0 4px}
.results-map .map-business-actions .button{min-width:0;width:100%;margin:0;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.4;white-space:normal}
.results-map .map-business-actions .button.secondary{background:#faf8f6;border:1px solid #e9dfd8;color:#9c170a}
.results-map .map-business-actions .button:hover{filter:brightness(.96)}
.results-map .map-contact-row{border:1px solid #e9dfd8;border-radius:10px;overflow:hidden}
.results-map .map-contact-row .map-contact-button{display:flex;align-items:center;gap:10px;border:0!important;text-align:left;background:#faf8f6}
.results-map .map-contact-row .map-action-icon{font-size:21px;width:24px;text-align:center}
.results-map .map-contact-row .map-contact-value{margin:0;padding:0 14px 12px 48px;background:#faf8f6;color:#382c27;font-size:14px;white-space:pre-line}
.results-map .map-contact-row.is-revealed button{opacity:1;color:#766d68;cursor:default}
.results-map .map-business-actions .notice{margin:4px 0 0;padding:10px 12px;border-radius:9px;border:1px solid #eddbb8;background:#fff8eb;color:#785721;font-size:12px}
.results-map .map-business-actions .map-location-note{margin:0;font-size:12px}
.results-map .business-popup .leaflet-popup-close-button{top:4px;right:5px;width:28px;height:28px;border-radius:50%;background:#ffffffed;color:#62534b}
@media(max-width:420px){.results-map .business-popup .leaflet-popup-content{margin:16px}.results-map .map-business-actions .map-business-name{font-size:19px}}
.results-map .map-contact-row .map-contact-button{justify-content:flex-start}
.results-map .map-business-actions a.button{color:#fff}
.results-map .map-business-actions>p{margin:0}
.results-map .business-popup .leaflet-popup-scrolled{border:0;padding-right:6px;scrollbar-width:thin}
@media(max-width:600px){.results-map .business-popup .leaflet-popup-content{max-width:calc(100vw - 120px)}.results-map:has(.business-popup) .leaflet-top.leaflet-left{visibility:hidden}}
.evidence-card{padding:30px;overflow:hidden}.evidence-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.evidence-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.13em;color:#867970}.evidence-header h3{font-size:1.65rem;margin:5px 0 0;line-height:1.2}.evidence-state{display:inline-flex;gap:9px;align-items:center;background:#f8f5f1;border:1px solid #e9e1da;border-radius:30px;padding:9px 14px;font-size:.85rem}.evidence-date{color:#756b65;font-size:.8rem;margin:16px 0}.evidence-verdict{background:#faf7f2;border-left:3px solid #d6aa72;border-radius:0 12px 12px 0;padding:18px 22px;margin:20px 0}.evidence-card .evidence-subtitle{font-size:.88rem;margin:0 0 9px;font-weight:700}.evidence-card p{line-height:1.65}.evidence-verdict p{margin:0;font-size:.95rem;max-width:100ch;white-space:normal}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.evidence-fact{padding:17px;border:1px solid #e9e2dc;border-radius:12px}.evidence-fact p{font-size:.83rem;margin:0;overflow-wrap:anywhere}.evidence-muted{color:#807670}.evidence-details{border-top:1px solid #eee7e1;padding:15px 0;font-size:.88rem}.evidence-details summary{cursor:pointer;font-weight:600;color:#58483e}.evidence-details summary span,.evidence-sources .evidence-subtitle>span{display:inline-block;margin-left:6px;background:#f1ece7;border-radius:20px;padding:2px 8px;font-size:.72rem}.evidence-details>div{padding:6px 10px}.evidence-details p{overflow-wrap:anywhere}.evidence-sources{padding:18px 0}.evidence-sources>div{display:flex;flex-wrap:wrap;gap:8px}.evidence-sources a{display:inline-flex;gap:18px;align-items:center;border:1px solid #e7ded6;border-radius:9px;padding:9px 12px;font-size:.8rem;text-decoration:none;color:#83482f;background:#fff;overflow-wrap:anywhere;max-width:100%}.evidence-sources a:hover{background:#faf4ee;border-color:#bd9d87}.evidence-original summary{font-weight:400;color:#807670;font-size:.8rem}.evidence-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid #eee7e1;padding-top:22px;margin-top:8px}.evidence-actions>.button{margin:0;padding:12px 18px;font-size:.88rem;border-radius:9px}.evidence-actions>.secondary{background:white;color:var(--red);border:1px solid #d9c8bd}.evidence-card a:focus-visible,.evidence-card summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}@media(max-width:1000px){.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.evidence-card{padding:20px}.evidence-header h3{font-size:1.4rem}.evidence-grid{grid-template-columns:1fr}.evidence-actions>.button{width:100%;text-align:center}.evidence-verdict{padding:15px}.evidence-state{font-size:.78rem}}
.evidence-fact--red{--evidence-tone:var(--status-red);background:var(--status-red-soft);border-color:#edcbc7}.evidence-fact--yellow{--evidence-tone:var(--status-yellow);background:var(--status-yellow-soft);border-color:#e9dfa9}.evidence-fact--green{--evidence-tone:var(--status-green);background:var(--status-green-soft);border-color:#c9e0cf}.evidence-data-status{display:flex;align-items:center;gap:9px;font-size:.8rem;font-weight:650;color:#51463c;margin:12px 0}.evidence-data-dot{display:inline-block;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--evidence-tone);border:3px solid white;box-shadow:0 0 0 1px var(--evidence-tone)}.evidence-fact--yellow .evidence-data-dot{background:var(--status-yellow)}.evidence-card .evidence-key{font-size:.76rem;color:#786d62;margin:-8px 0 22px;line-height:1.6}
.confirmation-count{display:inline-block;font-size:.9rem;background:#f2ede8;padding:5px 10px;border-radius:20px;vertical-align:middle}.confirmation-list{border:1px solid #e7ded6;border-radius:14px;overflow:hidden}.confirmation-row{padding:24px;background:white}.confirmation-row:nth-child(even){background:#fdfcfb}.confirmation-row+.confirmation-row{border-top:1px solid #e7ded6}.confirmation-row-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap}.confirmation-date{display:block;font-size:.78rem;color:#81756c;margin-top:5px}.confirmation-status{display:inline-block;font-size:.76rem;font-weight:650;border-radius:20px;padding:7px 11px;background:#f1ede8;color:#685e54}.confirmation-status.pending{background:var(--status-yellow-soft);color:#775807;--confirmation-tone:var(--status-yellow)}.confirmation-status.approved{background:var(--status-green-soft);color:#246c3b;--confirmation-tone:var(--status-green)}.confirmation-status.rejected{background:var(--status-red-soft);color:#993a31;--confirmation-tone:var(--status-red)}.confirmation-body{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:22px}.confirmation-evidence{padding-left:20px;margin:0;font-size:.88rem;line-height:1.7}.confirmation-evidence li+li{margin-top:5px}.confirmation-contact{background:#f6f3ef;padding:17px;border-radius:12px;min-width:0}.confirmation-contact>div{margin-top:13px;overflow-wrap:anywhere}.confirmation-contact span{display:block;font-size:.74rem;color:#81756c;margin-bottom:3px}.confirmation-contact strong{font-size:.88rem;font-weight:500}.confirmation-note,.confirmation-decision{font-size:.88rem;white-space:normal;overflow-wrap:anywhere}.confirmation-decision{border-left:3px solid #d4c5b8;padding-left:15px}.confirmation-empty{padding:25px;background:#fdfcfb;border:1px dashed #ddd1c8;border-radius:12px;color:#81756c;font-size:.9rem}.confirmation-review{margin-top:20px}.confirmation-review form{padding-top:18px;display:grid;gap:16px}.confirmation-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confirmation-checks label{font-size:.85rem;display:flex;align-items:flex-start;gap:8px}.confirmation-checks input[type=checkbox]{width:auto;flex-shrink:0}.confirmation-review textarea{width:100%;min-height:100px}@media(max-width:700px){.confirmation-body,.confirmation-checks{grid-template-columns:1fr}.confirmation-row{padding:18px}}

.confirmation-status.pending::before,.confirmation-status.approved::before,.confirmation-status.rejected::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--confirmation-tone);margin-right:7px;vertical-align:middle}.editor-tabs [role=tab] .activity-dot{margin-left:8px;flex-shrink:0;width:17px;height:17px}.editor-save[hidden],.editor-tab-panel[hidden]{display:none!important}#panel-evidence>.activity-card:first-child{margin-top:20px}
.delete-establishment{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);text-align:right}.delete-establishment>.button{color:var(--red);border:1px solid #d9b8b3;background:white}#delete-establishment-dialog input{margin-top:10px}

:root{--map-category-1:#ca825f;--map-category-2:#bd963f;--map-category-3:#63a373;--map-category-4:#9a7eba;--map-category-5:#56a2b0;--map-category-6:#c17fa0;--map-category-7:#6d94bf;--map-category-0:#728f8a;--map-category-8:#b18a65}
.guest-marker span{background:var(--map-category-0);box-shadow:0 2px 4px #0005}.guest-marker.category-8 span{background:var(--map-category-8)}
.map-legend{display:flex;justify-content:flex-end;gap:9px 18px;flex-wrap:wrap;margin:14px 0 0;font-size:.74rem;color:#655b53}.map-legend>span{display:inline-flex;align-items:center;gap:7px}.map-legend>span[hidden]{display:none}.map-legend i{display:inline-block;width:13px;height:13px;flex-shrink:0;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--map-category-0);border:1px solid #fff;box-shadow:0 0 0 1px #0002}.map-legend .legend-member i{background:var(--red);width:17px;height:17px}.map-legend .legend-member{font-weight:700}.map-legend .category-1 i{background:var(--map-category-1)}.map-legend .category-2 i{background:var(--map-category-2)}.map-legend .category-3 i{background:var(--map-category-3)}.map-legend .category-4 i{background:var(--map-category-4)}.map-legend .category-5 i{background:var(--map-category-5)}.map-legend .category-6 i{background:var(--map-category-6)}.map-legend .category-7 i{background:var(--map-category-7)}.map-legend .category-8 i{background:var(--map-category-8)}.associated-results-title{font-size:1.65rem;line-height:1.25;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.listings .results-sort{margin:0 0 25px}.listings #sort-status:empty{display:none}.listings #results-grid{margin-top:0}@media(max-width:600px){.associated-results-title{font-size:1.4rem}}
.town-links .town-name{color:var(--ink)}.town-links .town-total{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.72rem;white-space:nowrap}.town-total .icon{width:13px;height:13px}.town-total strong{font-weight:400;font-size:inherit;font-variant-numeric:tabular-nums}.town-links .town-arrow{font-size:.75rem}
.town-section .town-heading-total{color:var(--red);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.town-section .town-territory-total{color:var(--red);font-size:1rem;font-weight:700;margin:10px 0 16px}

.town-section .town-territory-total{margin-bottom:0}.town-section .town-territory-total+p{margin:20px 0 var(--town-section-gap)}.town-section .town-links{margin-top:0}
/* Alinea el mapa lateral amb la fotografia principal de la fitxa. */
.establishment-detail-columns .detail-sidebar > #establishment-location-map{margin-top:0}

.directory-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.directory-links a{display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:10px;height:100%}.directory-links span{font-size:.8rem;color:var(--muted);margin-top:8px}.directory-links a:hover{border-color:var(--red)}@media(max-width:800px){.directory-links{grid-template-columns:1fr}}
.visit-counter{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.75rem;margin:0 0 24px}.visit-counter .icon{width:18px;height:18px}.message-card{margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:12px;background:white}.message-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.message-fields dt{font-size:.75rem;color:var(--muted)}.message-fields dd{margin:4px 0 0;overflow-wrap:anywhere}.message-note{background:var(--cream);padding:18px;border-radius:8px;margin:16px 0;overflow-wrap:anywhere}.messages-section{margin:25px 0}.message-note p{margin-bottom:0}@media(max-width:700px){.message-fields{grid-template-columns:1fr 1fr}.visit-counter{flex-wrap:wrap}}
.visit-counter{display:inline-flex;padding:10px 15px;border:1px solid #e6d8cf;border-radius:10px;background:#faf6f2;color:#675a51;font-size:.8rem;gap:9px;margin:16px 0 24px}.visit-counter strong{font-size:1.15rem;color:var(--red)}.visit-counter .icon{width:22px;height:22px;color:var(--red)}.other-establishments{margin-top:60px;border-top:1px solid var(--line);padding-top:35px}.other-establishments h2{font-size:30px}.other-town-group{margin:28px 0}.other-town-group .other-town-title{display:flex;align-items:center;gap:12px;font-size:21px}.other-town-group .other-town-title>span{font-size:13px;font-weight:400;color:var(--muted)}.other-business-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0}.other-business-list a{display:grid;grid-template-columns:1fr auto;gap:6px 12px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:white}.other-business-list a>strong{font-size:1rem;overflow-wrap:anywhere}.other-business-list a>span{grid-column:1;font-size:.75rem;color:var(--muted)}.other-business-list .icon{grid-column:2;grid-row:1/3;width:18px;height:18px;align-self:center;color:var(--red)}.other-business-list a:hover{border-color:var(--red);background:#fdfaf8}@media(max-width:900px){.other-business-list{grid-template-columns:1fr 1fr}}@media(max-width:580px){.other-business-list{grid-template-columns:1fr}}

/* Fons públic compartit amb administració i grups de resultats ben separats. */
body:not(.admin-page) .header{background:#fdfcfb}
.other-establishments>.section-heading h2{font-size:clamp(1.6rem,2.5vw,2.2rem)}
.other-establishments>.section-heading .eyebrow{color:var(--red);font-size:.68rem;letter-spacing:.2em;font-weight:700}
.other-town-group{margin:0;padding:28px;border:1px solid #ded6d0;border-radius:16px;background:var(--white);box-shadow:0 3px 12px rgba(55,38,25,.05)}
.other-town-group+.other-town-group{margin-top:75px}
.other-town-group .other-town-title{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.other-business-list{margin:0}
.other-town-group .other-business-list a{background:#fdfcfb}
.other-town-group .other-business-list a:hover{background:#faf4ef}
@media(max-width:600px){.other-town-group{padding:18px;border-radius:12px}}
.other-town-group .other-town-title>.icon{width:28px;height:28px;color:var(--ink)}.other-town-group .other-town-title>.other-group-name{font:inherit;color:inherit}.other-town-group .other-town-title>.other-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 10px;border:1px solid #e2d8d0;border-radius:999px;background:#f2ebe6;color:#59483c;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0}

/* Menú persistent i espai per als destins dels enllaços interns. */
.header{position:sticky;top:0;z-index:1100;box-shadow:0 3px 12px #3020160a}
html{scroll-padding-top:135px}
.skip:focus{position:fixed;z-index:1200}
@media(max-width:760px){html{scroll-padding-top:160px}}
/* Peu editorial: marca, informació útil i invitacions discretes. */
.footer-renewed{background:#292624;padding-top:58px;color:#eee9e5}
.footer-main{display:grid;grid-template-columns:1fr 1.15fr 1fr 1.3fr;gap:38px;align-items:start}
.footer-renewed .footer-brand{display:block;width:160px;height:160px;overflow:hidden;border-radius:50%;margin-bottom:18px}
.footer-renewed .footer-brand img{background:transparent;padding:0;border:0;border-radius:0;width:180px;height:180px;max-width:none;margin:-10px;object-fit:contain}
.footer-renewed h2{font-size:1rem;margin:8px 0 22px;font-weight:700}
.footer-renewed p{color:#c7bfb9;line-height:1.75;margin:0 0 16px}
.footer-socials{display:flex;gap:16px;font-size:.75rem}
.footer-contact{font-style:normal}.footer-contact a,.footer-contact p{display:flex;gap:11px;align-items:flex-start;font-size:.85rem;margin-bottom:17px;overflow-wrap:anywhere}
.footer-contact .icon{width:18px;height:18px;margin-top:3px;color:#c7bfb9}
.footer-main nav>a{display:block;margin:0 0 13px;font-size:.85rem;color:#d2cac4}
.footer-app{padding:24px;background:#35312e;border:1px solid #4b4440;border-radius:14px;position:relative}
.footer-app .footer-kicker{font-size:.62rem;letter-spacing:.16em;color:#cabbb0}.footer-app h2{font-size:1.2rem;margin:12px 0}.footer-app-symbol{display:none}
.footer-app details{font-size:.78rem}.footer-app summary{cursor:pointer;color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-app details p{margin:12px 0 0;font-size:.75rem}.footer-app .button{margin-bottom:14px}
.footer-join{margin-top:42px;padding:24px 0;border-top:1px solid #514944;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-join strong{display:block;font-size:1.05rem;margin-bottom:5px}.footer-join span{font-size:.78rem;color:#c7bfb9}.footer-join b{color:#eee9e5;font-weight:600}.footer-join>a{display:flex;align-items:center;gap:14px;border:1px solid #6c5b50;padding:11px 17px;border-radius:7px;font-size:.8rem;white-space:nowrap}.footer-join>a:hover{background:#423931}
.footer-renewed .footer-bottom{margin-top:0;border-color:#514944;color:#b5aaa2;gap:20px;flex-wrap:wrap}.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-app{max-width:420px}}
@media(max-width:580px){.footer-renewed{padding-top:36px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-identity{display:grid;grid-template-columns:115px 1fr;gap:12px 20px;align-items:center}.footer-renewed .footer-brand{grid-row:1/3;width:115px;height:115px;margin:0}.footer-renewed .footer-brand img{width:129px;height:129px;margin:-7px}.footer-identity p{margin:0}.footer-join{align-items:flex-start;flex-direction:column}.footer-app{max-width:none}.footer-bottom nav{gap:18px}}

.legal-page{max-width:960px;padding-block:55px 75px}.legal-page h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin:15px 0 35px}.legal-document{padding:35px;background:white;border:1px solid var(--line);border-radius:14px;font-size:.94rem;line-height:1.85;overflow-wrap:anywhere}.legal-document h2{font-size:1.2rem;margin:32px 0 16px;color:var(--red);letter-spacing:0}.legal-document a{color:var(--red);text-decoration:underline}.legal-document table{display:block;max-width:100%;overflow:auto}@media(max-width:600px){.legal-document{padding:20px}}

.legal-document th,.legal-document td{padding:12px;border:1px solid var(--line);text-align:left}.legal-document th{background:var(--cream)}
/* Invitacions del peu: avantatges del negoci i app amb icona pròpia. */
.footer-main{grid-template-columns:.85fr 1fr .95fr 1.7fr;gap:30px}
.footer-app{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:24px}
.footer-app-phone{width:64px;height:100px;color:#e9ddd2;margin-top:8px}
.footer-app .footer-kicker{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#fff}
.footer-app-copy{min-width:0}
.footer-app summary{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 15px;border:1px solid #6c5b50;border-radius:7px;font-size:.8rem;text-decoration:none;list-style:none}
.footer-app summary::-webkit-details-marker{display:none}
.footer-app summary:hover{background:#423931}.footer-app summary:focus-visible{outline:2px solid #e9ddd2;outline-offset:4px}
.footer-app details[open] summary{background:#423931}
.footer-join>div{max-width:850px}.footer-join span{display:block;line-height:1.85;font-size:.84rem;margin-top:10px}
.footer-join strong{font-size:1.15rem}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr}.footer-app{max-width:none}}
@media(max-width:580px){.footer-main{grid-template-columns:1fr}.footer-app{grid-template-columns:52px minmax(0,1fr);gap:15px;padding:20px}.footer-app-phone{width:52px;height:85px}}
.membership-page{padding-block:65px 80px}.membership-hero{max-width:850px;margin:0 auto 50px;text-align:center}.membership-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.13;letter-spacing:-.04em;margin:16px 0 24px}.membership-hero>p:not(.eyebrow){font-size:1.1rem;color:var(--muted);max-width:690px;margin:0 auto 28px}.membership-price{display:block;margin-top:18px;font-size:.85rem;color:var(--muted)}.membership-price strong{color:var(--ink);font-size:1.15rem}.membership-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.membership-highlights article{padding:28px;border:1px solid var(--line);background:white;border-radius:14px}.membership-highlights .icon{width:32px;height:32px;color:var(--red);margin-bottom:15px}.membership-highlights h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.02em}.membership-highlights p{color:var(--muted);font-size:.9rem;line-height:1.75;margin-bottom:0}.membership-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;margin-top:65px;padding:40px;border:1px solid var(--line);border-radius:18px;background:white;scroll-margin-top:25px}.membership-contact h2{font-size:2rem}.membership-contact p{color:var(--muted);line-height:1.8}.membership-contact .notice.success{color:#246c3b}.membership-contact .notice.error{color:#993a31}.membership-consent{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;margin:22px 0}.membership-consent input{margin-top:5px;accent-color:var(--red)}.membership-consent a{color:var(--red);text-decoration:underline}.membership-contact textarea{margin-top:7px}@media(max-width:900px){.membership-highlights{grid-template-columns:1fr 1fr}.membership-contact{grid-template-columns:1fr;gap:18px}}@media(max-width:580px){.membership-page{padding-block:35px 50px}.membership-highlights{grid-template-columns:1fr}.membership-contact{padding:22px}.membership-contact .form-grid{grid-template-columns:1fr}.membership-hero .button{width:100%}}
.form-legal{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted);line-height:1.7;text-align:left}.form-legal>strong{font-size:.75rem;color:#51463c}.form-legal p,.membership-contact .form-legal p{font-size:.72rem;line-height:1.7;margin:8px 0}.form-legal a{color:var(--red);text-decoration:underline}.comment-form .membership-consent{display:flex}.comment-form .membership-consent input{width:auto;flex-shrink:0}.footer-identity{width:160px;text-align:center}.footer-socials{justify-content:center;gap:12px}.footer-identity p{text-align:center}.team-form-section{margin-top:24px}@media(max-width:580px){.footer-identity{display:flex;width:100%;flex-direction:column;gap:15px}.footer-identity .footer-brand{margin:auto}.footer-identity p{margin:0}}
/* Alta curta: negoci i persona de contacte en blocs independents. */
.team-form-group{min-width:0;margin:0 0 26px;padding:18px 22px 24px;border:1px solid #e2d9d1;border-radius:12px;background:#fdfcfb}.team-form-group legend{padding:0 10px;font-size:1rem;font-weight:700;color:var(--ink)}.team-form-group legend .icon{width:21px;height:21px;color:var(--red);margin-right:5px}.team-form-group .form-label{margin-top:12px}.team-form-group .field{margin-top:6px}@media(max-width:600px){.team-form-group{padding:12px 16px 18px}.team-form-group .form-grid{grid-template-columns:1fr}}
/* Contacte: una benvinguda propera i dues invitacions sota les dades. */
.contact-welcome>h2{max-width:450px;line-height:1.2}.contact-welcome .contact-intro{font-size:.94rem;line-height:1.85}.contact-channels{display:grid;gap:0;margin:25px 0 32px}.contact-channels>a,.contact-channels>div{display:flex;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:.95rem;overflow-wrap:anywhere}.contact-channels .icon{color:var(--red);width:23px;height:23px}.contact-channels small{display:block;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.contact-promo{padding:24px;border:1px solid #e5d8cc;border-radius:14px;background:#f7f3ed;margin-top:20px}.contact-promo h3{font-size:1.35rem;margin:10px 0}.contact-promo p{font-size:.85rem;line-height:1.75;margin:0 0 16px}.contact-promo-app{display:grid;grid-template-columns:46px minmax(0,1fr);gap:18px}.contact-mobile{width:46px;height:78px;color:#75624e;margin-top:5px}.contact-promo details{font-size:.8rem}.contact-promo summary{cursor:pointer;color:var(--red);font-weight:700}.contact-promo details p{margin:12px 0 0}.contact-promo .button{font-size:.8rem;padding:9px 13px;margin-bottom:12px}.contact-promo-member{background:#fcf5f2}.contact-promo .text-link{white-space:normal}.legal-page{max-width:none}
/* Vora irregular inspirada en paper artesanal, sense tapar el contingut. */
.footer-renewed{position:relative;margin-top:0}
@media(max-width:580px){.contact-promo{padding:20px}.contact-promo-app{grid-template-columns:38px minmax(0,1fr);gap:14px}.contact-mobile{width:38px;height:64px}}

.contact-promo summary.button{list-style:none;display:inline-flex;font-size:.9rem;font-weight:700;padding:13px 23px;min-height:48px}.contact-promo summary.button::-webkit-details-marker{display:none}.contact-promo .button{font-size:.9rem;padding:13px 23px;min-height:48px}.contact-promo>a.button{color:#fff}.contact-promo summary.button:hover{background:#f8eee8;color:var(--red)}
.establishment-detail-columns .detail-left>.guest-request{margin-bottom:50px}.establishment-detail-columns .detail-left>.guest-request+section{margin-top:0}
.legal-document .cookie-table-wrap{overflow-x:auto;margin:24px 0 30px;border:1px solid var(--line);border-radius:12px;background:#fff}.legal-document .cookie-table{display:table;width:100%;min-width:650px;border-collapse:collapse;font-size:.88rem;line-height:1.6}.cookie-table caption{text-align:left;padding:16px 20px;font-weight:700}.cookie-table thead{background:var(--red);color:#fff}.cookie-table th,.cookie-table td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.cookie-table tbody th{font-weight:600;overflow-wrap:anywhere}.cookie-table tbody tr:last-child>*{border-bottom:0}
.legal-document .cookie-table{min-width:780px;table-layout:auto;overflow-wrap:normal;word-break:normal;hyphens:none}.legal-document .cookie-table thead th{background:var(--red);color:#fff;white-space:nowrap;padding:16px 20px}.legal-document .cookie-table tbody th,.legal-document .cookie-table tbody td{overflow-wrap:normal;word-break:normal;hyphens:none;padding:16px 20px}.legal-document .cookie-table tbody th{white-space:nowrap;color:var(--ink);background:var(--cream)}
.photo-manager{padding:28px;background:#fff;border:1px solid var(--line);border-radius:14px}.photo-upload{padding:22px;background:var(--cream);border:1px dashed #c9b7a9;border-radius:10px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin-top:24px}.photo-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:12px}.photo-card img{width:100%;height:180px;object-fit:cover;border-radius:7px}.photo-card strong{display:block;margin:10px 0}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-actions .button{font-size:.75rem;padding:8px 10px;min-height:36px}.photo-progress{width:100%;accent-color:var(--red)}.photo-errors{color:var(--red)}
.photo-manager .photo-upload{padding:30px;border:1px solid var(--line);border-radius:16px;background:#faf7f3}.photo-upload-intro{display:flex;align-items:center;gap:20px;margin-bottom:24px}.photo-upload-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;flex-shrink:0;background:#f3e7e1;color:var(--red);border-radius:18px}.photo-upload-icon .icon{width:34px;height:34px}.photo-upload-intro .photo-upload-title{margin:0 0 7px;font-size:1.3rem}.photo-upload-intro p{margin:0;color:var(--muted);font-size:.9rem}.photo-upload-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.photo-file-picker{position:relative}.photo-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.photo-file-input:focus-visible+label{outline:3px solid var(--red);outline-offset:4px}.photo-file-input:disabled+label{opacity:.5;pointer-events:none}.photo-file-picker label{cursor:pointer;margin:0}.photo-upload-controls>span{font-size:.86rem;color:var(--muted)}.photo-upload-limits{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 12px}.photo-upload-limits span{border:1px solid var(--line);border-radius:7px;background:white;padding:6px 12px;font-size:.78rem;color:#685a50}.photo-upload-help{font-size:.78rem;line-height:1.6;color:var(--muted);max-width:750px;margin:0 0 24px}@media(max-width:600px){.photo-manager .photo-upload{padding:20px}.photo-upload-intro{align-items:flex-start;gap:14px}.photo-upload-icon{width:50px;height:50px;border-radius:12px}.photo-upload-icon .icon{width:27px;height:27px}.photo-upload-intro .photo-upload-title{font-size:1.1rem}}
.editor-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-left:auto}.editor-header-controls .editor-status{padding:0}.editor-header-controls .editor-visit-counter{margin:0;white-space:nowrap;padding:12px 16px}.editor-header-controls .editor-status label{white-space:nowrap}@media(max-width:760px){.editor-header-controls{margin-left:0;justify-content:flex-start}}

/* Ritme comú dels formularis d’administració, inclosos els panells amb pestanyes. */
.admin-page{--admin-field-gap:28px;--admin-section-gap:36px}
.admin-page .form-grid,
.admin-page .establishment-form .editor-section .form-grid{gap:var(--admin-field-gap) 30px}
.admin-page .form-grid>div{min-width:0}
.admin-page .form-label{display:block;margin:24px 0 10px;line-height:1.45}
.admin-page .form-grid>div>.form-label:first-child,
.admin-page .establishment-form .form-grid>div>.form-label:first-child{margin-top:0}
.admin-page .field-help{margin:9px 0 0;line-height:1.65}
.admin-page .establishment-form .editor-section{margin:8px 0 4px;padding:28px}
.admin-page .establishment-form .editor-section>legend{padding:0 12px;margin-bottom:12px;line-height:1.45}
.admin-page .editor-tab-panel>.editor-section+.editor-section,
.admin-page .tag-management,
.admin-page .messages-section{margin-top:var(--admin-section-gap)}
.admin-page .editor-tabs{margin-bottom:36px}
.admin-page .editor-save{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.admin-page .editor-save .button{margin-top:0}
.admin-page .checks{gap:14px 22px}
.admin-page .feature-checks{gap:14px!important}
.admin-page .hours-editor{gap:24px 28px}
.admin-page .hours-notes label{display:block;margin-bottom:10px}
.admin-page .activity-card,
.admin-page .message-card{padding:30px;margin-bottom:28px}
.admin-page .message-fields{gap:24px}
.admin-page .message-fields dd{margin-top:8px}
.admin-page .admin-module-grid{gap:26px}
.admin-page .admin-actions{gap:14px}
.admin-page .auth-box .button{margin-top:30px}
.admin-page .tag-management form+form{margin-top:28px}
.admin-page .photo-upload-controls{margin-top:24px}
.admin-page .editor-header-controls .editor-status{gap:10px;padding:0}
@media(max-width:760px){
 .admin-page{--admin-field-gap:24px;--admin-section-gap:30px}
 .admin-page .form-grid,
 .admin-page .establishment-form .editor-section .form-grid{grid-template-columns:1fr;gap:24px}
 .admin-page .establishment-form .editor-section{padding:20px}
 .admin-page .activity-card,.admin-page .message-card{padding:22px}
 .admin-page .editor-tabs{margin-bottom:28px}
}
/* Franja a sang: el marge queda només al cos de cada bloc. */
.admin-page .admin-main .establishment-form .editor-section{padding:0 28px 28px;overflow:hidden}
.admin-page .admin-scroll,.admin-page .admin-table-wrap{position:relative;min-width:0;max-width:100%;isolation:isolate}
.admin-page .logo-upload-layout{min-width:0}
.admin-page .logo-upload-controls{min-width:0;width:100%;overflow-wrap:anywhere}
.admin-page .logo-upload-controls input[type=file]{width:100%;min-width:0}
@media(max-width:760px){
.admin-page .admin-main .establishment-form .editor-section{padding:0 20px 20px}
}
/* Capçaleres de gestió amb el mateix accent que les seccions públiques. */
.admin-page .admin-main h1{border-left:5px solid var(--red);padding:10px 0 10px 24px}
.admin-page .admin-directory-heading{align-items:center}
.admin-page .admin-main .editor-section{padding-top:0}
.admin-page .admin-main .activity-card>h2{border-left:5px solid var(--red);padding-left:18px}
@media(max-width:600px){.admin-page .admin-main h1{padding-left:18px}}

/* Grups administratius: contorn més definit sense enfosquir els camps interiors. */
.admin-page{--admin-group-border:#c6b7ab;--admin-group-shadow:0 3px 12px rgba(65,43,28,.08)}
.admin-page .establishment-form .editor-section,
.admin-page .establishment-form .editor-section fieldset,
.admin-page .tag-group,
.admin-page .admin-module,
.admin-page .activity-card,
.admin-page .confirmation-row,
.admin-page .message-card,
.admin-page .photo-manager,
.admin-page .auth-box,
.admin-page .admin-scroll,
.admin-page .admin-directory-search{
 border:1px solid var(--admin-group-border);
 box-shadow:var(--admin-group-shadow);
 background-color:#fff;
}
.admin-page .establishment-form .editor-section>legend,
.admin-page .tag-group>legend{
 color:var(--ink);
 font-weight:700;
}
.admin-page .photo-card{border-color:var(--admin-group-border);box-shadow:0 2px 7px rgba(65,43,28,.05)}
.admin-page .admin-link-card{padding:28px;margin:26px 0;border:1px solid var(--admin-group-border);border-radius:14px;background:white;box-shadow:var(--admin-group-shadow)}.admin-link-card .admin-actions{margin-top:24px}.admin-link-card .form-label .field{margin-top:10px}.admin-link-card [hidden]{display:none!important}
.establishment-content-box{padding:30px;border:1px solid #d3c4b8;border-radius:16px;background:#fff;box-shadow:0 3px 14px #412b140a;margin-bottom:36px}.establishment-content-box>h2:first-child{margin-top:0}.establishment-links .establishment-buttons{margin-top:22px}.guest-comments .establishment-content-box{margin-top:36px}@media(max-width:600px){.establishment-content-box{padding:20px}.admin-page .admin-link-card{padding:20px}}

/* Pestanyes adaptables sense desplaçament horitzontal. */
.admin-page .editor-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1 1 auto;min-width:0;max-width:100%;white-space:normal;padding:15px 16px;border-radius:8px;font-size:.82rem}
.editor-tab-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px #fff}
.editor-tab-dot.is-filled{background:#278347}
.editor-tab-dot.is-empty{background:#c63732}
.editor-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border-radius:20px;background:#fff;color:#51443c;font-size:.78rem;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px #00000012}
.editor-tabs button[aria-selected="true"] .editor-tab-count{background:#a90900;color:#fff}
@media(max-width:600px){.admin-page .editor-tabs button{flex:1 1 calc(50% - 8px);padding:13px 8px;font-size:.75rem;gap:7px}}

/* Navegació en una sola fila; en pantalles petites es fan servir les icones accessibles. */
.admin-page .editor-tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;overflow:visible;flex-wrap:nowrap}
.admin-page .editor-tabs:has(button:nth-child(6):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
.admin-page .editor-tabs:has(button:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-page .editor-tabs button{gap:5px;padding:14px 5px;font-size:clamp(.63rem,.85vw,.82rem);white-space:nowrap;position:relative}
.editor-tab-label{min-width:0}.editor-tab-symbol{display:none}
.admin-page .editor-tab-count{min-width:21px;height:21px;padding:0 5px;font-size:.7rem}
.admin-page .editor-tab-dot{width:7px;height:7px;flex-basis:7px;box-shadow:none}
.establishment-editor .editor-tab-panel{min-width:0}
.establishment-editor .editor-tab-panel h2{font-size:1.35rem;line-height:1.35;margin:0 0 20px}
.establishment-editor .editor-tab-panel>.editor-section,.establishment-editor .editor-tab-panel>.messages-section,.establishment-editor .editor-tab-panel>.tag-picker{padding:28px;border:1px solid var(--admin-group-border);border-radius:14px;background:#fff;box-shadow:var(--admin-group-shadow)}
.establishment-editor .editor-tab-panel>.editor-section:first-child{margin-top:0}
.establishment-editor .editor-tab-panel>p{margin:0 0 28px;color:var(--muted)}
.establishment-editor .editor-tab-panel .field-help{font-weight:400}
.establishment-editor .seo-languages,.establishment-editor .description-languages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.establishment-editor .seo-languages fieldset{min-width:0;padding:24px;border:1px solid var(--admin-group-border);border-radius:12px}
.establishment-editor .seo-languages .field{margin-bottom:22px}
.establishment-editor .hours-translation{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.establishment-editor .editor-save{display:flex;justify-content:flex-end;padding-top:24px}
.establishment-editor #panel-evidence>.activity-card:first-child{margin-top:0}
@media(max-width:1100px){.admin-page .editor-tabs button{flex-direction:column;gap:7px}.admin-page .editor-tab-dot{position:absolute;top:8px;right:8px}.admin-page .editor-tab-count{position:absolute;right:3px;bottom:3px;font-size:.6rem;min-width:16px;height:16px;padding:0 3px}.admin-page .editor-tabs button{padding:17px 3px 24px;font-size:.62rem}}
@media(max-width:1000px){.editor-tab-symbol{display:block}.editor-tab-symbol .icon{width:19px;height:19px}.editor-tab-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.admin-page .editor-tabs{gap:3px}.admin-page .editor-tabs button{padding:16px 2px 23px;min-height:60px}.admin-page .editor-tab-dot{top:5px;right:5px;width:6px;height:6px}.establishment-editor .seo-languages,.establishment-editor .description-languages{grid-template-columns:1fr}.establishment-editor .editor-tab-panel>.editor-section,.establishment-editor .editor-tab-panel>.messages-section,.establishment-editor .editor-tab-panel>.tag-picker{padding:20px}}

/* El formulari és només estructural: totes les pestanyes comparteixen la mateixa caixa. */
.admin-page .establishment-form{padding:0;border:0;background:transparent;box-shadow:none}
.admin-page .establishment-editor .editor-tab-panel{padding:28px;border:1px solid var(--admin-group-border);border-radius:14px;background:#fff;box-shadow:var(--admin-group-shadow)}
.establishment-editor #panel-photos>.photo-manager,.establishment-editor #panel-tags>.tag-picker,.establishment-editor #panel-messages>.messages-section{padding:0;border:0;box-shadow:none;background:transparent}
.establishment-editor .editor-tab-panel>h2:first-child,.establishment-editor .photo-manager>h2:first-child,.establishment-editor .tag-picker-heading,.establishment-editor .comments-heading{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.establishment-editor .admin-link-card .field,.establishment-editor #panel-evidence input:not([type=checkbox]),.establishment-editor #panel-evidence textarea{min-height:48px;border-radius:8px}
@media(max-width:600px){.admin-page .establishment-editor .editor-tab-panel{padding:18px}.admin-page .establishment-form{padding:0}}

.establishment-editor .editor-tab-panel .form-label{font-size:.95rem;color:var(--ink);margin:0 0 10px}
.establishment-editor .editor-tab-panel .field{min-height:48px;padding:12px 14px;border-radius:8px}
.establishment-editor .admin-actions .button{margin-top:0}

/* Amplada segons contingut: una sola fila, amb icones accessibles en mòbil. */
.admin-page .editor-tabs{display:flex;gap:6px;flex-wrap:nowrap}
.admin-page .editor-tabs button{flex:1 1 auto;width:auto;min-width:0;padding:15px 10px;white-space:nowrap}
.editor-danger{margin-top:32px;border:1px solid #d8a9a2!important;background:#fff7f5!important}
.editor-danger h2{color:var(--red);display:flex;align-items:center;gap:12px}
.editor-danger .button{margin-top:12px}
.card-editor-intro{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:center;margin-bottom:28px}
.card-editor-intro img{width:100%;height:auto;border-radius:12px;box-shadow:0 8px 22px #32241b20}
.member-card-offer{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;background:#fbf3ed;border-color:#dbc8b8}
.member-card-offer>img{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 24px #32241b26}
.member-card-offer h2{border:0;margin:10px 0 18px;padding:0;font-size:1.5rem}
.member-card-promotion{font-size:1.4rem;font-weight:700;color:var(--red);line-height:1.4}
.member-card-promotion p{margin:0 0 12px}
.member-card-note{font-size:.9rem;color:var(--muted);margin-bottom:0}
@media(max-width:1000px){.admin-page .editor-tabs button{flex:1 1 0;padding:16px 2px 23px}.card-editor-intro{grid-template-columns:180px 1fr}}
@media(max-width:600px){.card-editor-intro,.member-card-offer{grid-template-columns:1fr;gap:24px}.card-editor-intro img,.member-card-offer>img{max-width:300px}.member-card-promotion{font-size:1.2rem}}

/* Puntuació opcional amb controls natius accessibles i respostes d'un sol nivell. */
.rating-picker{border:0;padding:0;margin:0 0 22px}.rating-picker legend{margin-bottom:8px}.rating-options{display:flex;gap:4px;width:max-content}.comment-form .rating-options label{position:relative;margin:0;cursor:pointer}.rating-options input,.rating-accessible{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.rating-options span[aria-hidden]{display:block;font-size:2.5rem;line-height:1.2;color:#c7bfb5;padding:3px}.rating-options label:has(:checked) span[aria-hidden],.rating-options label:has(~label :checked) span[aria-hidden]{color:#f2be00}.rating-options:has(label:hover) span[aria-hidden]{color:#c7bfb5}.rating-options label:hover span[aria-hidden],.rating-options label:has(~label:hover) span[aria-hidden]{color:#f2be00}.rating-options input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}.comment-form .rating-none{margin-top:10px;font-size:.85rem}.comment-reply{margin-left:clamp(16px,4vw,40px);padding-left:20px;border-left:3px solid #dcc4ac}.comment-reply-link{font-weight:700;color:var(--red)}.reply-context{padding:12px 16px;background:#fff;border-left:3px solid var(--red)}

/* Comptadors contrastats sobre les capçaleres càlides. */
.comment-count{background:#fff;color:var(--red);border:1px solid #d7b6a5;box-shadow:0 2px 5px #5c261414;font-weight:700;flex-shrink:0}

/* Segon nivell compartit de gestió quotidiana. */
.admin-secondary-nav{background:#fcfaf7;border-bottom:1px solid var(--line);padding:12px 0}
.admin-secondary-nav>.wrap{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 12px}
.admin-secondary-nav a{font-size:.75rem;line-height:1.4;padding:9px 12px;border-radius:7px;color:#584b42}
.admin-secondary-nav a:hover,.admin-secondary-nav a[aria-current="page"]{background:#f3e7e1;color:var(--red)}
.admin-secondary-nav .admin-index-link{border:1px solid #d6bcb0;color:var(--red);font-weight:700}
@media(max-width:600px){.admin-secondary-nav>.wrap{justify-content:flex-start;gap:6px}.admin-secondary-nav a{padding:8px;font-size:.7rem}}

/* Una mateixa veu editorial per presentar els establiments a portada i directori. */
.discovery-heading{border-left:5px solid var(--red);padding:12px 0 12px 28px;margin:38px 0;gap:24px}
.discovery-heading .eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.22em;color:var(--red)}
.discovery-heading .discovery-title{font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.12;max-width:27ch;margin:14px 0 20px;letter-spacing:-.035em;text-wrap:balance}
.discovery-heading .discovery-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 26px;font-size:1rem;line-height:1.5;color:#66574b;margin:0}
.discovery-summary strong{font-size:1.65rem;font-weight:800;color:var(--red);line-height:1.1;margin-right:5px}
#result-summary,.town-section-heading .discovery-summary,.discovery-heading .recipe-result-summary{column-gap:6px}
#result-summary strong,.town-section-heading .discovery-summary strong,.recipe-result-summary strong{margin-right:0}
.associated-results-heading{display:flex;align-items:center;gap:24px;border-left:5px solid var(--red);padding:12px 0 12px 28px;margin-bottom:28px}
.associated-results-heading .associated-results-title{min-width:0;overflow-wrap:break-word;border:0;padding:0;margin:0}
.associated-results-line{flex:1 0 24px;height:2px;background:#a39b95}
.associated-results-heading .button{flex-shrink:0}
.town-section-heading.discovery-heading{text-align:left;margin:38px 0 70px}
.town-section .town-section-heading .town-territory-total{color:#66574b;font-size:1rem;font-weight:400;margin:0}
.town-types-heading{text-align:left}
.contact-page .contact-discovery-heading{margin:38px 0 70px}
.contact-heading-intro{margin:0;color:#66574b;font-size:1rem;line-height:1.5}
.membership-discovery-heading.discovery-heading{width:75%;margin:38px auto 70px;text-align:left}
.membership-heading-intro{margin:0 0 28px;color:#66574b;font-size:1rem;line-height:1.5}
@media(max-width:760px){.membership-discovery-heading.discovery-heading{width:100%}}
@media(max-width:600px){.membership-discovery-heading.discovery-heading{margin:28px auto 48px}}
.contact-page > .membership-contact{margin-top:0}
@media(max-width:600px){.contact-page .contact-discovery-heading{margin:28px 0 48px}}
@media(max-width:600px){.town-section-heading.discovery-heading{margin:28px 0 48px}.town-section .town-section-heading .town-territory-total{font-size:.85rem}}
@media(max-width:900px){.associated-results-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px}.associated-results-heading .associated-results-title{grid-column:1 / -1}.associated-results-line{width:100%}}
@media(max-width:600px){.associated-results-heading{padding-left:18px}}
.listings > .discovery-heading{margin-bottom:70px}
@media(max-width:600px){.discovery-heading{padding-left:18px;margin:28px 0}.discovery-heading .discovery-summary{font-size:.85rem;gap:8px 18px}.discovery-summary strong{font-size:1.4rem}}
@media(max-width:600px){.listings > .discovery-heading{margin-bottom:48px}}

/* Gestió general: mateixa amplada, caixes i ritme dels editors. */
.management-preview{display:block;width:min(100%,650px);max-height:330px;object-fit:cover;border-radius:14px;margin:24px 0}.admin-main .photo-upload-form{margin:30px 0}.analytics-consent{position:fixed;bottom:24px;left:24px;right:24px;width:auto;max-width:980px;margin:auto;padding:32px 38px 26px;background:#fffdfa;color:var(--ink);border:1px solid #d5bbaa;border-top:6px solid var(--red);border-radius:18px;box-shadow:0 16px 70px #241b1840;z-index:1500;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;text-align:left}.analytics-consent[hidden]{display:none}.cookie-heading{display:flex;align-items:center;gap:20px;margin-bottom:20px}.cookie-heading img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.cookie-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--red)}.analytics-consent h2{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:6px 0 0}.analytics-consent p{font-size:16px;line-height:1.65;margin:0 0 22px}.cookie-categories{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.cookie-categories>div{padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.cookie-categories strong,.cookie-categories span{display:block}.cookie-categories span{font-size:13px;margin-top:4px;color:#625b55}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cookie-actions .button{width:100%;justify-content:center;min-height:54px;text-align:center}.analytics-consent .cookie-footnote{font-size:12px;line-height:1.6;margin:18px 0 0;color:#625b55}.cookie-footnote a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.analytics-consent button:focus-visible,.analytics-consent a:focus-visible{outline:3px solid #b66b20;outline-offset:4px}@media(max-width:600px){.analytics-consent{bottom:12px;left:12px;right:12px;padding:22px 20px 20px;max-height:calc(100dvh - 24px)}.cookie-heading{gap:14px;margin-bottom:16px}.cookie-heading img{width:48px;height:48px}.analytics-consent p{font-size:14px}.cookie-categories{gap:10px;margin-bottom:18px}.cookie-categories>div{padding:12px}.cookie-categories span{font-size:12px}.cookie-actions{grid-template-columns:1fr;gap:10px}.cookie-actions .button{min-height:48px}.cookie-eyebrow{font-size:10px}}

/* Les accions sense dades romanen visibles, però no es poden executar. */
.public-establishment .is-unavailable,.public-establishment button:disabled{color:#777!important;background:#eeedeb!important;border-color:#d8d5d1!important;cursor:not-allowed}.public-establishment .is-unavailable h2{color:#777!important;background:#e7e5e2!important;border-left-color:#aaa!important}.public-establishment .is-unavailable h2 .icon{background:#aaa!important;color:white!important;border-color:#aaa!important}.guest-request.is-unavailable .eyebrow,.guest-request.is-unavailable .guest-muted{color:#777}.request-fields{border:0;padding:0;margin:0;min-width:0}.request-fields:disabled input,.request-fields:disabled textarea{background:#e8e7e5;color:#777;border-color:#d2ceca;cursor:not-allowed}.request-fields:disabled .request-confirmation-notice{background:#e8e7e5;color:#777;border-color:#d2ceca}.unavailable-explanation{font-weight:600;color:#666}.admin-page .management-editor{max-width:none;width:100%}.management-editor label:not(.button){display:block;margin:18px 0 24px;font-weight:600}.management-editor .field{display:block;margin-top:10px}.management-editor .editor-section{margin-bottom:34px}.management-editor .form-grid{gap:0 30px}

.public-establishment .is-unavailable:disabled{opacity:1}
.collection-hero .hero-content{height:460px;padding-top:58px;padding-bottom:42px;display:grid;grid-template-rows:20px 100px 54px 88px 1fr;align-items:center}.collection-hero .directory-intro{display:contents}.collection-hero h1{font-size:2.5rem;line-height:1.15;letter-spacing:0;margin:0;max-width:none}.collection-hero .hero-intro{margin:0;font-size:1rem;line-height:1.5}.collection-hero .search-form{width:100%;margin:0 auto}.collection-hero .near-controls{margin-top:24px;align-self:start}.collection-hero .collection-contribute{background:#fff;color:var(--red);border-color:#fff}.collection-hero .collection-contribute:hover{background:var(--red);color:#fff;border-color:var(--red)}.collection-hero .search-field>span{display:block;font-size:.65rem;text-transform:uppercase;font-weight:700;color:#827872;margin-bottom:6px}.collection-hero .agenda-filters{margin-bottom:0}
@media(max-width:700px){.collection-hero .hero-content{height:650px;padding-top:38px;padding-bottom:32px;grid-template-rows:20px 120px 76px 236px 1fr}.collection-hero h1{font-size:2rem}.collection-hero .hero-intro{font-size:.92rem}.collection-hero .search-form{align-self:center}.collection-hero .near-controls{margin-top:24px}.collection-hero .collection-contribute{font-size:.85rem;padding-inline:16px}}

:root{--status-green:#258447;--status-yellow:#e6ad19;--status-red:#bd3029;--status-green-soft:#f6fbf7;--status-yellow-soft:#fffdf3;--status-red-soft:#fff8f7}
/* Identitat d'Osonateca: vermell del logo, fons clars i fotografia protagonista. */
.hero.collection-hero h1{font-size:2.5rem;line-height:1.15;letter-spacing:0;margin:0}.hero.collection-hero .search-form{border:7px solid #fff;height:88px}.hero.collection-hero .hero-intro{margin:0}.hero.collection-hero .search-field>span,.hero.collection-hero .search-field>label{font-size:.65rem;line-height:1.5;letter-spacing:0;margin-bottom:6px}.hero.collection-hero .search-submit{margin:0 0 0 7px;min-width:146px}
@media(max-width:700px){.hero.collection-hero h1{font-size:2rem}.hero.collection-hero .search-form{height:236px}.hero.collection-hero .search-submit{margin:6px 0 0}}
@media(max-width:900px){.hero.collection-hero .hero-content{height:650px;grid-template-rows:20px 170px 76px 88px 1fr}.hero.collection-hero h1{font-size:2rem}}
@media(max-width:700px){.hero.collection-hero .hero-content{height:730px;grid-template-rows:20px 192px 76px 236px 1fr}}
.proposal-contact>div{min-width:0}.proposal-contact .proposal-intro h2{font-size:2rem;line-height:1.2;margin:20px 0 24px}.proposal-contact .proposal-intro p{font-size:1rem}.proposal-contact .form-label .field{display:block;margin-top:6px;font-weight:400}.proposal-contact .proposal-intro .text-link{display:inline-flex;align-items:center;gap:12px;margin-top:24px}.agenda-editor .proposal-contact fieldset{padding:18px 22px 24px;margin:32px 0;border:1px solid #e2d9d1;border-radius:12px;background:#fdfcfb}.agenda-editor .proposal-contact legend.agenda-form-section-title{display:table;width:auto;border:0;padding:0 10px;margin:0;font-size:1rem}.agenda-editor .proposal-contact legend .associated-results-line{display:none}.agenda-editor .proposal-contact .checkbox-label{display:block}.agenda-editor .proposal-contact .checkbox-label input{margin-right:8px}
@media(max-width:600px){.proposal-contact .proposal-intro h2{font-size:1.6rem}.agenda-editor .proposal-contact fieldset{padding:12px 16px 18px}.proposal-contact .photo-upload-controls{align-items:flex-start;flex-direction:column}}
section.site-banner{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:60px;margin-bottom:32px;padding:32px;background:#f6eeee;border:1px solid #e5d0d0;border-left:6px solid var(--red);border-radius:6px}.site-banner-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--red);background:#fff;border-radius:6px}.site-banner-icon .icon{width:30px;height:30px}section.site-banner h2{font-size:1.5rem;line-height:1.3;letter-spacing:0;margin:0 0 12px}section.site-banner p{line-height:1.6;color:var(--muted)}section.site-banner>div>p{margin:0}section.site-banner .button{white-space:normal}section.site-banner .eyebrow{display:block;margin-bottom:12px}section.site-banner .guest-membership-price{margin:0;color:var(--red)}section.site-banner .guest-membership-price strong{font-size:2rem;letter-spacing:0}section.site-banner .guest-membership-included{margin:8px 0 18px;font-size:.85rem}
@media(max-width:800px){section.site-banner{grid-template-columns:44px minmax(0,1fr);gap:18px;padding:24px}.site-banner-icon{width:44px;height:44px}.site-banner-icon .icon{width:26px;height:26px}section.site-banner h2{font-size:1.25rem}section.site-banner>.button,section.site-banner>.guest-membership-action{grid-column:2;justify-self:start}section.site-banner .guest-membership-action{width:auto}}
@media(max-width:430px){section.site-banner{padding:20px;gap:16px}section.site-banner>.button,section.site-banner>.guest-membership-action{grid-column:1/-1}}
.card-visit-count{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.card-visit-count .icon{width:17px;height:17px}.card-review-summary{flex-wrap:wrap}.directory-entry-stats{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.card-counters{display:inline-flex;align-items:center;gap:14px;margin-left:auto;white-space:nowrap}.card-counters .card-comment-count{margin-left:0}.directory-entry-stats{flex-wrap:wrap}.directory-entry-stats .card-rating{font-size:1rem;letter-spacing:0}
.card-counters .card-visit-count .icon{width:20px;height:20px}.guest-live>.original-reviews{margin-top:48px}
.establishment-events{margin:48px 0}.establishment-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.establishment-event{padding:28px;border:1px solid var(--line);border-radius:8px;min-width:0}.establishment-event p{line-height:1.7;overflow-wrap:anywhere}.establishment-event h3{margin:18px 0}.establishment-event-contact{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.establishment-event-contact a{overflow-wrap:anywhere;min-width:0}.establishment-event-admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.establishment-event-admin-row h3{margin:0}.establishment-event-admin-row p{margin:10px 0 0;color:var(--muted)}@media(max-width:700px){.establishment-event-grid{grid-template-columns:1fr}.establishment-event{padding:20px}.establishment-event-admin-row{align-items:flex-start;flex-direction:column}}
.public-establishment .detail-heading.discovery-heading{margin:24px 0 38px;padding:0;border-left:0;align-items:center}.public-establishment .detail-heading.discovery-heading h1.discovery-title{font-size:2.5rem;line-height:1.15;letter-spacing:0}.public-establishment .detail-heading.discovery-heading .tags{margin-top:0}.public-establishment .related-establishments{margin-top:60px}@media(max-width:600px){.public-establishment .detail-heading.discovery-heading{margin:20px 0 32px;padding-left:0;gap:24px}.public-establishment .detail-heading.discovery-heading h1.discovery-title{font-size:2rem;overflow-wrap:anywhere}.public-establishment .related-establishments{margin-top:48px}}
.town-section-heading.discovery-heading .discovery-title{max-width:none;font-size:2.5rem;letter-spacing:0;text-wrap:wrap}@media(max-width:1199px){.town-section-heading.discovery-heading .discovery-title{font-size:2rem}}@media(max-width:600px){.town-section-heading.discovery-heading .discovery-title{font-size:1.8rem}}
.admin-town-table th:nth-child(2),.admin-town-table td.admin-town-counts{text-align:center}
.admin-town-count-grid{display:flex;justify-content:center;gap:24px}
.admin-town-count-grid>span{display:grid;gap:4px;min-width:85px;text-align:center}
.admin-town-count-grid strong{font-size:1.1rem}
.admin-town-count-grid small{color:#625c57;font-size:.78rem;white-space:nowrap}
.admin-photo-status{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.admin-photo-dot{width:11px;height:11px;border-radius:50%;flex:0 0 11px}
.admin-photo-status.is-present .admin-photo-dot{background:#278347}
.admin-photo-status.is-missing .admin-photo-dot{background:#c63732}
.admin-directory-search.admin-search-compact{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:600px){.admin-directory-search.admin-search-compact{grid-template-columns:1fr}.admin-town-count-grid{gap:12px}}
/* Patró compartit de totes les pantalles administratives. */
.admin-page .admin-main{width:min(1280px,calc(100% - 48px));margin:36px auto 60px}
.admin-page .admin-main h1{font-size:2rem;line-height:1.2;letter-spacing:0;margin:0 0 12px}
.admin-page .admin-main h2{font-size:1.3rem;line-height:1.35;letter-spacing:0;margin:30px 0 18px}
.admin-page .admin-main h3{font-size:1.05rem;line-height:1.4;letter-spacing:0}
.admin-page .admin-top,.admin-page .editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.admin-page .admin-top h1,.admin-page .editor-heading h1{margin:0 0 8px}
.admin-page .admin-main .button{font-size:.88rem;min-height:44px;padding:10px 18px;gap:9px}
.admin-page .admin-main .button .icon{width:21px;height:21px;flex-shrink:0}
.admin-page .admin-main .admin-edit-button{min-height:34px;padding:5px 13px;font-size:.86rem}
.admin-page .admin-main .admin-table{font-size:.88rem}
.admin-page .admin-main .admin-table td{padding:10px 12px;line-height:1.45}
.admin-page .admin-main .admin-table th{font-size:.75rem;padding:12px}
.admin-page .admin-directory-search{margin:24px 0 30px;padding:12px;border-radius:8px}
.admin-page .admin-directory-search.admin-search-compact{grid-template-columns:minmax(0,1fr) auto}
.admin-page .admin-directory-search .search-field{padding:10px;display:flex;flex-direction:column;gap:9px}
.admin-page .admin-directory-search .search-field>label{font-size:.78rem;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:600}
.admin-page .admin-directory-search .search-field.keyword>div{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box}
.admin-page .admin-directory-search .search-field.keyword>div .icon{width:20px;height:20px;flex-shrink:0}
.admin-page .admin-directory-search .search-field input{font-size:.9rem;min-width:0}
.admin-page .admin-directory-search .admin-filter-actions{padding:10px;align-self:end}
.admin-page .admin-directory-search .search-submit{width:auto;border-radius:6px}
.admin-page .admin-table-wrap{overflow-x:auto;border:1px solid var(--admin-group-border);border-radius:8px;margin-bottom:24px}
.admin-page .admin-table-wrap table{margin:0;width:100%}
.admin-page .admin-main .editor-section{margin-bottom:28px}
.admin-page .agenda-editor .agenda-form-heading{border:0;padding:0;margin:0 0 24px}
.admin-page .agenda-editor .agenda-form-heading>.eyebrow{display:none}
.admin-page .agenda-editor .agenda-proposal-form{padding:28px;margin:0}
.admin-page .agenda-editor .agenda-proposal-form fieldset{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:8px}
.admin-page .agenda-editor .agenda-proposal-form .agenda-form-section-title{font-size:1.1rem}
.admin-page .recipe-admin-form,.admin-page .management-editor{max-width:none}
.admin-page .activity-card .edit-form{border:0;box-shadow:none;padding:0}
.admin-page .activity-card textarea{display:block;width:100%;min-height:120px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:6px}
@media(max-width:600px){
.admin-page .admin-main{width:calc(100% - 32px);margin-top:24px}
.admin-page .admin-main h1{font-size:1.6rem}
.admin-page .admin-top,.admin-page .editor-heading{align-items:flex-start;flex-wrap:wrap}
.admin-page .admin-directory-search.admin-search-compact{grid-template-columns:1fr}
.admin-page .admin-filter-actions{gap:12px}
.admin-page .agenda-editor .agenda-proposal-form{padding:16px}
.admin-page .agenda-editor .agenda-proposal-form fieldset{padding:16px}
}
/* El nivell semàntic no determina la mida visual de targetes i textos de suport. */
.card-title,.heading-description,.other-town-title{font-size:1.23rem;letter-spacing:-.025em;line-height:1.3;font-weight:700;margin:9px 0}
.other-establishments .section-heading .other-section-title{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.2;letter-spacing:-.035em;margin:10px 0 12px}
.evidence-subtitle{font-size:1.23rem;letter-spacing:-.025em;line-height:1.3;margin:9px 0}
@media(max-width:760px){.card-title,.heading-description,.other-town-title,.evidence-subtitle{font-size:1.1rem}}
@media(max-width:480px){.card-title,.heading-description,.other-town-title,.evidence-subtitle{font-size:1.3rem}}
.associated-results-heading .heading-description{font-weight:700;color:var(--ink);font-size:1.23rem;letter-spacing:-.025em;line-height:1.3}
.photo-upload-title{color:var(--ink);font-weight:700;letter-spacing:-.025em;line-height:1.3}
@media(max-width:760px){.associated-results-heading .heading-description{font-size:1.1rem}}
@media(max-width:480px){.associated-results-heading .heading-description{font-size:1.3rem}}
.request-mode-tabs{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}.request-mode-tabs .button{flex:1;padding:12px;font-size:.9rem}.request-fields[hidden]{display:none!important}

/* Ritme compartit als dos blocs del peu. */
.footer-renewed .footer-join{margin-top:0;padding:36px 0;gap:32px}.footer-renewed .footer-main+.footer-join{margin-top:42px}.footer-join>div{flex:1;min-width:0}.footer-member-card{width:190px;height:auto;flex-shrink:0;border-radius:10px;display:block}.footer-join>a{flex-shrink:0}.footer-member>div{max-width:none}@media(max-width:580px){.footer-renewed .footer-join{padding:28px 0;gap:20px}.footer-member-card{width:min(220px,100%)}}

.footer img.footer-member-card{background:transparent;border:0;padding:0;border-radius:10px;object-fit:contain}


/* Avís de reserves: llegible i separat, sense competir amb el formulari. */
.form-legal.request-privacy{font-size:.875rem;line-height:1.65;margin:8px 0;padding-top:20px}
.form-legal.request-privacy>strong{font-size:.9rem;color:var(--ink,#292521)}
.form-legal.request-privacy p{font-size:.875rem;line-height:1.65;margin:10px 0}

.map-privacy-gate{position:absolute;inset:0;z-index:1000;background:var(--cream,#faf6f0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;overflow:auto;font:16px/1.6 Arial,sans-serif}
.map-privacy-gate p{max-width:580px;margin:0}.map-privacy-gate a{color:var(--red);text-decoration:underline}.map-privacy-gate[hidden],.map-privacy-stop[hidden]{display:none}.map-privacy-stop{position:absolute;bottom:28px;left:12px;z-index:1000;font-size:12px;padding:8px 12px}

/* Estat buit compartit dels comentaris: missatge amable i espai per respirar. */
.comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:48px 24px;color:var(--muted)}.comments-empty>.icon{width:52px;height:52px;color:#a69b92}.comments-empty>p{margin:0;font-size:1.05rem;line-height:1.65}@media(max-width:600px){.comments-empty{padding:36px 20px}}

/* Fil de navegació dels llistats: separat de la capçalera i lliscable sense desbordar la pàgina. */
.directory-breadcrumb{padding-block:16px;margin-block:0;overflow-x:auto;scrollbar-width:thin;font-size:.85rem;color:var(--muted)}
.directory-breadcrumb ol{display:flex;align-items:center;gap:10px;list-style:none;padding:0;margin:0;width:max-content;min-width:0}
.directory-breadcrumb li{display:flex;align-items:center;gap:10px;white-space:nowrap}
.directory-breadcrumb a{display:inline-block;padding-block:8px;color:var(--red);text-underline-offset:3px}
.directory-breadcrumb a:hover{text-decoration:underline}
.directory-breadcrumb [aria-current]{color:var(--ink,#292521)}

.membership-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.membership-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;background:#faf3e7;color:#8d590b;font-size:12px;white-space:nowrap}.membership-badge svg{width:16px;height:16px}
