:root{--pl-ink:#0d2743;--pl-muted:#647b8f;--pl-line:rgba(13,39,67,.13);--pl-t:#18c8c9;--pl-t2:#087f84;--pl-yellow:#f3c332;--pl-bg:#f6f8f6}
*{box-sizing:border-box}.places-page{margin:0;background:linear-gradient(180deg,#fbfcfa 0,#f4f7f6 100%);color:var(--pl-ink);font-family:Inter,Arial,sans-serif}.places-main{width:min(100%,1240px);margin:0 auto;padding:clamp(34px,6vw,78px) clamp(16px,3vw,28px) 90px}.places-hero{max-width:850px;padding:0 0 clamp(28px,5vw,48px)}.places-kicker{display:block;margin-bottom:12px;color:var(--pl-t2);font:850 10px/1.3 Sora,Inter,sans-serif;letter-spacing:.16em}.places-hero h1{margin:0;color:var(--pl-ink);font:760 clamp(38px,7vw,72px)/.98 Sora,Inter,sans-serif;letter-spacing:-.055em;text-wrap:balance}.places-hero p{max-width:720px;margin:18px 0 0;color:#5d768b;font-size:clamp(15px,2vw,18px);line-height:1.72}.places-tools{display:grid;gap:16px;margin-bottom:30px;padding:18px;border:1px solid var(--pl-line);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 16px 45px rgba(13,39,67,.05)}.places-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.places-search input,.places-province select{min-height:52px;border:1px solid rgba(13,39,67,.17);border-radius:15px;background:#fff;color:var(--pl-ink);font:500 16px/1.3 Inter,Arial,sans-serif;outline:none}.places-search input{padding:0 16px}.places-search input:focus,.places-province select:focus{border-color:rgba(24,200,201,.8);box-shadow:0 0 0 4px rgba(24,200,201,.11)}.places-search button{min-height:52px;padding:0 22px;border:1px solid rgba(13,39,67,.12);border-bottom:4px solid var(--pl-ink);border-radius:15px;background:var(--pl-t);color:var(--pl-ink);font:850 12px/1 Sora,Inter,sans-serif;cursor:pointer}.places-filter-row{display:grid;gap:14px}.places-category-scroll{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:none}.places-category-scroll::-webkit-scrollbar{display:none}.places-category-scroll button{flex:0 0 auto;min-height:40px;padding:0 14px;border:1px solid var(--pl-line);border-radius:999px;background:#fff;color:#526d84;font:800 11px/1 Inter,sans-serif;cursor:pointer}.places-category-scroll button.is-active{border-color:rgba(24,200,201,.55);background:#eafafa;color:var(--pl-t2)}.places-province{display:grid;grid-template-columns:auto minmax(0,210px);gap:10px;align-items:center;color:#718596;font-size:11px;font-weight:800}.places-province select{min-height:44px;padding:0 38px 0 12px;font-size:14px}.places-results{display:grid;gap:18px}.places-results-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.places-results-head>div:first-child{display:grid;gap:4px}.places-results-head span{color:#7d92a2;font-size:9px;font-weight:850;letter-spacing:.14em}.places-results-head strong{font:750 22px/1.1 Sora,Inter,sans-serif}.places-loading{display:flex;align-items:center;gap:8px;color:#708797;font-size:11px}.places-loading span{width:12px;height:12px;border:2px solid rgba(24,200,201,.2);border-top-color:var(--pl-t2);border-radius:50%;animation:plspin .8s linear infinite}@keyframes plspin{to{transform:rotate(360deg)}}.places-grid{display:grid;grid-template-columns:1fr;gap:18px}.places-card{min-width:0;border:1px solid var(--pl-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(13,39,67,.05)}.places-card-link{display:block;height:100%;color:inherit;text-decoration:none}.places-card-visual{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#dce9e7,#f6e7ac);overflow:hidden}.places-card-visual img{width:100%;height:100%;object-fit:cover;display:block}.places-card-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,rgba(24,200,201,.22),transparent 34%),linear-gradient(135deg,#eef5f3,#e4ecea);color:#75909c;font:850 13px/1 Sora,Inter,sans-serif;letter-spacing:.15em}.places-card-plan{position:absolute;top:14px;left:14px;padding:8px 10px;border-radius:999px;background:rgba(13,39,67,.9);color:#fff;font:850 8px/1 Sora,Inter,sans-serif;letter-spacing:.1em}.places-card-body{display:grid;gap:10px;padding:18px}.places-card-cats,.places-card-signals{display:flex;flex-wrap:wrap;gap:7px}.places-card-cats span{padding:6px 9px;border-radius:999px;background:#eafafa;color:var(--pl-t2);font-size:9px;font-weight:800}.places-card h2{margin:0;color:var(--pl-ink);font:750 24px/1.08 Sora,Inter,sans-serif;letter-spacing:-.04em}.places-card-location{margin:0;color:#6e8598;font-size:12px}.places-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#5e7588;font-size:12.5px;line-height:1.58}.places-card-signals span{font-size:10px;color:#6b8192}.places-card-signals span:not(:last-child)::after{content:' ·';color:#a3b0b9}.places-card-cta{display:flex;justify-content:space-between;align-items:center;margin-top:2px;padding-top:13px;border-top:1px solid rgba(13,39,67,.09);color:var(--pl-ink);font:850 11px/1 Sora,Inter,sans-serif}.places-empty{grid-column:1/-1;padding:42px 24px;border:1px dashed rgba(13,39,67,.18);border-radius:22px;text-align:center;background:rgba(255,255,255,.6)}.places-empty strong{display:block;font:750 20px/1.2 Sora,Inter,sans-serif}.places-empty p{margin:8px 0 0;color:#728899;font-size:13px}.places-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:8px}.places-pagination button{min-width:42px;height:42px;border:1px solid var(--pl-line);border-radius:12px;background:#fff;color:var(--pl-ink);font-weight:800;cursor:pointer}.places-pagination button.is-active{border-color:var(--pl-t);background:#eafafa;color:var(--pl-t2)}.places-pagination button:disabled{opacity:.4;cursor:not-allowed}
@media(min-width:700px){.places-filter-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.places-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.places-tools{padding:20px}}
@media(max-width:560px){.places-main{padding-top:28px}.places-tools{padding:14px;border-radius:20px}.places-search{grid-template-columns:1fr}.places-search button{width:100%}.places-province{grid-template-columns:1fr}.places-province select{width:100%;min-width:0}.places-results-head{align-items:start}.places-card h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.places-loading span{animation:none}}
