/* Blog typography */
.blog article p{margin:.6rem 0 .7rem}
.blog article ul,.blog article ol{margin:.7rem 0 .9rem 1.2rem}
.blog article li{margin:.25rem 0}
.blog article h2,.blog article h3{margin:.6rem 0 .2rem}
.blog article figure{margin:.8rem 0}
.blog article ul.refs,.blog article ol.refs{margin:.2rem 0 .5rem 1.1rem; padding-left:1.1rem}
.blog article ul.refs li{margin:.12rem 0}
.blog article ul.refs li>a{display:inline}

/* Hotfix: tighter gap + bullet alignment */
.blog article ul.refs, .blog article ol.refs { margin: .15rem 0 .45rem 1.05rem; padding-left: 1.05rem; }
.blog article ul.refs li, .blog article ol.refs li { margin: .1rem 0; list-style-position: outside; }
.blog article ul.refs li > a, .blog article ol.refs li > a { display: inline; vertical-align: baseline; }

/* v8 compact */
.blog article ul.refs, .blog article ol.refs { margin: .15rem 0 .45rem 1.05rem; padding-left: 1.05rem; }
.blog article ul.refs li { margin: .1rem 0; }

/* v9: compact resources block and consistent bullets */
.blog article h2, .blog article h3 { margin: .5rem 0 .25rem; }
.blog article h2 + hr, .blog article h3 + hr { display: none; }
.blog article ul.refs, .blog article ol.refs { margin: .25rem 0 .55rem 1.1rem; padding-left: 1.1rem; }
.blog article ul.refs li, .blog article ol.refs li { margin: .12rem 0; list-style-position: outside; text-indent: 0; }
.blog article ul.refs li > a, .blog article ol.refs li > a { display: inline; vertical-align: baseline; }

/* v10: ultra-compact resources list & bullet gap */
.blog article h2, .blog article h3 { margin: .45rem 0 .18rem; }
.blog article ul.refs, .blog article ol.refs { margin: .12rem 0 .32rem 1.0rem; padding-left: 1.0rem; }
.blog article ul.refs li, .blog article ol.refs li { margin: .08rem 0; list-style-position: inside; text-indent: 0; }
.blog article ul.refs li > a, .blog article ol.refs li > a { display: inline; margin-left: 0; }
.blog article h2 + hr, .blog article h3 + hr { display: none !important; }

/* v11: markers outside, minimal gaps */
.blog article h2, .blog article h3 { margin: .45rem 0 .16rem; }
.blog article ul.refs, .blog article ol.refs { margin: .08rem 0 .28rem 1.0rem; padding-left: 1.0rem; }
.blog article ul.refs li, .blog article ol.refs li { margin: .06rem 0; list-style-position: outside; text-indent: 0; }
.blog article ul.refs li > a, .blog article ol.refs li > a { display: inline; }

/* v12: force compact spacing under Resources */
.blog article h2, .blog article h3 { margin: .42rem 0 .14rem !important; }
.blog article h2 + ul.refs, .blog article h2 + ol.refs,
.blog article h3 + ul.refs, .blog article h3 + ol.refs { margin-top: .12rem !important; }
.blog article ul.refs, .blog article ol.refs { 
  margin: .12rem 0 .28rem 1.0rem !important; 
  padding-left: 1.0rem !important; 
  border: 0 !important;
}
.blog article ul.refs::before, .blog article ol.refs::before,
.blog article h2 + hr, .blog article h3 + hr { display: none !important; content: none !important; }
.blog article ul.refs li, .blog article ol.refs li { 
  margin: .06rem 0 !important; 
  list-style-position: outside !important; 
  text-indent: 0 !important;
}
.blog article ul.refs li > a, .blog article ol.refs li > a { display: inline !important; margin-left: 0 !important; }

/* v14: zero-gap under resource headings */
.blog article h2, .blog article h3 { margin: .4rem 0 .1rem !important; }
.blog article h2 + ul, .blog article h2 + ol,
.blog article h3 + ul, .blog article h3 + ol { margin-top: .08rem !important; }
.blog article ul.refs, .blog article ol.refs { margin: .08rem 0 .26rem 1.0rem !important; padding-left: 1.0rem !important; }
.blog article ul.refs li, .blog article ol.refs li { margin: .06rem 0 !important; list-style-position: outside !important; }

/* v15: kill any decoration/gap after Resources headings */
.blog article h2.resources-heading::after,
.blog article h3.resources-heading::after { display: none !important; content: none !important; }
.blog article h2.resources-heading + hr,
.blog article h3.resources-heading + hr,
.blog article h2.resources-heading + p:empty,
.blog article h3.resources-heading + p:empty { display: none !important; margin: 0 !important; padding: 0 !important; }
.blog article h2.resources-heading, .blog article h3.resources-heading { margin: .38rem 0 .08rem !important; }
.blog article h2.resources-heading + ul, .blog article h2.resources-heading + ol,
.blog article h3.resources-heading + ul, .blog article h3.resources-heading + ol { margin-top: .08rem !important; }

/* v16: resources heading & list – tiny, aligned */
.blog article h2.resources-heading, .blog article h3.resources-heading { margin: .36rem 0 .06rem !important; }
.blog article h2.resources-heading + ul.refs, .blog article h2.resources-heading + ol.refs,
.blog article h3.resources-heading + ul.refs, .blog article h3.resources-heading + ol.refs { margin-top: .06rem !important; }
.blog article ul.refs, .blog article ol.refs { margin: .1rem 0 .24rem 1.0rem !important; padding-left: 1.0rem !important; }
.blog article ul.refs li, .blog article ol.refs li { margin: .06rem 0 !important; list-style-position: outside !important; text-indent: 0 !important; }
.blog article ul.refs li > a, .blog article ol.refs li > a { display: inline !important; }

/* v18: no-article wrapper — scope to body.blog */
.blog h2.resources-heading, .blog h3.resources-heading { margin: .34rem 0 .06rem !important; }
.blog h2.resources-heading + ul, .blog h2.resources-heading + ol,
.blog h3.resources-heading + ul, .blog h3.resources-heading + ol { margin-top: .06rem !important; }
.blog ul.refs, .blog ol.refs { margin: .1rem 0 .22rem 1.0rem !important; padding-left: 1.0rem !important; }
.blog ul.refs li, .blog ol.refs li { margin: .06rem 0 !important; list-style-position: outside !important; text-indent: 0 !important; }
.blog ul.refs li > a, .blog ol.refs li > a { display: inline !important; }

/* kill accidental hr/empty p after resources-heading in no-article pages */
.blog h2.resources-heading + hr, .blog h3.resources-heading + hr,
.blog h2.resources-heading + p:empty, .blog h3.resources-heading + p:empty { display: none !important; margin: 0 !important; padding: 0 !important; }

/* v19: gapless resources + visible skip link on blog */
.blog h2.resources-heading, .blog h3.resources-heading { margin: .32rem 0 .04rem !important; }
.blog h2.resources-heading + ul, .blog h2.resources-heading + ol,
.blog h3.resources-heading + ul, .blog h3.resources-heading + ol { margin-top: .04rem !important; }
.blog ul.refs, .blog ol.refs { margin: .08rem 0 .22rem 1.0rem !important; padding-left: 1.0rem !important; list-style: disc outside !important; }
.blog ul.refs li, .blog ol.refs li { margin: .06rem 0 !important; list-style-position: outside !important; text-indent: 0 !important; }
.blog ul.refs li > a, .blog ol.refs li > a { display: inline !important; }

/* Make the accessibility skip-link clearly visible on blog pages */
.blog .skip-link:focus {
  background: #5b21b6 !important; /* purple brand */
  color: #fff !important;
  outline: 2px solid #fff !important;
  text-decoration: none !important;
}

/* v20: ensure skip-link is always visible on blog */
.blog .skip-link:focus {
  position: fixed !important;
  left: 16px !important;
  top: 12px !important;
  z-index: 99999 !important; /* above language pills */
  background: #5b21b6 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  outline: 2px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
}

/* v21: show skip link on blog pages even without .skip-link class */
.blog a[href="#main"]:focus, 
.blog a[href="#content"]:focus, 
.blog a[href="#primary"]:focus, 
.blog a[href="#top"]:focus,
.blog a[href^="#main"]:focus-visible, 
.blog a[href^="#content"]:focus-visible {
  position: fixed !important;
  left: 16px !important;
  top: 12px !important;
  z-index: 99999 !important;
  background: #5b21b6 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  outline: 2px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
}

/* v22: normalize resource anchors (no left padding/margins) */
.blog ul.refs li > a, .blog ol.refs li > a {
  padding: 0 !important;
  margin: 0 !important;
  display: inline !important;
}

/* v24: match skip links by href fragment, even with path prefix */
.blog a[href*="#main"]:focus, 
.blog a[href*="#content"]:focus, 
.blog a[href*="#primary"]:focus, 
.blog a[href*="#top"]:focus,
.blog a[href*="#main"]:focus-visible, 
.blog a[href*="#content"]:focus-visible {
  position: fixed !important;
  left: 16px !important;
  top: 12px !important;
  z-index: 99999 !important;
  background: #5b21b6 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  outline: 2px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
}
