/* LUV — live lot inventory section. Scoped under .lwp-lots-sec to avoid system.css collisions. */
.lwp-lots-sec { padding: var(--s-9) 0; background: var(--cream); }
.lwp-lots-sec .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--s-5); }
.lwp-lots__head { text-align: center; max-width: 720px; margin: 0 auto var(--s-6); }
.lwp-lots__head .eyebrow { display: inline-block; font-family: var(--mono); font-size: var(--step--2); text-transform: uppercase; letter-spacing: 0.14em; color: var(--blue-mid, #1E5FAF); margin-bottom: var(--s-3); }
.lwp-lots__head h2 { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -0.015em; margin: 0 0 var(--s-4); }
.lwp-lots__head .lede { font-size: var(--step-0); color: rgba(15,30,61,0.78); margin: 0 0 var(--s-3); }
.lwp-lots__updated { font-family: var(--mono); font-size: var(--step--2); color: rgba(15,30,61,0.55); text-transform: uppercase; letter-spacing: 0.1em; margin: 0; }

.lwp-lots__summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-3); max-width: 720px; margin: 0 auto var(--s-7); }
@media (max-width: 560px) { .lwp-lots__summary { grid-template-columns: repeat(2, 1fr); } }
.lwp-lots__summary > div { background: #fff; border-radius: 12px; padding: var(--s-4); text-align: center; border: 1px solid rgba(15,30,61,0.08); }
.lwp-lots__summary .n { display: block; font-family: var(--serif); font-weight: 600; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1; color: var(--blue-deep); }
.lwp-lots__summary .l { display: block; font-family: var(--mono); font-size: var(--step--2); text-transform: uppercase; letter-spacing: 0.1em; color: rgba(15,30,61,0.6); margin-top: 6px; }

.lwp-lots__filters { display: flex; gap: var(--s-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--s-5); }
.lwp-chip { background: #fff; border: 1px solid rgba(15,30,61,0.14); border-radius: 999px; padding: 8px 18px; font-family: var(--sans); font-size: var(--step--1); color: var(--blue-deep); cursor: pointer; transition: all 0.18s ease; }
.lwp-chip:hover { border-color: var(--blue-deep); }
.lwp-chip.is-active { background: var(--blue-deep); color: var(--cream); border-color: var(--blue-deep); }

.lwp-lotmap { max-width: 920px; margin: 0 auto var(--s-6); border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(15,30,61,0.12); }
.lwp-lotmap img { display: block; width: 100%; height: auto; }

.lwp-lots__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s-3); }

.lwp-lot { background: #fff; border-radius: 12px; padding: var(--s-3) var(--s-4); border: 1px solid rgba(15,30,61,0.08); transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.2s ease; position: relative; }
.lwp-lot:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(15,30,61,0.08); }
.lwp-lot.is-hidden { display: none; }
.lwp-lot__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--s-3); }
.lwp-lot__num { font-family: var(--mono); font-size: var(--step--1); font-weight: 500; color: rgba(15,30,61,0.7); text-transform: uppercase; letter-spacing: 0.08em; }
.lwp-lot__badge { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; padding: 3px 8px; border-radius: 999px; font-weight: 500; }

.lwp-lot--avail { border-left: 3px solid #5FB63F; }
.lwp-lot--avail .lwp-lot__badge { background: rgba(95,182,63,0.14); color: #3d7a26; }
.lwp-lot--hold { border-left: 3px solid #F5B220; }
.lwp-lot--hold .lwp-lot__badge { background: rgba(245,178,32,0.16); color: #8a6410; }
.lwp-lot--sold { border-left: 3px solid rgba(15,30,61,0.3); opacity: 0.55; }
.lwp-lot--sold .lwp-lot__badge { background: rgba(15,30,61,0.1); color: rgba(15,30,61,0.7); }

.lwp-lot__meta { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); margin: 0; }
.lwp-lot__meta > div { margin: 0; }
.lwp-lot__meta dt { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(15,30,61,0.55); margin-bottom: 2px; }
.lwp-lot__meta dd { margin: 0; font-family: var(--serif); font-weight: 500; font-size: var(--step-0); color: var(--blue-deep); }
.lwp-lot__villa { display: inline-block; margin-top: var(--s-2); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--blue-mid, #1E5FAF); padding: 3px 7px; background: rgba(30,95,175,0.08); border-radius: 4px; }
