/* Single listing page styles, extracted 26/08/2026 from swiss-parking.php.
   Five inline blocks totalling ~10 KB were re-sent on every page view and
   pushed the H1 down to byte 17,860. One cached file instead. */
      .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; }

  .pk-about-card { background:#fff; }
  .pk-about .pk-ab-lead { font-size:1.06rem; line-height:1.75; color:#2f3740; margin:0 0 6px; }
  .pk-about .pk-ab-lead strong { color:#044d98; }
  .pk-about .pk-ab-mail { color:#044d98; font-weight:600; text-decoration:none; white-space:nowrap; }
  .pk-about .pk-ab-mail:hover { color:#e10600; }
  .pk-ab-sec { border-top:1px solid #eef2f7; padding-top:16px; margin-top:18px; }
  .pk-ab-sec h3 { display:flex; align-items:center; gap:9px; color:#044d98; font-size:1.02rem;
                  font-weight:700; margin:0 0 8px; }
  .pk-ab-sec h3 i { color:#e10600; font-size:.92rem; width:18px; text-align:center; }
  .pk-ab-sec p { font-size:1rem; line-height:1.75; color:#3c4650; margin:0; }
  .pk-ab-data { margin-top:10px; background:#f4f7fb; border-radius:12px; padding:12px 16px;
                font-size:.95rem; line-height:1.8; color:#2f3740; }
  .pk-ab-data strong { color:#044d98; }
  .pk-ab-note { margin:10px 0 0 !important; font-size:.95rem !important; color:#3c4650; }
  .pk-ab-note i { color:#044d98; margin-right:6px; }
  .pk-ab-tip { margin:18px 0 0; padding:12px 16px; background:#fff6f5; border-left:3px solid #e10600;
               border-radius:8px; font-size:.97rem; line-height:1.7; color:#3c4650; }
  .pk-ab-tip i { color:#e10600; margin-right:7px; }
  @media (min-width:992px) { .pk-about { column-gap:34px; } }

  /* Same cluster and popup skin as the FindParkingMap city page. */
  #pkCityMap .leaflet-popup-content-wrapper { border-radius:14px; box-shadow:0 10px 26px rgba(0,0,0,.25); }
  #pkCityMap .leaflet-popup-content { margin:16px 18px; font-family:'Montserrat',sans-serif; min-width:220px; }
  .pk-popup b { color:#044d98; font-size:1.02rem; display:block; margin-bottom:4px; }
  .pk-popup .addr { color:#555; font-size:.88rem; line-height:1.5; display:block; }
  .pk-popup .cap { display:inline-block; margin-top:8px; background:#e8f6ec; color:#1c7c3c; font-weight:700; font-size:.82rem; border-radius:12px; padding:3px 10px; }
  .pk-popup a.chk { display:block; text-align:center; margin-top:12px; background:#044d98; color:#fff; font-weight:700; border-radius:24px; padding:11px 20px; text-decoration:none; font-size:.95rem; transition:background .2s ease; }
  .pk-popup a.chk:hover { background:#e10600; color:#fff; }
  .marker-cluster, .marker-cluster-small, .marker-cluster-medium, .marker-cluster-large { background:rgba(4,77,152,.25) !important; }
  .marker-cluster div, .marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background:#044d98 !important; color:#fff !important; font-weight:600; }

/* city facts block, extracted from includes/pk-city-facts.php */
  .pk-cityfacts { background:#f4f7fb; border-radius:16px; padding:22px 24px 30px; }
  .pk-cityfacts h2 { color:#000; font-size:clamp(1.05rem, 2vw, 1.35rem); font-weight:700; margin:26px 0 14px; }
  .pk-cityfacts h2:first-child { margin-top:0; }
  .pk-cityfacts .intro { color:#3c4650; font-size:.95rem; line-height:1.6; margin:0 0 18px; }
  .pk-cityfacts .pk-facts { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px; }
  .pk-cityfacts .pk-facts .tile { background:#fff; border-radius:12px; padding:14px 16px; box-shadow:0 4px 14px rgba(4,77,152,.08); }
  .pk-cityfacts .pk-facts .tile b { display:block; color:#044d98; font-size:1.35rem; font-weight:700; }
  .pk-cityfacts .pk-facts .tile span { color:#5a6572; font-size:.82rem; }
  .pk-cityfacts .pk-largest { color:#3c4650; font-size:.92rem; margin:12px 0 0; }
  .pk-cityfacts .pk-largest a { color:#044d98; font-weight:700; text-decoration:none; }
  .pk-cityfacts .pk-largest a:hover { color:#e10600; }
  .pk-cityfacts .pk-nearby { display:flex; flex-wrap:wrap; gap:10px; }
  .pk-cityfacts .pk-nearby a { background:#fff; border-radius:22px; padding:9px 16px; color:#044d98; font-weight:700; font-size:.88rem; text-decoration:none; box-shadow:0 3px 10px rgba(4,77,152,.07); }
  .pk-cityfacts .pk-nearby a:hover { color:#e10600; }
  .pk-cityfacts .pk-nearby a span { color:#8a94a0; font-weight:500; font-size:.8rem; margin-left:6px; }
  .pk-cityfacts .pk-free a { color:#1c7c3c; }
  .pk-cityfacts .pk-free a:hover { color:#e10600; }
  /* The questions follow the nearby-city chips with no heading between them,
     so the gap is what separates the two blocks. */
  .pk-cityfacts .pk-cityfaq { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:14px; margin-top:32px; }
  .pk-cityfacts .pk-cityfaq .qa { background:#fff; border-radius:12px; padding:14px 16px; box-shadow:0 3px 10px rgba(4,77,152,.07); }
  .pk-cityfacts .pk-cityfaq h3 { color:#044d98; font-size:.95rem; font-weight:700; margin:0 0 6px; }
  .pk-cityfacts .pk-cityfaq p { color:#3c4650; font-size:.9rem; line-height:1.6; margin:0; }

/* Moved out of pk-listing.js on 26/08/2026: the "you are here" dot and the
   fallback full-screen rules used to be injected by script at runtime. */
.pk-me-dot { width:16px; height:16px; border-radius:50%; background:#1a73e8; border:3px solid #fff;
             box-shadow:0 0 0 6px rgba(26,115,232,.25); }
#mapWrap.pk-fake-fs { position:fixed; inset:0; z-index:5000; background:#f4f7fb; padding:10px; margin:0; }
#mapWrap.pk-fake-fs #map { border-radius:10px; }
body.pk-noscroll { overflow:hidden; }

/* Related searches + the per-listing keyword block (26/08/2026). Both were
   inline styles on the markup; they belong here with everything else. */
#pk-related, #pk-keywords { border-radius:16px; background:#fff; }
#pk-related h2, #pk-keywords h2 { font-weight:800; color:#000; font-size:1.35rem; display:flex;
                                  align-items:center; gap:10px; }
#pk-related h2 i, #pk-keywords h2 i { color:#e10600; font-size:1.05rem; }
.pk-related-chips { display:flex; gap:.5rem; flex-wrap:wrap; }
#pk-keywords { margin-top:18px; padding:24px; box-shadow:0 .125rem .25rem rgba(0,0,0,.075); }
/* Plain list on purpose: these are search terms, not navigation, and dressing
   them as buttons invited a click that goes nowhere. The button styling lives
   on Related Searches, which does link somewhere. */
.pk-kw-list { list-style:none; margin:0; padding:0; columns:2; column-gap:34px; }
.pk-kw-list li { color:#3c4650; font-size:.95rem; line-height:2; break-inside:avoid; }
.pk-kw-list li::before { content:"\2022"; color:#e10600; font-weight:700; margin-right:9px; }
@media (max-width:640px) { .pk-kw-list { columns:1; } }
#pk-keywords { box-shadow:none; border:1px solid #e9eef5; }
.pk-related-chips .pk-chip { border:1px solid #c9d6e4; color:#044d98; border-radius:50px; font-weight:600;
                             padding:9px 18px; background:#fff; text-decoration:none; }
.pk-related-chips .pk-chip:hover { background:#044d98; color:#fff; }

.pk-citymap-sub { color:#8a94a0; font-size:.9rem; margin:-2px 0 14px; }

/* "Load more" under the city map. Fleet blue with white text, kept frosted so it
   still reads as a map control. The embedded map is capped at 400 points, so this
   is how a visitor reaches the full city map. */
.pk-loadmore { display:inline-flex; align-items:center; gap:.55rem; margin:14px 0 0;
  padding:11px 20px; border-radius:14px; font-weight:700; font-size:.95rem;
  color:#fff; text-decoration:none;
  background:rgba(4,77,152,.88);
  -webkit-backdrop-filter:blur(10px) saturate(140%); backdrop-filter:blur(10px) saturate(140%);
  border:1px solid rgba(255,255,255,.18); box-shadow:0 2px 10px rgba(4,77,152,.28);
  transition:background .15s ease, box-shadow .15s ease, transform .15s ease; }
.pk-loadmore:hover, .pk-loadmore:focus { background:#044d98; color:#fff;
  box-shadow:0 4px 16px rgba(4,77,152,.38); transform:translateY(-1px); }
.pk-loadmore i { font-size:1.05rem; color:#fff; }

/* 26/08/2026 desktop reading size. The article and the blocks under the city map
   were set a notch smaller than the cards around them (1rem vs the 19px the card
   body uses), which made the longest text on the page the hardest to read. Lifted
   to match on desktop only; phone sizes are unchanged, where 1rem is right. */
@media (min-width:992px) {
  .pk-about .pk-ab-lead        { font-size:1.19rem; line-height:1.75; }
  .pk-ab-sec p                 { font-size:1.19rem; line-height:1.75; }
  .pk-ab-sec h3                { font-size:1.15rem; }
  .pk-ab-data                  { font-size:1.06rem; line-height:1.7; }
  .pk-ab-note                  { font-size:1.12rem !important; }
  .pk-ab-tip                   { font-size:1.12rem; }
  .pk-citymap-sub              { font-size:1.06rem; }
  .pk-cityfacts .pk-largest    { font-size:1.12rem; }
  .pk-cityfacts .pk-cityfaq p  { font-size:1.06rem; line-height:1.7; }
  .pk-cityfacts .pk-cityfaq h3 { font-size:1.1rem; }
  .pk-cityfacts .pk-facts .tile span { font-size:.95rem; }
  .pk-cityfacts .pk-nearby a   { font-size:1rem; }
  .pk-kw-list li               { font-size:1.08rem; }
}
