/* A vanity page renders through [lc_place], so the theme prints the WP page title above our own
   hero H1 — the same words twice. The place's own heading is .lc-place h1. */
body.lc-place-page .uk-article-title{display:none}

/* NOTE: do NOT put `overflow-x:clip` (or hidden) on body to contain the full-bleed hero. With
   overflow-y left visible the other axis computes to `auto`, which makes body a scroll container —
   that breaks the theme's sticky header and pegged the browser on pages carrying a site plan, whose
   filter bar remeasures against the scrollport. Containment is handled per-page below instead. */

/* LC Place pages — /places/<slug>/ and any vanity page carrying [lc_place].
   Inherits the house language: square corners, PT Serif for reading, Archivo for micro-labels,
   Montserrat left alone (it is the brand face and belongs to the masthead). */
.lc-place{
  --lc-ink:#1a1a1a; --lc-muted:#6b6b6b; --lc-line:#e5e5e5;
  --lc-bg:#fff; --lc-bg-soft:#fafafa; --lc-accent:#2f6f57;
  --lc-shadow:0 6px 24px rgba(0,0,0,.10);
  --lc-label:"Archivo",-apple-system,sans-serif;
  --lc-serif:"PT Serif",Georgia,serif;
  color:var(--lc-ink);font-family:var(--lc-serif);background:var(--lc-bg);
}

/* ---- Hero ------------------------------------------------------------------------------ */
.lc-place-hero{padding:64px 24px 40px;max-width:1280px;margin:0 auto}
/* Deliberately NOT full-bleed. A 100vw hero with a negative margin overflows by the scrollbar width,
   and the theme's UIkit sticky header remeasures the viewport on scroll — the two drove each other in
   a loop that pegged the browser (desktop on pages carrying a site plan, and at 414px on every place
   page). Fixing the vw maths properly needs JS to measure the scrollbar, which is not worth it for a
   hero. Contained, tall, with a real scrim and white type, this still carries the first screen. */
.lc-place-hero--img{
  padding:0;position:relative;min-height:58vh;
  width:auto;max-width:1280px;margin:0 auto;
  background-size:cover;background-position:center;display:flex;align-items:flex-end;
}
.lc-place-hero-scrim{
  width:100%;padding:150px 24px 52px;
  background:linear-gradient(to top,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 38%,rgba(0,0,0,.20) 72%,rgba(0,0,0,0) 100%);
}
.lc-place-hero-scrim > div{max-width:1280px;margin:0 auto}
/* The theme colours headings itself and wins on specificity, which shipped a near-black H1 on a
   sunset photograph. State every colour explicitly rather than relying on inheritance. */
.lc-place-hero--img,
.lc-place-hero--img h1,
.lc-place-hero--img a{color:#fff}
.lc-place-hero--img h1{text-shadow:0 2px 28px rgba(0,0,0,.45)}

/* CC-BY and CC-BY-SA require a visible credit. Quiet, but genuinely readable. */
.lc-place-hero-credit{
  position:absolute;right:12px;bottom:8px;margin:0;
  font-family:var(--lc-label);font-size:9px;letter-spacing:.4px;
  color:rgba(255,255,255,.62);text-shadow:0 1px 4px rgba(0,0,0,.6);max-width:60%;text-align:right;
}

.lc-place-kicker{
  font-family:var(--lc-label);text-transform:uppercase;letter-spacing:2px;
  font-size:10px;font-weight:600;margin:0 0 10px;color:var(--lc-muted);
}
.lc-place-hero--img .lc-place-kicker,
.lc-place-hero--img .lc-place-kicker a{color:rgba(255,255,255,.86)}
.lc-place-kicker a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.lc-place h1{
  font-family:var(--lc-serif);font-weight:400;line-height:1.04;margin:0;
  font-size:clamp(34px,5.4vw,60px);letter-spacing:-.01em;
}
.lc-place-tally{
  font-family:var(--lc-serif);font-size:clamp(15px,1.6vw,19px);line-height:1.45;
  margin:14px 0 0;max-width:44ch;color:var(--lc-muted);
}
.lc-place-hero--img .lc-place-tally{color:rgba(255,255,255,.88)}
.lc-place-blurb{margin:16px 0 0;max-width:60ch;font-size:16px;line-height:1.6}
.lc-place-blurb p{margin:0 0 .7em}
.lc-place-hero--img .lc-place-blurb{color:rgba(255,255,255,.9)}

/* On a place whose centrepiece is a drawn site plan the photograph yields a little height — the
   drawing is what the visitor came for. */
.lc-place--plan .lc-place-hero--img{min-height:46vh}
.lc-place--plan .lc-place-hero-scrim{padding:110px 28px 40px}

/* A long editorial intro reads below the photograph, set for reading rather than as a caption. */
.lc-place-intro{
  max-width:640px;margin:0 auto;padding:44px 24px 0;
  font-size:17px;line-height:1.65;color:var(--lc-ink);
}
.lc-place-intro p{margin:0 0 1em}
.lc-place-intro p:last-child{margin-bottom:0}
.lc-place-intro p:first-child{font-size:19px;line-height:1.55}

/* ---- Sections -------------------------------------------------------------------------- */
.lc-place-section{max-width:1280px;margin:0 auto;padding:52px 24px 0}
.lc-place-section:last-child{padding-bottom:72px}
.lc-place-section h2{
  font-family:var(--lc-serif);font-weight:400;font-size:clamp(22px,2.4vw,30px);
  margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid var(--lc-line);
  display:flex;align-items:baseline;gap:12px;
}
.lc-place-count{
  font-family:var(--lc-label);font-size:11px;font-weight:600;letter-spacing:1px;
  color:var(--lc-muted);
}

/* A checkable sentence about the section — set for reading, because being quotable is the point. */
.lc-place-fact{
  margin:-8px 0 20px;
  font-family:var(--lc-serif);
  font-size:15px;
  line-height:1.5;
  color:var(--lc-muted);
  max-width:62ch;
}

/* ---- Cards ----------------------------------------------------------------------------- */
.lc-place-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:26px 22px}
.lc-place-card{
  display:block;text-decoration:none;color:inherit;border-radius:0;
  transition:transform .18s ease,box-shadow .18s ease;
}
.lc-place-card:hover{transform:translateY(-3px)}
.lc-place-card-img{
  display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--lc-bg-soft);
}
.lc-place-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.lc-place-card:hover .lc-place-card-img img{transform:scale(1.04)}
.lc-place-card:hover .lc-place-card-img{box-shadow:var(--lc-shadow)}
.lc-place-card-body{display:block;padding:11px 2px 0}
.lc-place-card-name{
  display:block;font-family:var(--lc-serif);font-size:16px;line-height:1.3;color:var(--lc-ink);
}
.lc-place-card:hover .lc-place-card-name{color:var(--lc-accent)}
.lc-place-card-note{
  display:block;margin-top:5px;font-family:var(--lc-label);text-transform:uppercase;
  letter-spacing:1.2px;font-size:9.5px;font-weight:600;color:var(--lc-muted);
}
/* No photograph: an ink plate, not a pale rectangle waiting for an image. A place without a picture
   of its own is common and will stay common — it has to look chosen. Sits happily beside photographs
   in the same grid, the way a typographic plate sits beside a plate in a book. */
.lc-place-card--type{
  background:var(--lc-ink);border:0;
  display:flex;align-items:flex-end;min-height:150px;
}
.lc-place-card--type .lc-place-card-body{padding:18px 16px}
.lc-place-card--type .lc-place-card-name{
  font-size:19px;line-height:1.18;color:#fff;
}
.lc-place-card--type:hover .lc-place-card-name{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lc-place-card--type .lc-place-card-note{color:rgba(255,255,255,.62)}

/* ---- Places inside this place ---------------------------------------------------------- */
.lc-place-children{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px 26px}
.lc-place-children .lc-place-card-img{aspect-ratio:16/10}
.lc-place-children .lc-place-card-name{font-size:24px;line-height:1.16}
.lc-place-children .lc-place-card-note{
  text-transform:none;letter-spacing:0;font-family:var(--lc-serif);font-size:14px;
  font-weight:400;margin-top:7px;line-height:1.45;
}
.lc-place-children .lc-place-card--type{min-height:190px}

/* ---- The index at /places/ -------------------------------------------------------------- */
/* A town heads its section and its districts sit under it, so the nesting is visible. The town's
   own card leads the row — it is a place you can visit, not just a heading. */
.lc-places-index .lc-place-section{padding-top:56px}
.lc-places-index .lc-place-section h2{margin-bottom:6px;border-bottom:0;padding-bottom:0}
.lc-places-index .lc-place-section h2 a{color:inherit;text-decoration:none}
.lc-places-index .lc-place-section h2 a:hover{color:var(--lc-accent)}
.lc-places-index-tally{
  font-family:var(--lc-label);text-transform:uppercase;letter-spacing:1.2px;
  font-size:9.5px;font-weight:600;color:var(--lc-muted);
  margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--lc-line);
}
.lc-places-index .lc-place-children{grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}
.lc-places-index .lc-place-children .lc-place-card-name{font-size:20px}
.lc-places-index .lc-place-children .lc-place-card-note{font-size:13px;line-height:1.4}

/* ---- Named, not pictured --------------------------------------------------------------- */
.lc-place-quiet{font-size:15px;line-height:2;color:var(--lc-muted);margin:0;max-width:80ch}
.lc-place-quiet a{color:var(--lc-ink);text-decoration:none;border-bottom:1px solid var(--lc-line)}
.lc-place-quiet a:hover{color:var(--lc-accent);border-bottom-color:var(--lc-accent)}

/* ---- The site plan sits between hero and roster ----------------------------------------- */
.lc-place #lc-mall-map{margin:44px auto 0;max-width:1280px}

@media (max-width:640px){
  .lc-place-hero--img{min-height:44vh}
  .lc-place-hero-scrim{padding:90px 18px 34px}
  .lc-place-hero{padding:40px 18px 28px}
  .lc-place-section{padding:38px 18px 0}
  .lc-place-grid{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:22px 16px}
  .lc-place-children{grid-template-columns:1fr}
  .lc-place-card-name{font-size:15px}
}
