/* Catalogo pubblico: stili isolati dalla home e dalle altre pagine. */
.vs-catalog-page .vs-catalog-header {background:#fff;border-bottom:1px solid var(--line,#dbe5ec)}
.vs-catalog-page .vs-catalog-header .wrap {min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.vs-catalog-page .vs-catalog-header .brand {font-size:24px}
.vs-catalog-page .vs-catalog-header a:last-child {font-size:14px;text-underline-offset:4px}
.vs-catalog-page .vs-catalog-main {padding-top:38px;padding-bottom:48px}
.vs-catalog-page .vs-catalog-intro {padding:0 0 28px}
.vs-catalog-page .vs-catalog-intro h1 {font-size:clamp(30px,4vw,46px);line-height:1.15;margin:8px 0 12px}
.vs-catalog-page .vs-catalog-intro>p:last-child {color:var(--muted,#66798b);margin:0}
.vs-catalog-page .vs-catalog-layout {display:grid;grid-template-columns:246px minmax(0,1fr);gap:26px;align-items:start}
.vs-catalog-page .vs-catalog-filters {padding:22px;background:#fff;border:1px solid var(--line,#dbe5ec);border-radius:18px;min-width:0}
.vs-catalog-page .vs-catalog-filters h2 {font-size:19px;line-height:1.3;margin:0}
.vs-catalog-page .vs-catalog-filters form {margin-top:20px;gap:17px}
.vs-catalog-page .vs-catalog-filters input,.vs-catalog-page .vs-catalog-filters select {padding:11px;min-width:0}
.vs-catalog-page .vs-catalog-filters label {display:block;font-size:13px}
.vs-catalog-page .vs-catalog-pets {border-top:1px solid var(--line,#dbe5ec);padding-top:15px}
.vs-catalog-page .vs-catalog-pets summary {cursor:pointer;font-size:14px;font-weight:700}
.vs-catalog-page .vs-catalog-pets label {margin-top:14px}
.vs-catalog-page .vs-catalog-reset {text-align:center;font-size:13px;text-underline-offset:3px}
.vs-catalog-page .vs-catalog-results {min-width:0}
.vs-catalog-page .vs-catalog-results-heading {display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.vs-catalog-page .vs-catalog-results-heading h2 {font-size:22px;margin:0}
.vs-catalog-page .vs-catalog-results-heading p {font-size:12px;color:var(--muted,#66798b);margin:0}
.vs-catalog-page .vs-catalog-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px;align-items:stretch}
.vs-catalog-page .vs-catalog-card {display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line,#dbe5ec);border-radius:16px;overflow:hidden;box-shadow:0 6px 22px #12395b08}
.vs-catalog-page .vs-catalog-photo {display:block;aspect-ratio:4/3;background:#e5eef1;overflow:hidden}
.vs-catalog-page .vs-catalog-photo img {display:block;width:100%;height:100%;object-fit:cover}
.vs-catalog-page .vs-catalog-photo-placeholder {display:grid;place-items:center;height:100%;color:#526b7b;font-size:14px}
.vs-catalog-page .vs-catalog-card-body {padding:18px;display:flex;flex-direction:column;flex:1}
.vs-catalog-page .vs-catalog-location {font-size:12px;color:var(--teal,#1c8b8f);margin:0 0 6px;overflow-wrap:anywhere}
.vs-catalog-page .vs-catalog-card h3 {font-size:20px;line-height:1.25;margin:0 0 9px;overflow-wrap:anywhere}
.vs-catalog-page .vs-catalog-card h3 a {text-decoration:none}
.vs-catalog-page .vs-catalog-capacity {font-size:13px;color:var(--muted,#66798b);margin:0 0 12px}
.vs-catalog-page .vs-catalog-amenities {display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 14px}
.vs-catalog-page .vs-catalog-amenities li {font-size:11px;line-height:1.5;padding:4px 7px;border-radius:6px;background:#f0f5f7;overflow-wrap:anywhere}
.vs-catalog-page .vs-catalog-pet-result {font-size:12px;margin:0 0 12px}
.vs-catalog-page .vs-catalog-card-bottom {margin-top:auto;padding-top:12px;border-top:1px solid var(--line,#dbe5ec)}
.vs-catalog-page .vs-catalog-card-bottom p {font-size:12px;color:var(--muted,#66798b);margin:0 0 12px}
.vs-catalog-page .vs-catalog-card-bottom .btn {width:100%;padding:11px 12px;font-size:13px}
.vs-catalog-page .vs-catalog-empty {padding:28px;background:#fff;border:1px solid var(--line,#dbe5ec);border-radius:16px}
.vs-catalog-page .vs-catalog-empty h3 {margin-top:0}
.vs-catalog-page .vs-catalog-request {padding:28px;margin-top:38px;background:#eaf3f6;border-radius:18px}
.vs-catalog-page .vs-catalog-request h2 {font-size:24px;margin:0 0 8px}
.vs-catalog-page .vs-catalog-request p {margin:0 0 18px}
.vs-catalog-page a:focus-visible,.vs-catalog-page summary:focus-visible,.vs-catalog-page button:focus-visible {outline:3px solid #17689a;outline-offset:4px}
.vs-catalog-page .vs-catalog-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}
@media(max-width:1100px) {
 .vs-catalog-page .vs-catalog-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
 .vs-catalog-page .vs-catalog-layout {grid-template-columns:minmax(0,1fr)}
 .vs-catalog-page .vs-catalog-filters form {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .vs-catalog-page .vs-catalog-filters .vs-catalog-pets {grid-column:1/-1}
 .vs-catalog-page .vs-catalog-header .brand {font-size:20px}
 .vs-catalog-page .vs-catalog-header a:last-child {font-size:12px}
}
@media(max-width:520px) {
 .vs-catalog-page .vs-catalog-grid,.vs-catalog-page .vs-catalog-filters form {grid-template-columns:minmax(0,1fr)}
 .vs-catalog-page .vs-catalog-main {padding-top:26px}
 .vs-catalog-page .vs-catalog-request {padding:22px}
}
\n/* Keep an isolated single result readable without stretching its image. */\n.vs-catalog-page .vs-catalog-card {max-width:390px}\n.vs-catalog-page .vs-catalog-grid {align-items:start}\n