.page-heading strong { color:#159da1; }
.data-type-chips button { display:flex; align-items:center; gap:6px; }
.data-type-chips button b { padding:2px 5px; border-radius:999px; color:#777a73; background:#eeece7; font-size:6px; }
.data-type-chips button.active b { color:#147c80; background:rgba(255,255,255,.7); }
.area-filter { display:flex; gap:7px; margin-top:7px; padding:0 20px 4px; overflow-x:auto; scrollbar-width:none; }
.area-filter::-webkit-scrollbar { display:none; }
.area-filter button { flex:0 0 auto; min-height:30px; padding:0 10px; border:0; border-radius:9px; color:#787a74; background:#eceae4; font-size:7px; font-weight:700; }
.area-filter button span { margin-left:3px; color:#aaa9a2; }
.area-filter button.active { color:#fff; background:#293536; }
.area-filter button.active span { color:#b7cfcd; }
.cache-result-head { align-items:flex-end; }
.cache-result-head>div h2 { margin:0; }
.cache-result-head>div small { display:block; margin-top:4px; color:#92948d; font-size:6px; }
.cache-place-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 16px; }
.cache-place-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 7px 20px rgba(29,30,27,.045); }
.cache-visual { position:relative; display:flex; height:105px; padding:12px; overflow:hidden; color:#fff; flex-direction:column; justify-content:space-between; }
.cache-place-photo { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
.cache-visual::before,.cache-visual::after { position:absolute; border:1px solid rgba(255,255,255,.22); border-radius:50%; content:""; }
.cache-visual::before { right:-35px; bottom:-55px; width:125px; height:125px; box-shadow:0 0 0 18px rgba(255,255,255,.05); }
.cache-visual::after { top:-35px; left:45px; width:85px; height:85px; }
.cache-visual small { position:relative; z-index:1; font-size:6px; font-weight:900; letter-spacing:.1em; }
.cache-visual strong { position:absolute; right:12px; bottom:-5px; color:rgba(255,255,255,.22); font-size:72px; font-weight:900; line-height:1; }
.cache-visual span { position:relative; z-index:1; align-self:flex-start; padding:4px 6px; border-radius:6px; background:rgba(0,0,0,.16); font-size:6px; font-weight:800; }
.cache-visual.has-photo::before { inset:0; z-index:1; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(180deg,rgba(10,14,13,.38),rgba(10,14,13,.04) 46%,rgba(10,14,13,.46)); box-shadow:none; }
.cache-visual.has-photo::after { display:none; }
.cache-visual.has-photo small,.cache-visual.has-photo span { z-index:2; text-shadow:0 1px 8px rgba(0,0,0,.28); }
.cache-visual.has-photo strong { display:none; }
.cache-visual.visual-violet { background:linear-gradient(145deg,#a792e9,#7054bc); }
.cache-visual.visual-pink { background:linear-gradient(145deg,#f39abb,#cf4f82); }
.cache-visual.visual-blue { background:linear-gradient(145deg,#9bb5ed,#6081cc); }
.cache-visual.visual-navy { background:linear-gradient(145deg,#65858b,#304c52); }
.cache-visual.visual-orange { background:linear-gradient(145deg,#edaa87,#c4633d); }
.cache-visual.visual-green { background:linear-gradient(145deg,#90bca0,#4c7d61); }
.cache-visual.visual-beige { background:linear-gradient(145deg,#d8b78d,#9c6934); }
.cache-visual.visual-coral { background:linear-gradient(145deg,#ee9790,#c64b45); }
.cache-visual.visual-mint { background:linear-gradient(145deg,#75ccce,#2b8f93); }
.cache-visual.visual-gray { background:linear-gradient(145deg,#a8aaa5,#71736d); }
.cache-place-copy { min-width:0; padding:12px; }
.cache-place-copy>small { display:block; overflow:hidden; color:#239da1; font-size:6px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.cache-place-copy h3 { margin:6px 0 5px; overflow:hidden; font-size:12px; letter-spacing:-.025em; text-overflow:ellipsis; white-space:nowrap; }
.cache-place-copy>p { height:22px; margin:0; overflow:hidden; color:#777a74; font-size:7px; line-height:1.55; }
.cache-place-copy>div { display:grid; grid-template-columns:minmax(0,1fr) 15px; align-items:center; gap:5px; margin-top:9px; padding-top:8px; border-top:1px solid #efede7; }
.cache-place-copy>div span { overflow:hidden; color:#999a94; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.cache-place-copy>div svg { width:14px; height:14px; color:#596763; }
.load-more-places { display:flex; align-items:center; justify-content:space-between; width:calc(100% - 32px); min-height:49px; margin:15px 16px 8px; padding:0 15px; border:1px solid #c9dfdd; border-radius:14px; color:#277d80; background:#eff9f8; font-size:8px; font-weight:900; }
.load-more-places span { color:#70908e; font-size:7px; }
.load-more-places:disabled { opacity:.65; }
@media(max-width:359px){.area-filter{padding-right:15px;padding-left:15px}.cache-place-grid{gap:8px;padding-right:12px;padding-left:12px}.load-more-places{width:calc(100% - 24px);margin-right:12px;margin-left:12px}}
