/* From the approved mockup (Dog Parks Map.dc.html) */
html,body{margin:0;height:100%;background:#F7F5F0;color:#14231B;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#14231B;text-decoration:underline;text-underline-offset:2px}
a:hover{color:#1F8A4C}
button{font:inherit;color:inherit}
input,select,textarea{font:inherit;color:inherit}
@keyframes pscPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
input[data-scrub]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer}
input[data-scrub]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#E6E2D8}
input[data-scrub]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#14231B;border:3px solid #fff;box-shadow:0 1px 4px rgba(20,35,27,.35);margin-top:-7px}
input[data-scrub]::-moz-range-track{height:4px;border-radius:4px;background:#E6E2D8}
input[data-scrub]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#14231B;border:3px solid #fff}
[data-scroll]::-webkit-scrollbar{width:8px;height:0}
[data-scroll]::-webkit-scrollbar-thumb{background:#DAD6CC;border-radius:8px}

/* Map */
.maplibregl-map{font-family:'Schibsted Grotesk',system-ui,sans-serif;background:#EDEAE2}
.maplibregl-ctrl-attrib{font-size:10px!important;background:rgba(255,255,255,.8)!important}
.maplibregl-ctrl-bottom-right{z-index:1}
.psc-pin{cursor:pointer}
.psc-pin .psc-b{transition:transform .15s ease}
.psc-pin:hover .psc-b{transform:scale(1.06)}

/* Focus rings for keyboard users (WCAG) */
button:focus-visible,[role=button]:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #2169B8;outline-offset:2px}
.psc-card:focus-visible{outline-offset:-2px}
.psc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Form controls added for corrections / photos / add a park */
.psc-field{width:100%;height:44px;border:1px solid #E6E2D8;border-radius:12px;background:#F7F5F0;padding:0 14px;font-size:14px;outline:none}
.psc-field:focus{border-color:#14231B;background:#fff}
textarea.psc-field{height:auto;min-height:84px;padding:11px 14px;resize:vertical;line-height:1.45}

/* Toast */
.psc-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:3000;background:#14231B;color:#fff;font:600 13.5px 'Schibsted Grotesk',system-ui,sans-serif;padding:11px 16px;border-radius:12px;box-shadow:0 10px 32px -8px rgba(20,35,27,.45);max-width:calc(100vw - 32px);text-align:center;animation:pscIn .18s ease-out}
@keyframes pscIn{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}

/* Crosshair for "Add a park" */
.psc-cross{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;pointer-events:none;z-index:450}

/* ---------- Tablet ---------- */
@media (max-width:1180px){
  .psc-addlbl{display:none}
  .psc-addbtn{padding:0 11px!important}
}
@media (max-width:1023px){
  .psc-aside{width:392px!important;flex-basis:392px!important}
  .psc-brandtxt{display:none!important}
  .psc-hdr{gap:14px!important}
}

/* ---------- Mobile (bottom sheet) ---------- */
.psc-sheet{transition:height .26s cubic-bezier(.2,.8,.2,1)}
.psc-sheet.dragging{transition:none}
@media (max-width:767px){
  .psc-chip{height:40px!important}
  .psc-seg>button{min-height:40px}
  .psc-toast{bottom:auto;top:72px}
}
@media (max-width:480px){ .psc-beta{display:none} }
@media (max-width:400px){ .psc-mdiv{display:none} }
