.guest-preview{padding-top:28px;padding-bottom:60px}.proposal-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;background:#faf5ef;border:1px solid #e7dace;border-radius:10px;padding:12px 16px;font-size:12px}.proposal-bar strong{letter-spacing:1px;color:var(--red)}.proposal-bar nav{display:flex;gap:7px}.proposal-bar a{padding:7px 12px;border-radius:6px}.proposal-bar [aria-current]{background:var(--red);color:white}.guest-breadcrumb{font-size:12px;color:#81766e;margin:27px 0}.guest-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.guest-heading h1{font-size:40px;margin:8px 0;line-height:1.15}.guest-heading p{margin:8px 0;color:#766b63}.guest-heading .eyebrow{color:var(--red)}.guest-heading p .icon{width:16px;height:16px;vertical-align:middle}.guest-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.85fr);gap:28px;align-items:start}.guest-photo{height:235px;background:#ecebea;border:1px solid #e0deda;border-radius:14px;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;color:#a29c96}.guest-photo .icon{width:65px;height:65px;stroke-width:1.2}.guest-photo span{font-size:13px}.guest-box{border:1px solid var(--line);border-radius:14px;background:white;padding:24px;margin-top:22px}.guest-box h2{font-size:23px;letter-spacing:-.02em;margin:0 0 12px}.guest-muted{font-size:14px;color:#82756c;line-height:1.6}.guest-contact{display:grid;gap:9px}.guest-contact details{border:1px solid #e5ddd5;border-radius:9px;overflow:hidden}.guest-contact summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:14px;font-weight:600;color:var(--red);font-size:14px;background:#fdfbf9}.guest-contact summary .icon{width:20px;height:20px}.guest-contact summary span{margin-left:auto}.guest-contact details p{padding:0 14px;font-size:14px}.guest-box #establishment-location-map{height:280px;border-radius:10px;overflow:hidden}.guest-request{margin-top:0;padding:28px;background:#fdfbf9}.guest-request h2{font-size:27px;margin-top:10px}.guest-request form{display:grid;gap:16px;margin-top:23px}.guest-request label{font-size:13px;font-weight:600;display:block}.guest-request input:not([type=checkbox]),.guest-request textarea{width:100%;background:white;border:1px solid #dcd2c8;border-radius:8px;padding:11px;margin-top:7px;font:inherit;box-sizing:border-box}.guest-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guest-request .guest-consent{display:flex;gap:9px;font-size:12px;font-weight:400;line-height:1.5}.guest-consent input{align-self:flex-start;margin-top:3px}.guest-request button{justify-content:center;width:100%;margin:0}.guest-form-note{font-size:12px;color:#8a7b70;text-align:center;margin:0}.guest-warning{margin-top:16px;padding:12px;border-radius:8px;background:#fff5de;color:#836021;font-size:13px}@media(max-width:800px){.guest-layout{grid-template-columns:1fr}.guest-heading{align-items:flex-start;flex-direction:column}.guest-heading h1{font-size:30px}.guest-request{padding:22px}.proposal-bar>span{width:100%}}

.guest-membership{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;margin-top:48px;padding:38px 42px;border:1px solid #e7c9c3;border-radius:16px;background:linear-gradient(115deg,#fff8f5,#f7ece7)}.guest-membership .eyebrow{color:var(--red)}.guest-membership h2{font-size:32px;line-height:1.2;margin:10px 0 14px}.guest-membership-copy>p{max-width:640px;line-height:1.65;margin:0;color:#65564e}.guest-membership-action{text-align:center}.guest-membership-price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:0;color:var(--red)}.guest-membership-price strong{font-size:52px;line-height:1;font-weight:750;letter-spacing:-2px}.guest-membership-price span{font-size:18px}.guest-membership-included{font-size:14px;margin:8px 0 20px;color:#65564e}.guest-membership .button{white-space:normal;justify-content:center}@media(max-width:800px){.guest-membership{grid-template-columns:1fr;gap:25px;padding:28px 24px}.guest-membership h2{font-size:27px}.guest-membership-action{text-align:left}.guest-membership-price{justify-content:flex-start}.guest-membership .button{width:100%}}

.guest-preview{padding-bottom:0}.guest-membership{margin-bottom:60px;box-sizing:border-box}


.guest-membership-price{color:#292522}.guest-membership-price strong{font-style:normal}.guest-membership-included{color:#70645d}

/* El botó comparteix la fila del títol, independentment de les metadades. */
@media(min-width:801px){.guest-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:0;align-items:center}.guest-heading>div{display:contents}.guest-heading .eyebrow{grid-column:1;grid-row:1}.guest-heading h1{grid-column:1;grid-row:2}.guest-heading>div>p:not(.eyebrow){grid-column:1;grid-row:3}.guest-heading>.button{grid-column:2;grid-row:2;margin:0;align-self:center}}

.guest-comments{margin-top:48px;padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff}.guest-comments .comments-heading{margin-bottom:25px}.guest-comments .comments-heading h2{margin:0;font-size:26px}@media(max-width:600px){.guest-comments{padding:20px}}
.guest-contact-row{border:1px solid #e5ddd5;border-radius:9px;overflow:hidden}.guest-reveal{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:0;text-align:left;cursor:pointer;background:#fdfbf9;color:var(--red);font:inherit;font-size:14px;font-weight:600}.guest-reveal .icon{width:20px;height:20px}.guest-reveal>span{margin-left:auto}.guest-reveal:disabled{opacity:1;cursor:default}.guest-contact-row>p{padding:0 14px;overflow-wrap:anywhere}.guest-discover{margin:32px 0}.guest-discover h2{font-size:22px}.guest-without-form{grid-template-columns:1fr}.guest-without-form .guest-information{max-width:850px;margin:auto;width:100%}.guest-live .guest-contact .notice{margin-top:16px}.guest-live #guest-activity .notice{display:none}
.guest-request .request-confirmation-notice{display:flex;align-items:center;gap:18px;padding:22px 24px;font-size:18px;font-weight:600;border:1px solid #dfc6a6;border-radius:10px;background:#fff8ed;color:#68513a;text-align:left;line-height:1.6}.request-confirmation-notice>svg{width:34px;height:34px;flex:0 0 34px;color:#a36322}.request-confirmation-notice>span{min-width:0}

/* Capçalera pública compacta: adreça i visites comparteixen fila quan hi caben. */
.public-establishment{padding-top:20px}
.public-establishment .breadcrumb,.public-establishment .guest-breadcrumb{margin:0 0 18px;line-height:1.5}
.public-establishment .detail-heading,.public-establishment .guest-heading{margin-bottom:20px;gap:20px}
.public-establishment .detail-heading>div{min-width:0}
.public-establishment .detail-heading h1,.public-establishment .guest-heading h1{margin:8px 0 10px}
.public-establishment .establishment-heading-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}
.public-establishment .establishment-heading-address{margin:0;display:flex;align-items:center;gap:6px}
.public-establishment .establishment-heading-address .icon{flex-shrink:0}
.public-establishment .establishment-heading-meta .visit-counter{margin:0;padding:7px 12px;font-size:.78rem;gap:7px}
.public-establishment .establishment-heading-meta .visit-counter strong{font-size:1rem}
.public-establishment .establishment-detail-columns{margin-top:0}
.public-establishment .guest-heading p{margin:0}
@media(max-width:760px){.public-establishment{padding-top:16px}.public-establishment .detail-heading{flex-wrap:wrap;gap:14px}.public-establishment .detail-heading>.button{padding:10px 16px}.public-establishment .establishment-heading-meta{gap:10px 14px}.public-establishment .breadcrumb,.public-establishment .guest-breadcrumb{margin-bottom:14px}}

.contact-phone-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.contact-panel .contact-call-button{width:auto;margin:0;padding:6px 12px;min-height:34px;font-size:.75rem;border-radius:6px}

.public-establishment .contact-call-button{background:var(--red);border-color:var(--red);color:#fff}
.public-establishment .contact-call-button:hover{background:#800000;color:#fff}
.public-establishment .whatsapp-button{background:#25d366;border-color:#25d366;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.85rem;line-height:1.4;padding:12px 15px;white-space:normal;text-align:center;overflow-wrap:normal}
.public-establishment .whatsapp-button:hover{background:#1fbd5b;border-color:#1fbd5b;color:#fff}
.public-establishment .whatsapp-button .icon{width:25px;height:25px;flex-shrink:0;color:#fff;margin:0}
.public-establishment .guest-contact+.whatsapp-button{margin-top:16px}
.public-establishment .establishment-detail-columns{--cover-height:460px}
.public-establishment .detail-cover,.public-establishment .detail-sidebar>#establishment-location-map{height:var(--cover-height);aspect-ratio:auto;box-sizing:border-box}
@media(max-width:760px){.public-establishment .establishment-detail-columns{--cover-height:340px}}
@media(max-width:480px){.public-establishment .establishment-detail-columns{--cover-height:240px}}

/* Segell Osonateca: franja càlida, segell vermell i accent lateral. */
.public-establishment :is(.establishment-content-box,.guest-box,.contact-panel) h2{
 display:flex;align-items:center;gap:16px;background:#f8f2eb;color:var(--ink);
 border:0;border-left:5px solid var(--red);border-radius:0 10px 10px 0;
 padding:18px 20px;margin:0 0 25px;font-family:Arial,Helvetica,sans-serif;
 font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:700;line-height:1.25;letter-spacing:-.025em
}
.public-establishment :is(.establishment-content-box,.guest-box,.contact-panel) h2>.icon{
 width:44px;height:44px;padding:10px;flex-shrink:0;margin:4px;
 background:var(--red);color:white;border-radius:50%;outline:1px solid #dec4b2;outline-offset:4px
}
.public-establishment .comments-heading{border:0;padding:0;margin-bottom:25px}
.public-establishment .comments-heading h2{flex:1;margin:0;flex-wrap:wrap}
.public-establishment .member-card-offer h2{font-size:1.25rem}
.public-establishment .guest-request>.eyebrow{display:block;margin-bottom:12px}
.public-establishment .contact-panel h2{padding:14px 12px;gap:12px;font-size:1.15rem}
@media(max-width:600px){
 .public-establishment :is(.establishment-content-box,.guest-box,.contact-panel) h2{padding:14px 12px;gap:12px}
 .public-establishment :is(.establishment-content-box,.guest-box,.contact-panel) h2>.icon{width:38px;height:38px;padding:9px}
}

/* Capçaleres a sang; el contingut conserva el marge interior. */
.public-establishment .establishment-content-box{--section-inset:30px;--section-radius:16px}
.public-establishment .guest-box{--section-inset:24px;--section-radius:14px}
.public-establishment .guest-request{--section-inset:28px}
.public-establishment .contact-panel{--section-inset:27px;--section-radius:8px}
.public-establishment :is(.establishment-content-box,.guest-box,.contact-panel)>h2{
 margin-left:calc(-1 * var(--section-inset));margin-right:calc(-1 * var(--section-inset));border-radius:0
}
.public-establishment :is(.establishment-content-box,.guest-box,.contact-panel)>h2:first-child{
 margin-top:calc(-1 * var(--section-inset));border-radius:var(--section-radius) var(--section-radius) 0 0
}
.public-establishment .comments-heading{
 margin:calc(-1 * var(--section-inset)) calc(-1 * var(--section-inset)) 25px;
 padding:18px 20px;background:#f8f2eb;border-left:5px solid var(--red);
 border-radius:var(--section-radius) var(--section-radius) 0 0
}
.public-establishment .comments-heading h2{background:none;border:0;padding:0;margin:0}
.public-establishment .member-card-offer>h2{grid-column:1/-1;margin-bottom:0}
.public-establishment .contact-panel .establishment-features>h2{margin-inline:calc(-1 * var(--section-inset));border-radius:0}
@media(max-width:800px){.public-establishment .guest-request{--section-inset:22px}}
@media(max-width:600px){.public-establishment .establishment-content-box{--section-inset:20px}.public-establishment .comments-heading{padding:14px 12px}}

/* Contrast entre capçaleres càlides i contingut; lateral en crema molt suau. */
.public-establishment :is(.establishment-content-box,.guest-box){background:#fff}
.public-establishment .contact-panel{background:#fcfaf7}
.public-establishment :is(.establishment-content-box,.guest-box,.contact-panel)>h2,
.public-establishment .contact-panel .establishment-features>h2,
.public-establishment .comments-heading{border-bottom:1px solid #ddcbbb}

@media(max-width:600px){.guest-request .request-confirmation-notice{font-size:16px;padding:18px;gap:14px;align-items:flex-start}}

/* Etiquetes de contacte amb més contrast sobre el crema del lateral. */
.public-establishment .contact-list>li>span{color:#403730;font-weight:700;font-size:.72rem;letter-spacing:.045em;margin-bottom:6px}

.establishment-postal-address{display:flex;align-items:flex-start;gap:14px;font-style:normal;padding:8px 0 18px;line-height:1.65}
.address-flourish{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--red);width:34px;height:42px;border-bottom:2px solid #d6b293}
.address-flourish .icon{width:22px;height:22px}.address-street{display:block;color:#39312b}.address-locality{display:block;margin-top:8px;color:#69594b;font-size:.9em;font-weight:600;letter-spacing:.015em}
.guest-contact #contact-address{white-space:pre-line;border-left:2px solid #d6b293;padding-left:14px;line-height:1.7}

/* Sobretaula: icona centrada al primer quart i separador abans del text. */
@media(min-width:1024px){
 .guest-request .request-confirmation-notice{display:grid;grid-template-columns:25% minmax(0,1fr);gap:0;padding:24px 0}
 .request-confirmation-notice>svg{width:64px;height:64px;justify-self:center}
 .request-confirmation-notice>span{display:flex;align-items:center;min-height:80px;padding:8px 28px;border-left:1px solid var(--red)}
}

/* Capçalera compartida dels associats i no associats. */
.public-establishment .detail-heading h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.12;letter-spacing:-.04em}

/* Accés directe a la galeria sobre la portada, independent de l'ampliació. */
.detail-cover-frame{position:relative;margin-bottom:35px}
.detail-cover-frame .detail-photo-link{margin-bottom:0}
.cover-gallery-button{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid #ffffffb3;border-radius:999px;background:#ffffffeb;color:#332820;box-shadow:0 3px 14px #0003;font-size:.9rem;font-weight:700;backdrop-filter:blur(8px);transition:background .2s,color .2s}
.cover-gallery-button svg{width:24px;height:24px}
.cover-gallery-button:hover{background:var(--red);color:#fff}
.cover-gallery-button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
#galeria{scroll-margin-top:180px}
@media(max-width:600px){.cover-gallery-button{right:12px;bottom:12px;padding:9px 13px}}

/* La grella de dreceres comparteix amplada i alineació amb la columna del mapa. */
.public-establishment .detail-heading{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:55px;align-items:center}
.establishment-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.establishment-shortcuts :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:96px;padding:12px 8px;border:1px solid #e1cdc0;border-radius:12px;background:#fffaf5;color:var(--red);text-align:center;font-size:.75rem;font-weight:600;line-height:1.25;transition:background .2s,border-color .2s}
.detail-heading .establishment-shortcuts .icon{width:27px;height:27px}
.establishment-shortcuts a:hover{background:#f5e7dd;border-color:var(--red)}
.establishment-shortcuts a:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:760px){.public-establishment .detail-heading{grid-template-columns:1fr}.establishment-shortcuts :is(a,button){min-height:85px}}
#guest-request,#new-comment{scroll-margin-top:180px}
.public-establishment .detail-heading.discovery-heading>div:first-child{border-left:5px solid var(--red);padding:12px 0 12px 28px}.guest-request .request-fields{display:grid;gap:24px}.guest-request .request-fields>label,.guest-request .request-fields>p{margin:0}.guest-request .request-fields>.guest-consent{margin:4px 0}.guest-request .request-fields>.form-legal{padding-top:20px}@media(max-width:600px){.public-establishment .detail-heading.discovery-heading>div:first-child{padding-left:18px}.guest-request .request-fields{gap:20px}}
