/* Featured listing — styles are generated for the Citadel home and the listing page */
.lm-featured{padding:3rem 0 3.25rem;background:#FAF8F5;border-bottom:1px solid #e3ddd2;scroll-margin-top:6rem}
.lm-featured .eyebrow{color:#7A6233}
.lm-featured-kicker{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center;margin:0 0 .35rem}
.lm-featured h1,.lm-featured h2{margin:.15rem 0 .35rem;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.85rem,3.4vw,2.6rem);line-height:1.15;color:#14181F;max-width:26ch}
.lm-featured-addr{margin:0 0 .5rem;font-size:1.05rem;color:#3a3f47}
.lm-featured-price{display:block;margin:0 0 .75rem;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:700;color:#7A6233;letter-spacing:.01em}
.lm-featured .listing-facts{display:flex;flex-wrap:wrap;gap:.45rem .9rem;list-style:none;padding:0;margin:0 0 .85rem}
.lm-featured .listing-facts li{font-size:.95rem;color:#14181F;background:#fff;border:1px solid #e3ddd2;border-radius:999px;padding:.35rem .8rem;line-height:1.3}

/* Compact Call / Text row directly under the fact chips */
.lm-featured-callrow{display:flex;flex-wrap:wrap;gap:.6rem .75rem;align-items:stretch;margin:0 0 1rem}
.lm-featured-callrow .btn{min-height:48px;padding:.7rem 1.15rem;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center}
.lm-call-short{display:none}

.lm-featured-listed{margin:0 0 .35rem;font-size:.95rem;color:#3a3f47}
.lm-featured-presented{margin:0 0 1.1rem;font-size:.95rem;color:#3a3f47}
.lm-featured-copy{max-width:68ch}
.lm-featured-copy p{margin:0 0 1rem;font-size:1.05rem;line-height:1.6;color:#1d1d1b}
.lm-featured-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin:1.25rem 0 1rem}
.lm-featured-actions .btn{min-height:48px;padding:.85rem 1.35rem;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center}
.lm-featured-note{margin:0;font-size:.85rem;line-height:1.5;color:#555;max-width:72ch}
.lm-featured-photos{margin:.15rem 0 1.25rem;font-size:.85rem;color:#555}

/* Gallery: 4-col / 8 photos on the listing page; 3-col / 6 photos in teasers. Beat page-level figure margins and caption color. */
.lm-fg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0 0 1.5rem}
.lm-featured .lm-fg-item{margin:0;position:relative}
.lm-fg-item button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;border-radius:6px;overflow:hidden;line-height:0}
.lm-fg-item button:focus-visible{outline:3px solid #B4975A;outline-offset:2px}
.lm-featured .lm-fg-item img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/2;background:#e8e2d8}
.lm-featured .lm-fg-lead img{object-position:50% 32%}
.lm-featured .lm-fg-item figcaption,
.lm-featured .lm-fg-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:.55rem .75rem .5rem;font-size:.8rem;font-weight:600;color:#FAF8F5!important;background:linear-gradient(to top,rgba(20,24,31,.92) 0%,rgba(20,24,31,.72) 55%,rgba(20,24,31,0) 100%);text-shadow:0 1px 2px rgba(0,0,0,.85);pointer-events:none}
.lm-featured .lm-fg-lead figcaption{font-size:.95rem;padding:.85rem .95rem .65rem}

/* 360 tour: living-room poster, capped width on desktop */
.lm-tour-wrap{margin:0 0 1.5rem}
@media (min-width:900px){
  .lm-tour-wrap{max-width:900px}
}
.lm-tour{position:relative;aspect-ratio:16/9;background:#14181F;overflow:hidden;border-radius:6px}
.lm-tour img,.lm-tour iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.lm-tour-play{position:absolute;inset:0;width:100%;height:100%;min-height:48px;background:rgba(20,24,31,.28);border:0;cursor:pointer;color:#FAF8F5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1rem;font:inherit}
.lm-tour-play:hover{background:rgba(20,24,31,.4)}
.lm-tour-play:focus-visible{outline:3px solid #B4975A;outline-offset:-3px}
.lm-tour-play strong{font-size:1.05rem;font-weight:700;letter-spacing:.02em}
.lm-tour-play span{font-size:.9rem;opacity:.92}
.lm-tour-ns{position:absolute;left:1rem;bottom:1rem;color:#fff;background:#14181F;padding:.4rem .7rem;border-radius:4px}

/* Lightbox */
.lm-lb[hidden]{display:none}
.lm-lb{position:fixed;inset:0;z-index:1200;background:rgba(20,24,31,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
.lm-lb img{max-width:min(1400px,100%);max-height:min(82vh,100%);width:auto;height:auto;object-fit:contain;border-radius:4px;touch-action:pan-y}
.lm-lb-cap{color:#FAF8F5;margin:.75rem 0 0;font-size:.95rem;text-align:center;max-width:70ch}
.lm-lb-count{color:#E8D5A8;margin:.35rem 0 0;font-size:.9rem;letter-spacing:.04em}
.lm-lb-close,.lm-lb-prev,.lm-lb-next{position:absolute;min-width:44px;min-height:44px;border:0;border-radius:6px;background:rgba(250,248,245,.12);color:#FAF8F5;font-size:1.4rem;cursor:pointer}
.lm-lb-close{top:12px;right:12px;font-size:1.6rem}
.lm-lb-prev{left:8px;top:50%;transform:translateY(-50%)}
.lm-lb-next{right:8px;top:50%;transform:translateY(-50%)}
.lm-lb-close:hover,.lm-lb-prev:hover,.lm-lb-next:hover{background:rgba(250,248,245,.22)}
.lm-lb-close:focus-visible,.lm-lb-prev:focus-visible,.lm-lb-next:focus-visible{outline:3px solid #B4975A}

/* 9 photos: desktop lead spans 2x2; eight thumbs fill the remaining cells with no gaps. */
@media (min-width:900px){
  .lm-fg .lm-fg-lead{grid-column:1 / span 2;grid-row:1 / span 2}
  .lm-fg .lm-fg-lead button{height:100%}
  .lm-fg .lm-fg-lead img{aspect-ratio:auto;height:100%;min-height:100%}
}

@media (max-width:1199px){
  .lm-featured{padding:2.25rem 0 calc(2.5rem + 72px);scroll-margin-top:5.25rem}
}
@media (max-width:899px){
  .lm-fg,.lm-fg-teaser{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-fg-lead{grid-column:1 / -1}
}
@media (max-width:600px){
  .lm-call-full{display:none}
  .lm-call-short{display:inline}
  .lm-featured-callrow{flex-direction:column}
  .lm-featured-callrow .btn{flex:1 1 auto;width:100%;min-height:48px}
  .lm-featured-actions{flex-direction:column}
  .lm-featured-actions .btn{flex:1 1 100%;width:100%;min-height:48px}
  .lm-lb-prev,.lm-lb-next{top:auto;bottom:12px;transform:none}
  .lm-lb img{max-height:68vh}
}
@media (prefers-reduced-motion:reduce){
  .lm-fg-item img,.lm-tour img{transition:none}
}
