.listing-card{overflow:hidden;border-radius:2px;transition:transform .35s ease,box-shadow .35s ease;background:#fff}.listing-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(24,51,44,.12)}.card-image{overflow:hidden}.card-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.listing-card:hover .card-image img{transform:scale(1.045)}.card-info{grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:22px 20px 24px}.card-info h3,.card-location{overflow-wrap:anywhere}.card-info h3{line-height:1.02}.card-price{white-space:nowrap}.rating{backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(24,51,44,.12)}
@media(max-width:600px){.card-image,.listing-card:nth-child(n) .card-image{height:320px}.card-info{grid-template-columns:1fr;padding:18px}.card-price{grid-column:1;grid-row:auto;text-align:left;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}}

/* A regular grid keeps large catalogues aligned regardless of item count. */
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 24px;align-items:stretch}
.listing-card,.listing-card:nth-child(n){display:flex;min-width:0;height:100%;margin:0;grid-column:auto;grid-row:auto;flex-direction:column}
.card-image,.listing-card:nth-child(n) .card-image{width:100%;height:auto;aspect-ratio:4/3;flex:none}
.card-image img{display:block;width:100%;height:100%;object-fit:cover}
.card-info{display:grid;flex:1;align-content:start;gap:8px}
.card-info h3{min-width:0;margin-right:8px}
.card-location{min-width:0;line-height:1.45}
.card-price{align-self:start}
.loading{grid-column:1/-1}
@media(max-width:1050px){.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){html,body{max-width:100%;overflow-x:hidden}.section-heading h2,.hero h1,.manifesto h2,.newsletter h2,.reviews-intro h2{overflow-wrap:anywhere}.listing-grid{grid-template-columns:minmax(0,1fr);gap:34px}.card-image,.listing-card:nth-child(n) .card-image{height:auto;aspect-ratio:4/3}.category-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.chip{flex:none}.search-bar{position:relative;left:auto;right:auto;bottom:auto;margin-top:390px;grid-template-columns:minmax(0,1fr);width:100%}.search-bar label,.search-submit{grid-column:1;min-width:0}.hero{min-height:1120px;padding-left:20px;padding-right:20px}.hero-art{inset:310px 0 auto 0;height:360px}.hero h1{font-size:clamp(48px,16vw,63px)}.hero-lead{max-width:100%;width:auto}.review-list article footer{gap:14px;flex-wrap:wrap}.trust-score{align-items:flex-start}.trust-numbers{gap:14px}.newsletter form{width:100%;max-width:100%}.newsletter input{min-width:0}}

.card-gallery-arrow{position:absolute;z-index:3;top:50%;width:40px;height:40px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(250,248,241,.94);color:var(--ink);box-shadow:0 5px 18px rgba(10,20,17,.22);cursor:pointer;opacity:0;transform:translateY(-50%) scale(.88);transition:opacity .2s ease,transform .2s ease,background .2s ease}
.card-gallery-arrow:hover{background:#fff}.card-gallery-arrow:focus-visible{opacity:1;outline:3px solid var(--orange);outline-offset:2px}.card-gallery-arrow.prev{left:12px}.card-gallery-arrow.next{right:12px}.listing-card:hover .card-gallery-arrow{opacity:1;transform:translateY(-50%) scale(1)}
.card-gallery-dots{position:absolute;z-index:3;left:50%;bottom:13px;display:flex;gap:5px;transform:translateX(-50%);filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}.card-gallery-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.58);transition:width .2s ease,background .2s ease}.card-gallery-dots i.active{width:16px;border-radius:5px;background:#fff}
.card-image img.changing{opacity:.42}.card-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .18s ease}
@media(hover:none),(pointer:coarse){.card-gallery-arrow{opacity:.92;transform:translateY(-50%) scale(1);width:38px;height:38px}.card-gallery-arrow.prev{left:9px}.card-gallery-arrow.next{right:9px}}
