/* Top-page-only card layout; shared detail CSS remains untouched. */
.catalog-hero{padding-block:44px 16px;max-width:1120px}
.catalog-hero h1{font-size:clamp(32px,4vw,45px);line-height:1.55;margin-bottom:16px}
.catalog-hero .lead{margin-bottom:0}
.catalog-hero .eyebrow{margin-bottom:12px}
.catalog-preview{background:#e7efeb;border-bottom:1px solid #c6d7ce;padding:9px 18px;text-align:center;font-size:12px;color:#244b43}
.listing-intro{margin:0 0 10px;font-size:17px}.listing-note{font-size:12px;color:#586665;margin:0 0 25px}
.places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.place-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.place-card figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:0}
.place-card[data-shop="toriki"] figure img{object-position:50% 57%}
.place-card figcaption{font-size:10px;line-height:1.8;padding:0 15px;margin-top:10px}
.place-body{padding:21px;display:flex;flex-direction:column;flex:1;min-width:0}
.place-tags{display:flex;flex-wrap:wrap;gap:7px;font-size:11px;line-height:1.65;margin-bottom:14px}
.place-tags span{background:#edf4ef;color:#24594d;border:1px solid #ccdcd3;border-radius:3px;padding:4px 7px}
.place-card h3{font-size:22px;line-height:1.55;margin:0 0 13px}.place-body>p{font-size:13px;margin:0 0 18px}
.place-body .place-status{font-size:11px;color:#586665;margin-top:auto;margin-bottom:10px}.place-body .draft-status{color:#80511f}
.place-link{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);min-height:54px;padding-block:12px;font-size:13px;font-weight:700;color:#175c58;text-decoration:none}
.place-link:hover{text-decoration:underline}.section-title h2{margin-bottom:12px}.listing{padding-top:30px}
.place-body .place-kind{font-size:11px;color:#175c58;font-weight:700;margin:0 0 8px}
@media(max-width:950px){.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.places-grid{grid-template-columns:1fr;gap:25px}.catalog-hero{padding-block:30px 8px}.catalog-hero h1{font-size:32px}.catalog-hero .lead{font-size:14px}.place-body{padding:20px}.place-card h3{font-size:23px}.place-card figcaption{font-size:10px}.catalog-preview{font-size:11px}.listing-intro{font-size:15px}}
