/* Premium "Clean Editorial" restyle for the suttas.com static mirror.
   Modeled on the real color/layout language of channelnewsasia.com
   (signature red accent, near-black text, light gray hairlines, all-sans
   clean editorial type) — not their proprietary licensed typeface, which
   is swapped for a public one (Work Sans) that reads similarly.
   Overrides Weebly's inline styles and default theme; original HTML/
   content untouched. No custom icons this time — plain typography only. */

@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap');

:root {
  --ce-bg: #ffffff;
  --ce-text: #141414;
  --ce-text-soft: #262626;
  --ce-muted: #636363;
  --ce-line: #d5d5d5;
  --ce-panel: #f5f5f5;
  --ce-red: #b50000;
  --ce-sans: "Work Sans", Helvetica, Arial, sans-serif;
}

html, body {
  background: var(--ce-bg) !important;
  color: var(--ce-text-soft) !important;
  font-family: var(--ce-sans) !important;
}

/* ---------- Declutter: ads, Weebly signup nags, dead third-party widgets ---------- */
.adsbygoogle,
ins.adsbygoogle,
script + ins.adsbygoogle,
#weebly-footer-signup-container,
.signup-container-header,
.trigger-signup,
.wgtc-widget-frame {
  display: none !important;
}

/* ---------- Header ---------- */
#header {
  background: var(--ce-bg) !important;
  padding: 20px 5% 0 !important;
  border-bottom: none !important;
  border-top: 4px solid var(--ce-red) !important;
}
#sitename, #sitename .wsite-logo, #sitename a {
  color: var(--ce-text) !important;
}
#sitename #wsite-title {
  font-family: var(--ce-sans) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  letter-spacing: -0.2px !important;
  color: var(--ce-text) !important;
}
.nav-trigger .open-btn span.mobile { background: var(--ce-text) !important; }

#navigation {
  background: var(--ce-bg) !important;
  border-top: none !important;
  border-bottom: 1px solid var(--ce-line) !important;
  margin-top: 16px !important;
}
#navigation ul.wsite-menu-default {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
#navigation a.wsite-menu-item {
  color: var(--ce-text-soft) !important;
  font-family: var(--ce-sans) !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  text-transform: uppercase !important;
  font-size: 12.5px !important;
  padding: 14px 16px !important;
  border-bottom: 2px solid transparent !important;
  transition: color .15s ease, border-color .15s ease;
}
#navigation a.wsite-menu-item:hover {
  color: var(--ce-red) !important;
  border-bottom-color: var(--ce-red) !important;
}
#navigation .wsite-menu-wrap {
  background: var(--ce-bg) !important;
  border: 1px solid var(--ce-line) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.08) !important;
}
#navigation a.wsite-menu-subitem,
#navigation .wsite-menu-title {
  color: var(--ce-text-soft) !important;
  font-family: var(--ce-sans) !important;
  text-transform: none !important;
}
#navigation li.wsite-menu-subitem-wrap:hover {
  background: var(--ce-panel) !important;
}
#navigation a.wsite-menu-subitem:hover,
#navigation li.wsite-menu-subitem-wrap:hover .wsite-menu-title {
  color: var(--ce-red) !important;
}

/* ---------- Hero band ---------- */
/* No photo, no icon: a slim neutral strip. */
.wsite-section-bg-image {
  background-image: none !important;
  background-color: var(--ce-panel) !important;
  height: 48px !important;
  border-bottom: 1px solid var(--ce-line) !important;
}
#banner-container h2.wsite-content-title {
  display: none !important;
}

/* ---------- Body content ---------- */
#wrapper, #content-wrapper, #wsite-content {
  background: transparent !important;
}
.wsite-section-content > .container {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 56px 40px !important;
  background: transparent !important;
  border: none !important;
}

h2.wsite-content-title,
h2.wsite-content-title * {
  font-family: var(--ce-sans) !important;
  font-weight: 700 !important;
  color: var(--ce-text) !important;
  font-size: 32px !important;
  letter-spacing: -0.3px !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-shadow: none !important;
  border-bottom: none !important;
  padding-bottom: 20px !important;
  margin: 0 0 30px !important;
  border-bottom: 3px solid var(--ce-red) !important;
  display: inline-block !important;
}

/* Quote/lead treatment on the paragraph right after the title */
h2.wsite-content-title + div.paragraph {
  font-family: var(--ce-sans) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--ce-text) !important;
  border-left: 3px solid var(--ce-red) !important;
  padding-left: 18px !important;
  margin-bottom: 28px !important;
}
h2.wsite-content-title + div.paragraph * {
  font-family: var(--ce-sans) !important;
  font-weight: 500 !important;
  color: var(--ce-text) !important;
}

#wsite-content .paragraph,
#wsite-content p,
#wsite-content .paragraph *,
#wsite-content p * {
  color: var(--ce-text-soft) !important;
  font-family: var(--ce-sans) !important;
  line-height: 1.75 !important;
  font-size: 16px !important;
  background: transparent !important;
}
#wsite-content a {
  color: var(--ce-red) !important;
  text-decoration: underline !important;
}
#wsite-content a:hover {
  text-decoration: none !important;
}

/* ---------- Homepage category grid ---------- */
.premium-home-grid {
  margin-bottom: 44px !important;
}
.premium-grid-title {
  font-family: var(--ce-sans) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--ce-muted) !important;
  margin-bottom: 20px !important;
}
.premium-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}
.premium-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 20px !important;
  border: 1px solid var(--ce-line) !important;
  border-top: 3px solid var(--ce-red) !important;
  text-decoration: none !important;
  transition: box-shadow .15s ease, transform .15s ease;
}
.premium-card:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.08) !important;
  transform: translateY(-1px);
}
.premium-card-label {
  font-family: var(--ce-sans) !important;
  font-weight: 600 !important;
  font-size: 15.5px !important;
  color: var(--ce-text) !important;
  text-decoration: none !important;
}
.premium-card-desc {
  font-family: var(--ce-sans) !important;
  font-size: 13px !important;
  color: var(--ce-muted) !important;
  line-height: 1.5 !important;
}
@media (max-width: 520px) {
  .premium-grid { grid-template-columns: 1fr !important; }
}

/* ---------- Vertical quick-nav rail (site-wide, left edge) ---------- */
.premium-side-rail {
  position: fixed !important;
  top: 50% !important;
  left: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 400 !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--ce-bg) !important;
  border: 1px solid var(--ce-line) !important;
  border-left: none !important;
  border-radius: 0 6px 6px 0 !important;
  overflow: visible !important;
  box-shadow: 4px 0 16px rgba(0,0,0,0.08) !important;
}
.premium-tab-wrap {
  position: relative !important;
}
.premium-tab-wrap:first-child .premium-tab {
  border-top-right-radius: 6px !important;
}
.premium-tab-wrap:last-child .premium-tab {
  border-bottom: none !important;
  border-bottom-right-radius: 6px !important;
}
.premium-side-rail .premium-tab {
  display: block !important;
  font-family: var(--ce-sans) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1px !important;
  color: var(--ce-muted) !important;
  text-decoration: none !important;
  padding: 12px 18px !important;
  border-left: 3px solid transparent !important;
  border-bottom: 1px solid var(--ce-line) !important;
  white-space: nowrap !important;
  width: 260px !important;
  box-sizing: border-box !important;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.premium-side-rail .premium-tab:hover,
.premium-tab-wrap:hover .premium-tab {
  color: var(--ce-red) !important;
  border-left-color: var(--ce-red) !important;
  background: var(--ce-panel) !important;
}

/* Flyout of real sub-section links. Fixed and vertically centered in the
   viewport (not anchored to the hovered tab's row) so a tab near the top
   or bottom of the rail still shows as much of a long list as possible. */
.premium-flyout {
  display: none !important;
  position: fixed !important;
  top: 50% !important;
  left: 261px !important;
  transform: translateY(-50%) !important;
  min-width: 320px !important;
  max-width: 420px !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
  flex-direction: column !important;
  background: var(--ce-bg) !important;
  border: 1px solid var(--ce-line) !important;
  box-shadow: 4px 4px 20px rgba(0,0,0,0.1) !important;
}
.premium-tab-wrap:hover .premium-flyout {
  display: flex !important;
}
.premium-flyout-link {
  font-family: var(--ce-sans) !important;
  font-size: 13px !important;
  color: var(--ce-text-soft) !important;
  text-decoration: none !important;
  padding: 9px 16px !important;
  border-bottom: 1px solid var(--ce-line) !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}
.premium-flyout-link:last-child {
  border-bottom: none !important;
}
.premium-flyout-link:hover {
  color: var(--ce-red) !important;
  background: var(--ce-panel) !important;
}
@media (max-width: 900px) {
  .premium-side-rail { display: none !important; }
}

/* ---------- Footer ---------- */
.wsite-footer, #wsite-footer, .wsite-elements.wsite-footer {
  background: var(--ce-panel) !important;
  color: var(--ce-muted) !important;
  border-top: 1px solid var(--ce-line) !important;
}
.wsite-elements.wsite-footer div.paragraph,
.wsite-elements.wsite-footer p,
.wsite-elements.wsite-footer * {
  color: var(--ce-muted) !important;
}
