/* EDITED IN PLACE (10/11, docs/GRADES-ON-PAGES.md: generators are retired for built pages). This file is no longer
   generated: mocks/src/historic-place/make_css.py made its first build and now refuses to overwrite it without --force.
   Edit the rules here; tools/css_lint.py guards them (a rule two pages share goes in core.css). The note below is history. */
/* TG historic-place.css: Historic place page (carried over from the live page). Part 1 is generated by
   mocks/src/historic-place/make_css.py: the live TownTapestry app.css rules the live Historic place pages use
   (tools/css_audit.py, @media wrappers kept), minus every rule core.css already has (rules shared with another
   page file go to core.css through tools/css_dedupe.py). Part 2 is this page's additions
   (mocks/src/historic-place/historic-place-additions.css). */
.hpl-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:12px}
.hpl-photo{margin:0;border-radius:18px;overflow:hidden;background:var(--night);position:relative}
.hpl-photo img{width:100%;height:auto;max-height:560px;object-fit:cover;display:block}
.hpl-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 9px;font-size:11.5px;color:rgba(255,255,255,.85);background:linear-gradient(0deg,rgba(0,0,0,.6),transparent)}
.hpl-photo figcaption a{color:#fff;text-decoration:underline}
.hpl-photo.none{background:#fbf8f2;border:1px dashed #e2d5b9}
.hpl-none{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:60px 20px;color:var(--muted)}
.hpl-none .ic{width:44px;height:44px;color:#b7791f}
.hpl-none b{color:var(--ink);font-size:17px}
.hpl-none .btn{margin-top:8px}
.hpl-id h1{font-size:40px;letter-spacing:-.04em;line-height:1.05;margin-top:8px}
.hpl-nhl{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#8a5a00;background:#fff4d6;border:1px solid #f2dca0;padding:4px 11px;border-radius:999px}
.hpl-aka{color:var(--muted);font-size:14px;margin:8px 0 0}
.hpl-fact{margin-top:16px;padding:12px 16px;border-left:4px solid #b7791f;background:#fbf8f2;border-radius:0 12px 12px 0}
.hpl-fact b{display:block;font-size:19px;letter-spacing:-.02em;line-height:1.25}
.hpl-fact small{font-size:13.5px;color:var(--muted)}
.hpl-id .rk-row{margin-top:14px}
.hpl-id .rk i .ic{width:14px;height:14px}
.hpl-prose h2{font-size:26px;letter-spacing:-.03em;margin:4px 0 12px}
.hpl-wp{margin:14px 0 4px;padding:2px 0 2px 16px;border-left:3px solid #d9c9a6;color:var(--ink);font-size:15.5px;line-height:1.6}
.hpl-wp p{margin:0}
.hpl-wpc{margin:0 0 14px;font-size:12.5px;color:var(--muted)}
.hpl-wpc a{color:inherit;text-decoration:underline}
.hpl-nom{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:8px;background:#fff}
.hpl-nom:hover{border-color:#d9c9a6;box-shadow:0 4px 16px rgba(15,22,35,.06)}
.hpl-doc{width:52px;height:64px;border-radius:6px;background:linear-gradient(160deg,#fff,#f3ead8);border:1px solid #e2d5b9;display:grid;place-items:center;font-size:12px;font-weight:800;color:#b42318}
.hpl-nom b{display:block;font-size:15.5px}
.hpl-nom small{font-size:13px;color:var(--muted)}
.hpl-nom .go{font-size:18px;color:var(--muted)}
.hpl-rec dd{font-size:14.5px}
.hpl-years{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;position:relative}
.hpl-years li{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;position:relative}
.hpl-years li>b{font-size:24px;letter-spacing:-.03em;color:#9c6a13}
.hpl-years li.now{background:var(--accent-tint);border-color:transparent}
.hpl-years li.now>b{color:var(--accent-ink)}
.hpl-yd{position:absolute;top:14px;right:14px;color:#b7791f}
.hpl-yd .ic{width:16px;height:16px}
.hpl-years a{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--ink-2)}
.hpl-years a img{width:100%;height:84px;object-fit:cover;border-radius:8px;filter:sepia(.15)}
.hpl-years a:hover span{color:var(--accent-ink);text-decoration:underline}
.hpl-years .t{font-size:13.5px;color:var(--ink-2)}
.hpl-visit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}
.hpl-visit .tmap{height:340px;border-radius:14px}
.hpl-walk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;position:relative}
.hpl-walk::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;border-left:2px dashed #d9c9a6}
.hpl-walk li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;position:relative}
.hpl-walk .n{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #b7791f;color:#9c6a13;font-weight:800;font-size:13px;display:grid;place-items:center;z-index:1}
.hpl-walk li.me .n{background:#b7791f;color:#fff}
.hpl-walk li>span:last-child,.hpl-walk a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;background:#fff;min-width:0}
.hpl-walk a:hover{border-color:#d9c9a6}
.hpl-walk img{width:52px;height:40px;object-fit:cover;border-radius:6px;flex:none}
.hpl-walk small{font-size:12px;color:var(--muted)}
.hpl-near{display:flex;flex-direction:column;border-top:1px solid var(--hair)}
.hpl-near a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--hair)}
.hpl-near img{width:52px;height:40px;border-radius:6px;object-fit:cover;background:#fbf8f2;display:grid;place-items:center;color:#b7791f}
.hpl-near small{font-size:12px;color:var(--muted)}
.hpl-near .d{font-weight:700;font-size:14px;text-align:right}
.hpl-near .d small{display:block;font-weight:400}
.hpl-near a:hover b{color:var(--accent-ink)}
.hpl-addold{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--hair);font-size:14px;color:var(--ink-2)}
@media (max-width:1100px){
  .hpl-hero{grid-template-columns:1fr}
  .hpl-two{grid-template-columns:1fr}
  .hpl-visit{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hpl-id h1{font-size:28px}
  .hpl-fact b{font-size:17px}
  .hpl-photo img{max-height:340px}
  .hpl-visit .tmap{height:260px}
  .hpl-years{grid-template-columns:1fr 1fr}
  .hpl-nom{grid-template-columns:44px minmax(0,1fr)}
  .hpl-nom .go{display:none}
  }
#about .hpl-two{margin-top:44px}

/* ---- Part 2: additions (mocks/src/historic-place/historic-place-additions.css) ---- */
/* The no-photo tile in "Nearby on the Register" (live: grouped with .hpl-near img; no sampled live page had one). */
.hpl-near .ni{width:52px;height:40px;border-radius:6px;background:#fbf8f2;display:grid;place-items:center;color:#b7791f}
.hpl-near .ni .ic{width:18px;height:18px}
/* "More like it" photo frames: the live rule is .lm .ph, which history.css and town.css also carry; core can't take it
   (it would start applying on Cost of living), so this page scopes its copy. */
#alike .lm .ph{height:130px;background:var(--surface)}

/* The History archive (docs/build/history-archive.md): then & now, "In the archive" and the add-an-old-photo dialog, from the live app.css. */

/* v2 (docs/build/historic-place-v2.md): Around it badges (core .hx-ar rows) */
.hpl-arb{font:700 12px/1 var(--sans);font-style:normal;min-width:30px;text-align:center;padding:5px 7px;border-radius:6px;background:var(--surface);color:var(--muted)}
.hpl-arb.nhl{background:#fff4d6;color:#8a5a00}
#around .hx-ar span small{display:block;color:var(--muted)}
.hpl-h3{font-size:16px;margin:18px 0 10px}   /* In old photographs: Outside / Inside / Measured drawings */
