.place-page { max-width: 980px; }
.place-hero { margin-bottom: 38px; }
.place-hero-icon { flex: 0 0 76px; width: 76px; height: 76px; padding: 13px; border-radius: 50%; fill: none; stroke: var(--accent); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; background: #f1eaff; box-shadow: 7px 7px 0 #d9c8f5; }
.place-form { grid-template-columns: 1.3fr 1fr 1fr; gap: 22px; }
.place-url-field { grid-column: 1 / -1; }
.place-form-action { grid-column: 1 / -1; }
.place-filters { display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(170px, .75fr) minmax(170px, .75fr); gap: 14px; margin-bottom: 22px; }
.place-filter { display: grid; gap: 7px; color: #55525d; font-size: .82rem; font-weight: 800; }
.place-filter input, .place-filter select { min-height: 46px; }
.place-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.place-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; gap: 13px 18px; min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 4px 4px 0 #eee7ff; }
.place-item-heading { grid-column: 1 / -1; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-width: 0; }
.place-item h3 { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 1.05rem; }
.place-category-tag { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #b59ae9; border-radius: 999px; color: var(--accent); background: #f7f2ff; font-size: .75rem; font-weight: 800; }
.place-area { display: flex; align-items: center; gap: 7px; min-width: 0; margin: 0; color: var(--muted); overflow-wrap: anywhere; font-size: .88rem; font-weight: 700; }
.place-area span { color: var(--accent); }
.place-link { align-self: center; color: var(--accent); font-size: .82rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.place-link:hover { text-decoration: underline; }
.place-link:focus-visible { outline: 3px solid rgba(120,55,230,.25); outline-offset: 4px; }

@media (max-width: 760px) {
  .place-form { grid-template-columns: 1fr 1fr; }
  .place-url-field { grid-column: 1 / -1; }
  .place-filters { grid-template-columns: 1fr 1fr; }
  .place-search-filter { grid-column: 1 / -1; }
  .place-list { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .place-hero-icon { flex-basis: 62px; width: 62px; height: 62px; padding: 11px; box-shadow: 5px 5px 0 #d9c8f5; }
  .place-form, .place-filters { grid-template-columns: 1fr; }
  .place-url-field, .place-search-filter { grid-column: auto; }
  .place-form-action .primary-button { width: 100%; }
  .place-item { padding: 16px; }
}
