/* Castles of Northumberland: hub, castle pages and the printable passport. Builds on site.css (tokens, .bd-* finder cards, .al-filters, .chip, .tick). */
.cs-pick .eyebrow{margin:0 0 4px}
.cs-pick h3 a{color:var(--ink);text-decoration:none}.cs-pick h3 a:hover{text-decoration:underline}
.cs-pass{align-items:flex-start;margin:34px 0}
.cs-pass-main{flex:1 1 420px;min-width:0}
.cs-pass .bd-score{margin:0 0 10px}
.cs-bar{height:12px;border-radius:999px;background:rgba(0,0,0,.1);overflow:hidden;margin:6px 0 10px;max-width:520px}
.cs-bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .4s}
.cs-rankline{margin:0 0 10px;font-size:16px}
.cs-areas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.cs-areas li{font:600 13px/1.2 var(--sans);background:rgba(255,255,255,.6);border-radius:999px;padding:6px 12px}
.cs-share{font-size:14px;background:rgba(255,255,255,.6);border-radius:var(--r-sm);padding:10px 12px;margin:10px 0 0;word-break:break-word}
.cs-share:empty{display:none}
.cs-tick{background:var(--paper)}
.cs-card.stamped,.cs-stampbar.stamped{background:var(--sage);color:var(--sage-ink)}
.cs-card.stamped .cs-tick,.cs-stampbar.stamped .cs-tick{background:var(--good);color:#fff;box-shadow:none}
.cs-card dl,.cs-facts dl{background:var(--paper)}
.cs-card h3 a{color:var(--ink);text-decoration:none}.cs-card h3 a:hover{text-decoration:underline}
.cs-card>p{margin:0}
.cs-note{margin:0 0 8px}
.cs-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:-6px 0 16px;color:var(--muted)}
.cs-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;border:2px solid #121517}
.cs-legend .k-paid{background:#6A3D6B}.cs-legend .k-free{background:#2F6B3A}.cs-legend .k-other{background:#7C8A91}
.cs-stampbar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;background:var(--cream);color:var(--cream-ink);padding:16px 22px;border-radius:var(--radius);margin:18px 0 8px}
.cs-stampbar .eyebrow{margin:0 0 6px;color:inherit;opacity:.8}
.cs-stampline{margin:0;font-size:16px}.cs-stampline a{color:inherit}
.cs-main{display:grid;gap:10px 34px;margin:10px 0 20px}
@media(min-width:900px){.cs-main{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}
.cs-prose h2{margin-top:28px}
.cs-facts{background:var(--card);border-radius:var(--radius);padding:22px 22px 14px;margin-top:22px}
.cs-facts h2{font-size:22px;margin:0 0 4px}
.cs-facts dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0;padding:14px 16px;border-radius:var(--r-sm);font-size:15px}
.cs-facts dt{font-weight:700}.cs-facts dd{margin:0}
.cs-map{height:min(420px,55vh)}
.cs-near .where{margin:2px 0 0}
.cs-src{overflow-wrap:anywhere}
.cs-pptools{margin:18px 0 8px}
.cs-ppbtns{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .cs-areas li,:root:not([data-theme="light"]) .cs-share{background:rgba(0,0,0,.25)}:root:not([data-theme="light"]) .cs-filters .chip:not(.on){background:var(--paper)}}
/* the printable passport: paper on screen, A4 sheets in print */
.pp-sheets{display:grid;gap:28px;margin:26px 0 34px}
.pp-sheet{background:#fff;color:#111;border-radius:8px;box-shadow:0 2px 16px rgba(0,0,0,.14);padding:clamp(18px,4vw,40px);width:100%;max-width:794px;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;font-family:var(--sans)}
@media(min-width:820px){.pp-sheet{aspect-ratio:210/297}}
.pp-sheet h2,.pp-sheet h3{color:#111}
.pp-cover{text-align:center;justify-content:space-between;gap:14px}
.pp-kicker{font:800 15px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0;color:#6A3D6B}
.pp-art{width:150px;height:auto;margin:6px auto 0;color:#15303D;display:block}
.pp-title{font-size:clamp(34px,6vw,54px);font-style:italic;letter-spacing:-.05em;margin:4px 0 0}
.pp-sub{font-size:19px;margin:0}
.pp-lines{text-align:left;max-width:520px;margin:0 auto;width:100%}
.pp-lines p{display:flex;gap:10px;align-items:flex-end;margin:0 0 16px;font-weight:700}
.pp-line{flex:1;border-bottom:1.5px dotted #777;min-width:60px;height:1.2em}
.pp-cols{display:grid;gap:18px;text-align:left}
@media(min-width:600px){.pp-cols{grid-template-columns:1.4fr 1fr}}
.pp-cols h3{font-size:18px;margin:0 0 6px}
.pp-cols ol,.pp-ranks{margin:0;padding-left:20px;font-size:14.5px;line-height:1.45}
.pp-ranks{list-style:none;padding:0}.pp-ranks li{margin:0 0 3px}
.pp-foot{font-size:12px;color:#555;margin:auto 0 0;padding-top:10px;text-align:center}
.pp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:14px}
.pp-head h2{font-size:clamp(22px,3.4vw,30px);font-style:italic;letter-spacing:-.04em}
.pp-head p{margin:0;font-size:14px;font-weight:700}
.pp-grid{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:560px){.pp-grid{grid-template-columns:1fr 1fr}}
.pp-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border:1.5px solid #222;border-radius:12px;padding:10px;break-inside:avoid}
.pp-stamp{width:104px;height:104px;border:2px dashed #999;border-radius:50%;display:grid;place-items:center;text-align:center;font:700 11px/1.2 var(--sans);color:#999;text-transform:uppercase;letter-spacing:.06em}
.pp-done{display:none}
.pp-box.stamped .pp-stamp{border:4px double #6A3D6B;color:#6A3D6B;transform:rotate(-9deg)}
.pp-box.stamped .pp-here{display:none}
.pp-box.stamped .pp-done{display:block;font-size:13px}
.pp-when{display:block;font-size:10px;margin-top:3px;letter-spacing:0}
.pp-txt h3{font-size:16px;letter-spacing:-.02em;margin:0 0 3px;line-height:1.15}
.pp-fact{font-size:12.5px;line-height:1.35;margin:0 0 3px}
.pp-town{font-size:11.5px;color:#555;margin:0 0 6px}
.pp-fill{display:flex;gap:6px;align-items:flex-end;font-size:11.5px;font-weight:700;margin:0 0 6px}
.pp-mine-only{display:none}
.pp-mine .pp-mine-only{display:inline}
.pp-lines .pp-mine-only{justify-content:center}
.pp-mine .pp-lines .pp-mine-only{display:flex}
@media print{
@page{size:A4 portrait;margin:10mm}
header.site,footer.site,.crumbs,.sec-nav,.pp-screen,.consent,.skip,.signup,.authorbox,.ad,.cs-stampbar,#cs-map{display:none!important}
html,body{background:#fff!important;color:#000}
.wrap,main{max-width:none!important;padding:0!important;margin:0!important}
*{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pp-sheets{display:block;margin:0}
.pp-sheet{box-shadow:none;border-radius:0;padding:0;max-width:none;width:auto;aspect-ratio:auto;height:276mm;overflow:hidden;break-after:page;page-break-after:always;margin:0}
.pp-sheet:last-child{break-after:auto;page-break-after:auto}
.pp-grid{grid-template-columns:1fr 1fr;gap:3mm;grid-auto-rows:44mm}
.pp-box{padding:3mm;border-radius:3mm}
.pp-stamp{width:30mm;height:30mm}
.pp-title{font-size:34pt}.pp-sub{font-size:15pt}
.pp-txt h3{font-size:12pt}.pp-fact{font-size:9pt}.pp-town,.pp-fill{font-size:8.5pt}
.pp-cols{grid-template-columns:1.4fr 1fr}
}
