/* Extracted from swiss-parking.php on 26/08/2026 so the browser caches it
   instead of re-downloading it inside every listing page. */
.pk-fav-btn { background:#fff; border:2px solid #e6ebf2; border-radius:50%; width:52px; height:52px; flex:0 0 52px; font-size:1.3rem; color:#b9c6d4; cursor:pointer; transition:color .2s, border-color .2s, transform .15s; }
      .pk-fav-btn:hover { color:#e10600; border-color:#e10600; transform:scale(1.06); }
      .pk-fav-btn.pk-fav-on { color:#e10600; border-color:#e10600; }
      @media (max-width:768px) { .pk-fav-btn.pk-fav-anon { display:none; } }
body { font-family:'Montserrat',sans-serif; }
      .pk-card { border:none; border-radius:16px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
      .pk-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.18) !important; }
      .pk-chip { border:1px solid #c9d6e4; color:#044d98; border-radius:50px; font-weight:600; }
      .pk-chip:hover { background:#044d98; color:#fff; }
      .pk-btn-blue { background:#044d98; color:#fff; border:none; border-radius:26px; padding:12px 26px; font-weight:600; text-decoration:none; display:inline-block; }
      .pk-btn-blue:hover { background:#e10600; color:#fff; }
      .pk-btn-center { display:block; width:-moz-fit-content; width:fit-content; margin-left:auto; margin-right:auto; text-align:center; padding:16px 38px; font-size:1.22rem; border-radius:50px; background:#1c7c3c; }
      .pk-btn-center:hover { background:#166430; color:#fff; }
      /* Directions button in the action row: red, scoped so other blue buttons stay blue */
      .pk-actions a.pk-btn-blue { background:#e10600; }
      .pk-actions a.pk-btn-blue:hover { background:#b00500; color:#fff; }
      .pk-btn-dark { background:#000; color:#fff; border:none; border-radius:26px; padding:12px 26px; font-weight:600; text-decoration:none; display:inline-block; }
      .pk-btn-dark:hover { background:#044d98; color:#fff; }
      /* nearby parkings: small icon left, data right, 4 per row on desktop */
      .pk-near { display:flex; gap:0; align-items:stretch; height:100%; padding:0; overflow:hidden;
                 background:#fff; border-radius:14px; border:1px solid #e3e7ed;
                 box-shadow:0 2px 8px rgba(4,77,152,.06);
                 text-decoration:none; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
      .pk-near:hover { box-shadow:0 6px 18px rgba(4,77,152,.16); border-color:#c9d3e0; transform:translateY(-2px); }
      /* flush to the card edge, full height, a quarter of the width */
      .pk-near-ico { flex:0 0 25%; border-radius:0; align-self:stretch;
                     background:#044d98; display:flex; align-items:center;
                     justify-content:center; color:#fff; font-size:2rem; font-weight:800; line-height:1; }
      .pk-near-body { min-width:0; flex:1 1 auto; padding:12px 14px; display:flex; flex-direction:column; gap:3px; justify-content:center; }
      .pk-near-name { font-weight:700; color:#044d98; font-size:.98rem; line-height:1.25; }
      .pk-near-addr { color:#6b7480; font-size:.8rem; line-height:1.35;
                      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
      .pk-near-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:3px; }
      .pk-near-cap { background:#e8f6ec; color:#1c7c3c; font-weight:700; font-size:.75rem;
                     border-radius:12px; padding:2px 9px; }
      .pk-near-km { color:#000; font-weight:600; font-size:.75rem; padding:2px 0; }
      .pk-actions a { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:26px; padding:12px 26px; font-weight:600; font-size:1rem; line-height:1.5; text-decoration:none; border:none; }
      .accordion-button:not(.collapsed) { background:#f4f7fb; color:#044d98; font-weight:600; }
