/* Preserve the established listing design, with neutral media and complete data-driven grids. */
.faberge-neutral-card{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(142deg,#d9d3c7,#eeeae2 46%,#c8c3b9);color:rgba(102,98,90,.30);font-family:"Playfair Display",Georgia,serif;font-size:clamp(5rem,10vw,8rem);line-height:1}
.listing-page .faberge-neutral-card>span{all:unset;position:relative;display:block;font:inherit;color:inherit}
.faberge-neutral-card::before{content:"";position:absolute;inset:14px;border:1px solid rgba(110,105,96,.23)}
.listing-title{margin:0;padding:3.5rem max(6vw,calc((100vw - 1280px)/2)) .5rem;background:#efeee9;color:#252724;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.8rem,4.5vw,4.3rem);font-weight:400;line-height:1.15}
.listing-title+.category-sections .category-section:first-child{padding-top:2.5rem}
.category-section .property-card{display:block;min-width:0}
.property-meta{flex-wrap:wrap;gap:.55rem 1rem}
.property-copy{overflow-wrap:anywhere}
.listing-image-hero{overflow:hidden}
.listing-empty{padding:3rem 6vw}
@media(max-width:700px){.category-heading{gap:1rem;flex-wrap:wrap}.listing-title{font-size:clamp(2.2rem,8vw,3rem)}}
/* Shared listing alignment, orange category navigation and a tighter rhythm. */
.listing-page{--listing-content-gutter:6vw;--listing-accent:#9d5745}
.listing-page .listing-title{padding:1.75rem var(--listing-content-gutter) .5rem;font-size:clamp(2.2rem,3.5vw,3.3rem)}
.listing-page .category-links{justify-content:flex-start;gap:clamp(1.25rem,2.5vw,2.5rem);padding-inline:var(--listing-content-gutter)}
.listing-page .category-links a{color:var(--listing-accent);font-size:.85rem;font-weight:600;padding:.9rem 0;min-height:44px;display:inline-flex;align-items:center}
.listing-page .category-links a:hover{text-decoration:underline;text-underline-offset:5px}
.listing-page .category-links a:focus-visible{outline:2px solid var(--listing-accent);outline-offset:-2px}
.listing-page .category-section{padding:2.5rem var(--listing-content-gutter)}
.listing-page .listing-title+.category-sections .category-section:first-child{padding-top:1.5rem}
.listing-page .category-heading{margin-bottom:1.25rem;gap:1rem}
.listing-page .category-heading h2{color:var(--listing-accent);font-size:clamp(1.8rem,2.6vw,2.6rem);margin-bottom:0;line-height:1.15}
.listing-page .category-heading>span{font-size:.8rem;margin-bottom:.2rem}
.listing-page .property-copy{padding:1rem 1.1rem 1.2rem}
.listing-page .property-copy h3{font-size:1.35rem;margin-bottom:.75rem}
.listing-page .property-meta{font-size:.82rem;gap:.4rem .75rem}
.listing-page .property-image>img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
.listing-page{--listing-content-gutter:1.3rem}
.listing-page .listing-title{padding-top:1.25rem;font-size:clamp(2rem,7vw,2.5rem)}
.listing-page .category-links{gap:1.4rem}
.listing-page .category-links a{font-size:.82rem;padding:.75rem 0}
.listing-page .category-section{padding-block:1.75rem}
.listing-page .category-heading h2{font-size:1.9rem}
.listing-page .property-copy h3{font-size:1.25rem}
}

/* Supplied hero photo with a return control matching the object-list button. */
.listing-page .listing-image-hero{height:clamp(190px,22vw,340px)}
.listing-page .listing-image-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:none;transform:rotate(-.35deg) scale(1.03);transform-origin:center}
.listing-page .listing-image-hero::after{content:none}
.listing-page .listing-home-link{left:auto;right:var(--listing-content-gutter);bottom:1.2rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:140px;min-width:140px;height:40px;min-height:40px;padding:.5rem .6rem;gap:.35rem;border:1px solid #252724;border-radius:0;background:#eeeae2;color:#252724;font:600 .82rem/1.2 "DM Sans",Arial,sans-serif;white-space:nowrap;box-shadow:none;text-decoration:none}
.listing-page .listing-home-link:hover{background:#e8e2d8;color:#252724}
.listing-page .listing-home-link:focus-visible{outline:2px solid #252724;outline-offset:3px}
.listing-home-arrow{width:1.2rem;height:1.2rem;flex:none;display:block}
@media(max-width:700px){
.listing-page .listing-image-hero{height:220px}
.listing-page .listing-home-link{bottom:1rem;font-size:.75rem}
}

/* Match the compact upcoming label's typography and dimensions for both statuses. */
.listing-page .property-image>span{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:96px;height:28px;min-height:28px;padding:.5rem .7rem;font-family:var(--body,Arial,sans-serif);font-size:.69rem;font-weight:400;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:0;box-shadow:none}
.listing-page .property-card .property-image>.property-status-badge{z-index:3;border:1px solid #d7d2c8;background:#eeeae2;color:#252724}
/* Object list signs (markup in listing.php: div.property-badges): status sign (Till salu / Kommande / Såld)
   plus BUDGIVNING / VISNING side by side in the top-left corner of the card image; wraps on narrow cards.
   Spans are static inside the flex row (the old Next.js rule ".property-image span" made them absolute). */
.listing-page .property-image>.property-badges{position:absolute;top:1rem;left:1rem;right:1rem;z-index:3;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
.listing-page .property-card .property-image .property-badges>span{position:static;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:96px;height:28px;min-height:28px;padding:0 .3rem;border:1px solid #d7d2c8;border-radius:0;background:#eeeae2;color:#252724;box-shadow:none;font-family:var(--body,Arial,sans-serif);font-size:.69rem;font-weight:400;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* Match the home-page image shade and use one explicit content edge. */
.listing-page .listing-image-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0d110e59,#0d110e10),linear-gradient(#0000 54%,#090c0a40)}
.listing-page>.category-links,.listing-page>.listing-title,.listing-page>.category-sections>.category-section{box-sizing:border-box;width:100%;margin-inline:0;padding-left:var(--listing-content-gutter);padding-right:var(--listing-content-gutter)}
.listing-page>.category-links{justify-content:flex-start}
.listing-page>.category-links>a{margin-inline:0;padding-inline:0;flex-shrink:0}

/* Optical alignment for the large serif heading's visible left edge. */
.listing-page>.listing-title{padding-left:calc(var(--listing-content-gutter) - 2px)}


/* Legible mobile facts and prices below property photos. */
@media(max-width:900px){
.listing-page .property-meta{font-family:Arial,sans-serif;font-weight:400;font-size:.9rem;line-height:1.6;color:#454943}
.listing-page .property-copy>strong{font-family:Arial,sans-serif;font-weight:500;color:#252724;font-size:1rem;line-height:1.5}
}

/* Upcoming and sold properties share centered lettering beneath the corner badge. */
.listing-page .property-image>.property-status-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:1rem;background:rgba(0,0,0,.58);color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;line-height:1;letter-spacing:0;text-transform:none;pointer-events:none}

