/* Building cards: one card per building, one row per room (dist/assets/property-card.mjs buildingCard).
   Written by Claude on 2026-09-22 at 柳田さん's request; Codex may refine. Remove this file and set
   content/site.json "propertyListStyle" to "room" to go back to the previous room cards. */
.building-list{display:grid;gap:32px;container:building-list/inline-size}
.building-card{background:#fff;border-top:4px solid var(--brand-primary,#ffdc4a);border-bottom:4px solid var(--brand-primary,#ffdc4a);padding-top:24px;min-width:0}
.building-head{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:28px;padding:0 24px 22px}
.building-photo{display:block;border-radius:4px;overflow:hidden;background:var(--bg,#f7fafb);aspect-ratio:4/3}
.building-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.building-photo:hover img{transform:scale(1.04)}
.building-info{min-width:0}
.building-info h3{font-size:1.3rem;line-height:1.5;margin:4px 0 12px;font-weight:800}
.building-info h3 a{color:var(--brand-ink,#24334a)}
.building-info h3 a:hover{color:var(--accent-ink,#176c8a)}
.building-address{margin:0 0 12px;padding:0 0 12px 22px;border-bottom:1px dashed var(--line,#d9e6ea);font-weight:700;position:relative}
.building-address::before{content:"";position:absolute;left:0;top:.3em;width:14px;height:14px;background:#a1b7bf;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.building-sub{display:flex;justify-content:space-between;align-items:center;gap:8px 20px;flex-wrap:wrap;font-size:.875rem;line-height:1.8}
.building-access{list-style:none;margin:0;padding:0}
.building-meta{margin:0;white-space:nowrap;color:var(--muted,#5d7278)}
.building-rooms{width:100%;border-collapse:collapse;table-layout:auto}
.building-rooms thead th{background:var(--brand-pale,#fff8d8);font-size:.8125rem;font-weight:700;padding:12px 8px;text-align:center;white-space:nowrap}
.building-rooms td{padding:16px 8px;border-top:1px solid var(--line,#d9e6ea);text-align:center;vertical-align:middle}
.building-rooms tbody tr:first-child td{border-top:0}
.building-rooms tbody tr:hover{background:#fffdf2}
.room-plan{width:120px}
.room-plan img{width:96px;height:96px;object-fit:contain;display:block;margin:0 auto}
.room-rent{white-space:nowrap}
.room-rent strong{font-size:1.5rem;font-weight:800;color:var(--accent-ink,#176c8a);margin-right:2px}
.room-rent small{display:block;font-size:.75rem;color:var(--muted,#5d7278)}
.room-deposit{font-size:.875rem;line-height:1.7;white-space:nowrap}
.room-deposit span{display:block}
.room-layout{font-weight:700;white-space:nowrap}
.room-layout span{font-weight:400;margin-left:2px}
.building-detail{display:inline-block;padding:9px 22px;border:1.5px solid var(--brand-ink,#24334a);border-radius:999px;font-weight:700;font-size:.875rem;white-space:nowrap;color:var(--brand-ink,#24334a);background:#fff;transition:background .2s}
.building-detail:hover{background:var(--brand-primary,#ffdc4a)}
@container building-list (max-width:680px){
 .building-card{padding-top:18px}
 .building-head{grid-template-columns:110px minmax(0,1fr);gap:14px;padding:0 16px 16px}
 .building-info h3{font-size:1.05rem;margin:0 0 6px}
 .building-address{font-size:.8125rem;padding-bottom:8px;margin-bottom:8px}
 .building-sub{display:block;font-size:.75rem;line-height:1.7}
 .building-rooms thead{display:none}
 .building-rooms,.building-rooms tbody{display:block}
 .building-rooms tr{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"plan rent rent" "plan layout floor" "plan deposit link";gap:2px 10px;align-items:center;padding:14px 16px;border-top:1px solid var(--line,#d9e6ea)}
 .building-rooms tbody tr:first-child{border-top:1px solid var(--line,#d9e6ea)}
 .building-rooms td{display:block;padding:0;border:0;text-align:left}
 .room-plan{grid-area:plan;width:auto}.room-plan img{width:76px;height:76px}
 .room-rent{grid-area:rent}.room-rent strong{font-size:1.3rem}.room-rent small{display:inline;margin-left:8px}
 .room-layout{grid-area:layout;font-size:.875rem}
 .room-floor{grid-area:floor;text-align:right;font-size:.875rem}
 .room-deposit{grid-area:deposit;font-size:.8125rem}.room-deposit span{display:inline;margin-right:8px}
 .room-link{grid-area:link;text-align:right}
 .building-detail{padding:6px 14px;font-size:.8125rem}
}
