.places-desktop-categories{margin-top:26px;padding:24px;border:1px solid #e0e8e5;border-radius:18px;background:#fff}
.places-categories-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.places-page .places-categories-heading h2{margin:0;font-size:22px;font-weight:750;letter-spacing:-.04em;color:#172c30}
.places-categories-heading p{margin:0;font-size:13px;color:#6c7f81}
.places-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.places-category{--category-color:#217d73;--category-bg:#e7f4ef;position:relative;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto 1fr;gap:12px 10px;align-items:center;min-width:0;padding:14px;min-height:112px;border:1px solid #e3eae7;border-radius:12px;background:#fbfcfc;color:#243638;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s}
.places-category__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--category-bg);color:var(--category-color)}
.places-category svg{width:23px;height:23px;flex-shrink:0}
.places-category__name{grid-column:1/-1;grid-row:2;align-self:start;font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:break-word}
.places-category__count{grid-column:2;grid-row:1;justify-self:end;color:#768583;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.places-category:hover{border-color:#80bcb0;background:#f4faf7;box-shadow:0 3px 12px #193e3110}
.places-category:focus-visible{outline:3px solid #008675!important;outline-offset:3px!important}
.places-category.is-active{background:#087d6d;border-color:#087d6d;color:#fff}
.places-category.is-active .places-category__icon{background:#ffffff24;color:#fff}
.places-category.is-active .places-category__count{color:#dcf5ed}
.places-category__selected{position:absolute;right:13px;bottom:13px;color:#d5f8ec;font-size:16px}
.places-category--landmark,.places-category--museum{--category-color:#4673b2;--category-bg:#eaf0fd}
.places-category--book,.places-category--theatre{--category-color:#8660ad;--category-bg:#f2ebfa}
.places-category--coffee,.places-category--shop{--category-color:#a87032;--category-bg:#fcf0dc}
.places-category--beach{--category-color:#248799;--category-bg:#e6f4f8}
.places-category--sport{--category-color:#bf6752;--category-bg:#fbece7}
@media(max-width:900px){.places-categories-heading{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:620px){
 .places-desktop-categories{display:none}
 .places-page .places-mobile-categories{border:1px solid #d7e5df;border-radius:15px;background:#fff;box-shadow:0 4px 15px #193e3105;overflow:visible}
 .places-page .places-mobile-categories>summary{padding:14px;gap:12px;min-height:76px}
 .places-category-trigger-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:#e7f4ef;color:#087d6d}
 .places-category-trigger-icon svg{width:22px;height:22px}
 .places-category-trigger-copy{flex:1;min-width:0}
 .places-category-trigger-copy strong{display:block;font-size:15px;font-weight:700;line-height:1.3;color:#183d37}
 .places-page .places-category-trigger-copy small{display:block;margin:4px 0 0;font-size:12px;font-weight:400;color:#6a8079;line-height:1.4}
 .places-page .places-mobile-categories__toggle{display:grid;place-items:center;width:26px;height:26px;color:#087d6d}
 .places-mobile-categories__toggle svg{width:20px;height:20px}
 .places-page .places-mobile-categories[open] .places-mobile-categories__toggle{transform:rotate(180deg)}
 .places-mobile-categories .places-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}
 .places-mobile-categories .places-category{min-height:112px;padding:12px;gap:10px}
 .places-mobile-categories .places-category.is-active{grid-column:1/-1;grid-template-columns:34px 1fr auto 18px;grid-template-rows:auto;gap:10px;min-height:58px;padding:10px 12px}
 .places-category.is-active .places-category__icon{width:34px;height:34px;border-radius:10px}
 .places-category.is-active .places-category__name{grid-column:2;grid-row:1;align-self:center;font-size:14px}
 .places-category.is-active .places-category__count{grid-column:3}
 .places-category.is-active .places-category__selected{position:static;grid-column:4;grid-row:1}
}
@media(prefers-reduced-motion:reduce){.places-category{transition:none}}
