html.theme-pembroke { --gold:#1f4d5c; --gold-soft:#4d7c89; --b:#f6efe3; --card:#fffaf1; --line:#e3d6c5; --w:#243b42; --muted:#6d675f; }
html.theme-teifi { --gold:#21563b; --gold-soft:#4a7a5e; --b:#f4f0e5; --card:#fbf7ee; --line:#d7e0d6; --w:#1c2e24; --muted:#5f6b63; }
html.theme-north { --gold:#3f5f78; --gold-soft:#6a8498; --b:#eef1f3; --card:#f7f8f9; --line:#d4dbe1; --w:#2a3137; --muted:#66717a; }
html.theme-carmarthen { --gold:#2f4a32; --gold-soft:#b08a2e; --b:#f7f1e0; --card:#fff8ea; --line:#e4d5b3; --w:#243126; --muted:#6b6248; }
html.theme-south { --gold:#9a5a12; --gold-soft:#c4893a; --b:#f3eee6; --card:#faf6ef; --line:#ddd2c3; --w:#241c16; --muted:#6a5e53; }
html.theme-mid { --gold:#6a4c74; --gold-soft:#7d8a6c; --b:#f5ebdd; --card:#fbf4ea; --line:#e2d3c4; --w:#3a2c3c; --muted:#6d6570; }
html.theme-palestine { --gold:#5f6640; --gold-soft:#8a9168; --b:#f7f6f2; --card:#fffcf7; --line:#ddd8cc; --w:#161616; --muted:#5c5c56; }
html.theme-sunderland { --gold:#8f1d1d; --gold-soft:#b64a4a; --b:#f6efe4; --card:#fff8f2; --line:#e7d4cc; --w:#1a1513; --muted:#6a5c58; }

html[class*="theme-"] body,
html[class*="theme-"] .top,
html[class*="theme-"] .nav,
html[class*="theme-"] .lead,
html[class*="theme-"] .txt { background: var(--b) !important; color: var(--w) !important; border-color: var(--line) !important; }
html[class*="theme-"] .badge { background: transparent !important; color: var(--gold) !important; border: 1px solid var(--gold) !important; }
html[class*="theme-"] a, html[class*="theme-"] .mast b { color: var(--gold) !important; }
html[class*="theme-"] .nav a { color: var(--w) !important; }
html[class*="theme-"] .lead { background: var(--card) !important; }




html[class*="theme-"] .top { margin-top: 0 !important; }

html[class*="theme-"] footer,
html[class*="theme-"] .foot { background: var(--b) !important; color: var(--w) !important; border-top: 1px solid var(--line) !important; padding: 32px 0 !important; }
html[class*="theme-"] footer .ad { background: var(--card) !important; border: 1px solid var(--line) !important; color: var(--w) !important; padding: 16px 18px !important; }
html[class*="theme-"] footer a { color: var(--gold) !important; }
html[class*="theme-"] footer .legal, html[class*="theme-"] footer .ripe { color: var(--w) !important; }
html[class*="theme-"] footer,
html[class*="theme-"] .foot,
html[class*="theme-"] footer .legal,
html[class*="theme-"] footer .legal strong,
html[class*="theme-"] footer .ad,
html[class*="theme-"] footer .ad b,
html[class*="theme-"] footer .ad p,
html[class*="theme-"] footer .links,
html[class*="theme-"] footer .ripe {
  color: #1a1a1a !important;
  opacity: 1 !important;
}
html[class*="theme-"] footer .ad {
  background: #fff !important;
  border: 1px solid #c9c1b6 !important;
}
html[class*="theme-"] footer .ad b {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
}
html[class*="theme-"] footer .legal strong {
  color: #1a1a1a !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}
html[class*="theme-"] footer a {
  color: #1f4d5c !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}
html.theme-sunderland footer a,
html.theme-south footer a { color: #8f1d1d !important; }
html.theme-teifi footer a,
html.theme-carmarthen footer a { color: #21563b !important; }


html[class*="theme-"] .sec {
  margin: 28px 0 12px !important;
  color: var(--w) !important;
  letter-spacing: .16em !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}
html[class*="theme-"] section.grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
html[class*="theme-"] .card {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 290px !important;
  overflow: hidden !important;
}
html[class*="theme-"] .card > a:first-child {
  display: block !important;
  background: #e7e1d6 !important;
}
html[class*="theme-"] .card img {
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
  display: block !important;
}
html[class*="theme-"] .card .txt {
  padding: 12px 14px 16px !important;
  background: #fff !important;
  color: var(--w) !important;
}
html[class*="theme-"] .card .k,
html[class*="theme-"] .card .kicker {
  color: var(--gold) !important;
  display: block !important;
  margin-bottom: 6px !important;
}
html[class*="theme-"] .card h3,
html[class*="theme-"] .card h3 a {
  color: var(--w) !important;
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
}
@media (max-width: 800px) {
  html[class*="theme-"] section.grid { grid-template-columns: 1fr !important; }
}

html[class*="theme-"] .story, html[class*="theme-"] .story-col, html[class*="theme-"] .body,
html[class*="theme-"] .dek, html[class*="theme-"] .meta, html[class*="theme-"] .story-h {
  background: var(--b) !important;
  color: var(--w) !important;
}
html[class*="theme-"] .story-h { color: var(--w) !important; }
html[class*="theme-"] section.grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 16px !important;
}
html[class*="theme-"] .card {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 300px !important;
}
html[class*="theme-"] .card img {
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
  display: block !important;
  background: #ddd6c8 !important;
}
html[class*="theme-"] .card .txt, html[class*="theme-"] .card h3, html[class*="theme-"] .card h3 a {
  color: var(--w) !important;
  background: #fff !important;
}
html[class*="theme-"] .card .k { color: var(--gold) !important; }
html[class*="theme-"] .card:not(:has(h3)):not(:has(h2)) { display: none !important; }
html[class*="theme-"] .card img[src*="LLR-LOGO"] { display: none !important; }

html[class*="theme-"] .mast,
html[class*="theme-"] .badge,
html[class*="theme-"] .llr-live,
html[class*="theme-"] header .brand {
  display: none !important;
}


html[class*="theme-"] nav a,
html[class*="theme-"] .nav a,
html[class*="theme-"] nav .wrap a {
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  padding: 10px 14px !important;
  color: var(--w) !important;
}
html[class*="theme-"] nav a:hover,
html[class*="theme-"] .nav a:hover {
  color: var(--gold) !important;
}
html[class*="theme-"] nav,
html[class*="theme-"] .nav,
html[class*="theme-"] header,
html[class*="theme-"] .top,
html[class*="theme-"] .sub,
html[class*="theme-"] .crumb,
html[class*="theme-"] .kicker-bar {
  background: var(--b) !important;
  color: var(--w) !important;
  border-bottom: 1px solid var(--line) !important;
}
html[class*="theme-"] nav a,
html[class*="theme-"] .nav a,
html[class*="theme-"] .top a,
html[class*="theme-"] .sub a,
html[class*="theme-"] .crumb a,
html[class*="theme-"] header a {
  color: var(--w) !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  letter-spacing: .05em !important;
  opacity: 1 !important;
  padding: 12px 16px !important;
}
html[class*="theme-"] nav a:hover,
html[class*="theme-"] .nav a:hover {
  color: var(--gold) !important;
}
html.theme-teifi nav,
html.theme-teifi .sub,
html.theme-teifi .crumb { border-color: #21563b !important; }






html.theme-teifi .llr-banner,
html.theme-pembroke .llr-banner {
  max-width: 100% !important;
  width: 100% !important;
  max-height: 120px !important;
}

html[class*="theme-"] a.llr-mast,
html[class*="theme-"] body > a:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 14px 28px !important;
  margin: 0 !important;
  background: var(--b) !important;
  border-bottom: 1px solid var(--line) !important;
  text-decoration: none !important;
}
html[class*="theme-"] a.llr-mast::before,
html[class*="theme-"] a.llr-mast::after,
html[class*="theme-"] body > a:first-child::before,
html[class*="theme-"] body > a:first-child::after {
  content: "" !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background: var(--w) !important;
  opacity: .35 !important;
  margin: 0 28px !important;
}
html[class*="theme-"] .llr-banner {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: 132px !important;
  max-height: 132px !important;
  max-width: min(640px, 70vw) !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}
html.theme-teifi .llr-banner,
html.theme-pembroke .llr-banner,
html.theme-south .llr-banner {
  height: 88px !important;
  max-height: 88px !important;
  max-width: 90vw !important;
}


html[class*="theme-"] a.llr-mast {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--b) !important;
  line-height: 0 !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 180px !important;
  max-height: 180px !important;
  object-fit: cover !important;
  object-position: center 30% !important;
}


html[class*="theme-"] a.llr-mast {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--b) !important;
  line-height: 0 !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 180px !important;
  max-height: 180px !important;
  object-fit: cover !important;
  object-position: center 30% !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  height: 280px !important;
  max-height: 280px !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  height: 380px !important;
  max-height: 380px !important;
  object-fit: cover !important;
  object-position: center 48% !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  height: 450px !important;
  max-height: 450px !important;
  object-position: center 50% !important;
}
html[class*="theme-"] a.llr-mast {
  background: var(--b) !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  width: 100% !important;
  height: auto !important;
  max-height: 220px !important;
  object-fit: contain !important;
  object-position: center top !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  width: 100% !important;
  height: auto !important;
  max-height: 28vh !important;
  object-fit: contain !important;
  object-position: center top !important;
}
html[class*="theme-"] a.llr-mast {
  padding: 10px 5vw !important;
  text-align: center !important;
}
html[class*="theme-"] a.llr-mast .llr-banner {
  width: 92% !important;
  max-width: 1080px !important;
  height: auto !important;
  max-height: 38vh !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center top !important;
}
html.theme-north a.llr-mast .llr-banner,
html.theme-mid a.llr-mast .llr-banner,
html.theme-sunderland a.llr-mast .llr-banner {
  width: 100% !important;
  max-width: none !important;
  height: 280px !important;
  max-height: 280px !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}
html.theme-carmarthen a.llr-mast .llr-banner,
html.theme-teifi a.llr-mast .llr-banner,
html.theme-pembroke a.llr-mast .llr-banner,
html.theme-south a.llr-mast .llr-banner {
  width: 92% !important;
  max-height: 38vh !important;
  height: auto !important;
  object-fit: contain !important;
}

/* === north / mid / sunderland mastheads — show the whole drawing === */
html.theme-north a.llr-mast,
html.theme-mid a.llr-mast,
html.theme-sunderland a.llr-mast {
  display: block !important;
  width: 100% !important;
  padding: 8px 16px !important;
  margin: 0 !important;
  text-align: center !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

html.theme-north a.llr-mast .llr-banner,
html.theme-mid a.llr-mast .llr-banner,
html.theme-sunderland a.llr-mast .llr-banner,
html.theme-north .llr-banner,
html.theme-mid .llr-banner,
html.theme-sunderland .llr-banner {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 220px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 800px) {
  html.theme-north a.llr-mast,
  html.theme-mid a.llr-mast,
  html.theme-sunderland a.llr-mast {
    padding: 6px 10px !important;
  }
  html.theme-north a.llr-mast .llr-banner,
  html.theme-mid a.llr-mast .llr-banner,
  html.theme-sunderland a.llr-mast .llr-banner,
  html.theme-north .llr-banner,
  html.theme-mid .llr-banner,
  html.theme-sunderland .llr-banner {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 160px !important;
    object-fit: contain !important;
  }
}

html.theme-north a.llr-mast .llr-banner,
html.theme-mid a.llr-mast .llr-banner,
html.theme-sunderland a.llr-mast .llr-banner,
html.theme-north .llr-banner,
html.theme-mid .llr-banner,
html.theme-sunderland .llr-banner {
  max-height: 320px !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 800px) {
  html.theme-north a.llr-mast .llr-banner,
  html.theme-mid a.llr-mast .llr-banner,
  html.theme-sunderland a.llr-mast .llr-banner {
    max-height: 230px !important;
    width: 100% !important;
  }
}


html.theme-teifi a.llr-mast {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f4f0e5 !important;
  line-height: 0 !important;
}
html.theme-teifi a.llr-mast .llr-banner,
html.theme-teifi .llr-banner {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center top !important;
}
html.theme-teifi header.mast,
html.theme-teifi .badge { display: none !important; }

/* === teifi masthead paper === */
html.theme-teifi a.llr-mast {
  display: block !important;
  width: 100% !important;
  padding: 12px 0 8px !important;
  margin: 0 !important;
  background: #f4f0e5 !important;
  border-bottom: 1px solid #d7e0d6 !important;
}
html.theme-teifi a.llr-mast::before,
html.theme-teifi a.llr-mast::after { content: none !important; display: none !important; }
html.theme-teifi .llr-banner,
html.theme-teifi a.llr-mast .llr-banner {
  display: block !important;
  width: 100% !important;
  max-width: 1200px !important;
  height: 340px !important;
  max-height: 340px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 800px) {
  html.theme-teifi .llr-banner,
  html.theme-teifi a.llr-mast .llr-banner {
    height: 200px !important;
    max-height: 200px !important;
  }
}
html.theme-teifi header.mast,
html.theme-teifi .badge { display: none !important; }

/* === readable story text on cream papers === */
html[class*="theme-"] .story p,
html[class*="theme-"] .story-col p,
html[class*="theme-"] .body p,
html[class*="theme-"] article p,
html[class*="theme-"] main p {
  color: #1a1a1a !important;
  opacity: 1 !important;
}
html[class*="theme-"] .story h2,
html[class*="theme-"] .story h3,
html[class*="theme-"] .story-h,
html[class*="theme-"] article h1,
html[class*="theme-"] article h2,
html[class*="theme-"] article h3 {
  color: #141414 !important;
}
html[class*="theme-"] .meta { color: #4a453e !important; }

/* sunderland story readable */
html.theme-sunderland .story-fig,
html.theme-sunderland .story-fig img,
html.theme-sunderland .story img {
  width: 100% !important;
  max-height: 280px !important;
  height: 280px !important;
  object-fit: cover !important;
  object-position: center 40% !important;
  display: block !important;
}
html.theme-sunderland .story-h { font-size: clamp(32px, 5vw, 44px) !important; color: #1a1a1a !important; }
html.theme-sunderland .story .kicker { font-size: 15px !important; }
html.theme-sunderland .story .body,
html.theme-sunderland .story .body p,
html.theme-sunderland .story p {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #1a1a1a !important;
  max-width: 720px !important;
}

html.theme-sunderland .lead,
html.theme-sunderland article.lead {
  max-height: none !important;
}
html.theme-sunderland .lead img,
html.theme-sunderland article.lead img {
  width: 100% !important;
  height: 260px !important;
  max-height: 260px !important;
  object-fit: cover !important;
  object-position: center 35% !important;
  display: block !important;
}
html.theme-sunderland .card img {
  height: 128px !important;
  max-height: 128px !important;
  object-fit: cover !important;
}
@media (max-width: 800px) {
  html.theme-sunderland .lead img,
  html.theme-sunderland article.lead img {
    height: 180px !important;
    max-height: 180px !important;
  }
}

html.theme-sunderland article.card img:nth-of-type(n+2),
html.theme-sunderland article.lead img:nth-of-type(n+2) {
  display: none !important;
}
html.theme-sunderland article.card a + a img {
  display: none !important;
}

/* sunderland view — use live h1, not the old chronicle drawing */
body[data-title="sunderlandview"] .mast-art,
body.sunderlandchronicle .mast-art,
body.sunderlandview .mast-art { display: none !important; }
body[data-title="sunderlandview"] .mast h1,
body.sunderlandview .mast h1 { position: relative !important; text-indent: 0 !important; font-size: clamp(40px,7vw,72px) !important; color: #8b1e1e; }

html.theme-sunderland a.llr-mast { display: none !important; }
html.theme-sunderland .mast,
html.theme-sunderland .mast h1 { display: block !important; visibility: visible !important; height: auto !important; text-indent: 0 !important; color: #8f1d1d !important; }

/* Sunderland View wordmark */
html.theme-sunderland header.mast {
  display: block !important;
  width: 100% !important;
  padding: 28px 0 18px !important;
  border-bottom: 3px solid #8f1d1d !important;
  text-align: center !important;
}
html.theme-sunderland header.mast .wrap {
  display: block !important;
  width: min(1120px, calc(100% - 28px)) !important;
  margin: 0 auto !important;
  text-align: center !important;
}
html.theme-sunderland header.mast .badge { display: none !important; }
html.theme-sunderland header.mast b {
  display: block !important;
  letter-spacing: .42em !important;
  font-size: 11px !important;
  color: #8f1d1d !important;
  margin: 0 0 8px !important;
}
html.theme-sunderland header.mast h1 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  font-family: "Instrument Serif", Georgia, "Times New Roman", serif !important;
  font-size: clamp(44px, 9vw, 92px) !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  letter-spacing: .02em !important;
  color: #8f1d1d !important;
  text-transform: none !important;
}
html.theme-sunderland header.mast h1 span {
  display: inline !important;
  color: #8f1d1d !important;
  font-style: italic !important;
}
html.theme-sunderland header.mast p {
  display: block !important;
  margin: 10px 0 0 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  color: #6a5c58 !important;
}
