.mapheader{padding:8px 20px 12px;background:#fffdf5;flex-shrink:0}.mapsearch{display:flex;gap:8px;align-items:center}.mapsearch .searchbox{flex:1;min-width:0}.mapsearch .searchbox button{display:flex;align-items:center;gap:8px;width:100%;font-size:14px;color:#696454;text-align:left}.locationline{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:4px}.locationline button{font-size:12px;display:flex;align-items:center;gap:4px}.locationline .icon{width:14px;height:14px}.locationline .substate{font-size:12px;color:#696454}.layers{display:flex;background:#f1eddf;border-radius:14px;padding:4px;margin-top:8px}.layers button{flex:1;min-height:44px;border-radius:10px;font-size:14px;color:#696454;display:flex;gap:6px;align-items:center;justify-content:center}.layers button.on{background:#f3d66f;color:#242116;font-weight:600}.layers .icon{width:18px;height:18px}.categories{display:flex;gap:8px;margin-top:12px;overflow:auto;scrollbar-width:none}.categories button{flex-shrink:0;height:44px;padding:0 12px;border-radius:12px;background:white;border:1px solid #a49b7c;font-size:14px}.categories button.on{color:#242116;background:#f8f0d6;border:2px solid #735300}.mapstage{position:relative;flex:1;min-height:0;overflow:hidden;background:#eef0e8;touch-action:none;user-select:none}.mapdrawing{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.maplabel{position:absolute;color:#6c7764;font-size:12px;pointer-events:none}.waterlabel{color:#526e86;letter-spacing:4px;transform:rotate(-15deg)}.mapbadge{position:absolute;left:12px;top:12px;font-size:12px;background:#ffffffed;border:1px solid #eee9d9;border-radius:8px;padding:4px 8px;color:#696454}.mapbadge .icon{width:14px;height:14px}.maptools{position:absolute;right:12px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:2}.maptools.raised{bottom:238px}.maptools button{width:44px;height:44px;border:1px solid #eee9d9;border-radius:14px;background:white;box-shadow:0 4px 16px #24211614;display:grid;place-items:center}.marker{position:absolute;width:48px;height:48px;border-radius:16px;border:2px solid white;background:#fff;display:grid;place-items:center;box-shadow:0 4px 16px #24211622;z-index:1}.marker.park{color:#206343;background:#e9f5ed}.marker.hospital{color:#594900;background:#f8f0d6}.marker.groom{color:#65500d;background:#f7edc9}.marker.selected{border:3px solid #242116;box-shadow:0 0 0 5px #f3d66f70}.marker.pet{border-radius:50%;width:52px;height:52px;background:white;padding:3px}.marker.pet img{width:100%;height:100%;object-fit:cover;border-radius:50%}.fuzzy{position:absolute;width:112px;height:112px;border:1px dashed #65500d;border-radius:50%;background:#f7edc955;pointer-events:none}.cluster{position:absolute;background:#242116;color:white;border:4px solid white;border-radius:50%;width:48px;height:48px;z-index:1;font-weight:600}.bottomhint{position:absolute;left:20px;right:76px;bottom:24px;border-radius:16px;background:#ffffffef;border:1px solid #eee9d9;padding:12px;font-size:12px;line-height:20px;color:#696454}.mapcard{position:absolute;bottom:12px;left:12px;right:12px;border-radius:24px;background:white;padding:12px 16px 16px;box-shadow:0 4px 16px #24211614;z-index:3;border:1px solid #eee9d9}.mapcard .handle{margin-bottom:8px}.previewhead{display:flex;align-items:center;justify-content:space-between;gap:8px}.previewhead small{font-size:12px;color:#696454}.previewrow{display:flex;gap:12px;align-items:center}.previewrow>img{width:76px;height:76px;object-fit:cover;border-radius:16px;background:#f1eddf}.previewrow h2{font-size:18px;line-height:26px;margin:0}.previewrow .meta{font-size:12px;line-height:18px;margin:4px 0 8px}.previewactions{display:flex;align-items:center;gap:8px;margin-top:12px;border-top:1px solid #eee9d9;padding-top:12px}.previewactions small{flex:1;font-size:12px;line-height:18px;color:#696454}.previewactions .primary{font-size:14px;height:48px}.range-search{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:3;background:#242116;color:white;border-radius:14px;padding:0 16px;min-height:44px;font-size:14px;white-space:nowrap}.searchpage{padding-top:8px}.resultcard{padding:16px;background:white;border:1px solid #eee9d9;border-radius:20px;margin:12px 0}.resultrow{display:flex;gap:12px}.resultrow img{width:80px;height:88px;border-radius:14px;object-fit:cover}.resultrow h2{font-size:16px;line-height:24px;margin:0 0 4px}.resultrow p{font-size:12px;line-height:18px;color:#696454;margin:4px 0}.resultfooter{border-top:1px solid #eee9d9;margin-top:12px;padding-top:8px;display:flex;align-items:center;justify-content:space-between}.resultfooter small{font-size:12px;color:#696454}.resultfooter button{font-size:14px;display:flex;align-items:center;gap:6px;color:#594900}.detailhero{height:220px;position:relative;margin:0 -20px}.detailhero img{width:100%;height:100%;object-fit:cover}.detailhero .caption{position:absolute;bottom:12px;right:12px;background:#242116cc;color:white;border-radius:8px;padding:3px 8px;font-size:12px}.placedetail{padding-top:20px}.placedetail h1{font:var(--font-title);margin:0 0 8px}.rating{font-size:14px;color:#735300;display:flex;align-items:center;gap:6px}.rating small{font-size:12px;color:#696454}.detailfact{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #eee9d9;font-size:14px;line-height:22px}.detailfact .icon{width:20px;height:20px;margin-top:2px;color:#696454}.detailfact small{display:block;font-size:12px;color:#696454;line-height:20px}.rulebox{background:white;border:1px solid #eee9d9;border-radius:20px;padding:4px 16px}.ruleline{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eee9d9}.ruleline:last-child{border:0}.ruleline .ruleicon{background:#e9f5ed;color:#206343;border-radius:8px;padding:4px;display:flex}.ruleicon .icon{width:18px;height:18px}.ruleline b{font-size:14px;line-height:22px}.ruleline p{font-size:14px;line-height:22px;color:#696454;margin:4px 0 0}.feedbackcard{background:white;border:1px solid #eee9d9;border-radius:16px;padding:16px;margin:12px 0}.feedbackcard .who{display:flex;align-items:center;gap:8px}.feedbackcard img{width:32px;height:32px;border-radius:50%;object-fit:cover}.feedbackcard b{font-size:14px}.feedbackcard small{font-size:12px;color:#696454;margin-left:auto}.feedbackcard p{font-size:14px;line-height:22px;color:#696454;margin:12px 0 0}.services{display:flex;gap:8px;flex-wrap:wrap}.service{padding:8px 12px;background:#f8f0d6;color:#594900;border-radius:12px;font-size:14px}.routeinfo{padding:12px;border-radius:12px;background:#f8f0d6;font-size:12px;line-height:20px;color:#735300}.pet-notice{font-size:12px;line-height:20px;padding:8px 12px;border-radius:12px;background:#f8f0d6;color:#594900;margin-top:12px}.emptyspace{font-size:12px;line-height:20px}.mapcard .iconbtn{height:44px}.mapstage:focus-visible{outline:2px solid #594900;outline-offset:-3px}.photo-error{background:#f1eddf;display:grid;place-items:center;color:#696454;font-size:14px}
