/* Touch-friendly catalog. Desktop keeps the full community presentation. */
.places-mobile-categories,
.community-invite-mobile-description,
.community-mobile-link { display:none; }
.community-catalog-disclosure { min-width:0; }
.community-catalog-disclosure>summary { display:none; }
.places-page .community-catalog-disclosure>.community-catalog-feed { height:100%; }

@media (max-width:620px) {
  .places-page .places-hero { min-height:0!important; }
  .places-page .places-hero__content { min-height:0; padding:16px 18px 12px; }
  .places-page .places-breadcrumbs { min-height:28px; }
  .places-page .places-breadcrumbs a { display:inline-flex;align-items:center;min-height:44px;margin:-8px 0; }
  .places-page .places-hero__heading { margin-top:16px; }
  .places-page .places-hero h1 { font-size:clamp(34px,10vw,44px)!important;white-space:normal; }
  .places-page .places-hero__heading>p { display:none; }
  .places-page .places-hero__heading>span { font-size:14px;line-height:1.5;margin-top:8px; }
  .places-page .places-hero__heading>span br { display:none; }
  .places-page .places-hero__stats { margin-top:12px;gap:16px;flex-wrap:wrap; }
  .places-page .places-stat { align-items:center;gap:5px; }
  .places-page .places-stat>i { display:none; }
  .places-page .places-stat>div { display:flex;align-items:baseline;gap:5px; }
  .places-page .places-hero__stats strong { font-size:15px; }
  .places-page .places-hero__stats span { font-size:11px; }
  .places-page .places-search { position:relative;left:auto;right:auto;bottom:auto;margin:0 12px 14px;gap:4px 8px;padding:6px 8px; }
  .places-page .places-search__field input { height:44px;padding-right:44px;font-size:16px; }
  .places-page .places-search .places-search__clear-input { width:44px;height:44px;min-height:44px;background:transparent; }
  .places-page .places-search>button[type=submit] { min-height:44px;font-size:14px;margin:0; }
  .places-search__suggestions { max-height:min(340px,45dvh);overscroll-behavior:contain; }
  .places-search__option strong { font-size:14px; }
  .places-search__option small { font-size:12px; }

  .places-page .community-catalog-invite { padding:16px; }
  .places-page .community-catalog--reference h2 { font-size:25px;margin:0 0 6px; }
  .places-page .community-catalog--reference .community-eyebrow,
  .places-page .community-invite-description,
  .places-page .community-postcard,
  .places-page .community-invite-rule,
  .places-page .community-contribution-levels { display:none; }
  .community-catalog-disclosure { background:white;border-radius:12px; }
  .community-catalog-disclosure>summary { display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:12px 16px;font-size:13px;font-weight:650;list-style:none;cursor:pointer; }
  .community-catalog-disclosure>summary::-webkit-details-marker { display:none; }
  .community-catalog-disclosure>summary>span { font-size:24px;line-height:1;font-weight:400; }
  .community-catalog-disclosure[open]>summary>span { transform:rotate(45deg); }
  .community-catalog-disclosure>summary:focus-visible { outline:3px solid #008675;outline-offset:2px;border-radius:12px; }
  .places-page .community-catalog-disclosure>.community-catalog-feed { display:grid;height:auto; }
  .places-page .community-invite-mobile-description { display:block;font-size:13px;line-height:1.5;color:#536575;margin:0; }
  .places-page .community-invite-actions { flex-direction:row;align-items:center;gap:12px;margin-top:12px; }
  .places-page .community-catalog--reference .community-button { min-height:44px;padding:10px 12px;font-size:12px!important;gap:6px; }
  .places-page .community-mobile-link { display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#007d70;text-decoration:underline;text-underline-offset:3px; }

  .places-page .places-shell>.places-topics { display:none; }
  .places-mobile-categories { display:block;margin-top:14px;border:1px solid #d7e1dc;border-radius:12px;background:white; }
  .places-mobile-categories summary { display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 16px;list-style:none;cursor:pointer;font-size:14px;font-weight:700; }
  .places-mobile-categories summary::-webkit-details-marker { display:none; }
  .places-mobile-categories summary small { margin-left:7px;font-size:12px;font-weight:500;color:#64776f; }
  .places-mobile-categories__toggle { font-size:24px;font-weight:400;line-height:1; }
  .places-mobile-categories[open] .places-mobile-categories__toggle { transform:rotate(45deg); }
  .places-mobile-categories summary:focus-visible { outline:3px solid #008675;outline-offset:3px;border-radius:12px; }
  .places-page .places-mobile-categories .places-topics { display:grid;grid-template-columns:1fr;margin:0;padding:0 10px 10px;gap:6px; }
  .places-mobile-categories .places-topics a { justify-content:space-between;min-height:48px;font-size:14px; }
  .places-page .places-heading { margin:24px 0 16px;gap:8px;flex-direction:column;align-items:flex-start; }
  .places-page .places-heading h2 { font-size:28px;line-height:1.12; }
  .places-page .places-heading p { font-size:10px;margin-bottom:6px; }
  .places-page .places-heading>span { display:block;font-size:13px;padding:0; }
  .places-page .places-results-reset { min-height:44px;display:inline-flex;align-items:center;font-size:14px;white-space:normal; }
  .places-page .places-grid { grid-template-columns:1fr;gap:18px; }
  .places-page .place-tile--featured { display:flex;grid-column:auto; }
  .places-page .place-tile__media { aspect-ratio:16/9;min-height:0; }
  .places-page .place-tile__content { padding:16px; }
  .places-page .place-tile h3 { font-size:23px;max-width:none;line-height:1.2; }
  .places-page .place-tile__address { font-size:14px; }
  .places-page .place-tile__description { font-size:14px;line-height:1.6; }
  .places-page .place-tile__footer { align-items:center;padding-top:12px; }
  .places-page .place-tile__footer>a { min-height:44px;padding:0 12px;border-radius:8px;background:#f1f6f4;font-size:14px;color:#007365; }
  .places-page .places-pagination { gap:6px;margin-top:24px; }
  .places-page .places-pagination a,.places-page .places-pagination span { min-width:44px;height:48px;margin:0;padding:0 12px;border-radius:8px!important;font-size:15px; }
  .places-page .places-explore { margin-top:40px;padding:24px 20px; }
  .places-page .places-about { margin-top:40px;padding-bottom:32px;gap:22px; }
  .places-page .places-empty { padding:32px 18px; }
  .places-page .places-empty a { min-height:44px;align-items:center; }
}
@media (hover:none) {
  .places-page .place-tile:hover { transform:none; }
  .places-page .place-tile:hover .place-tile__media>img { transform:none; }
}
