/* ================================================================
   ISI ACADEMIC YEAR - POST EDITORIAL SYSTEM v1.0
   Source of visual truth:
   https://teachertraining.studyinireland.ie/en/isi-dublin-fees/

   Purpose:
   Extend the shared ISI editorial standard to Academic Year posts
   and post archives without changing copy, URLs, SEO, forms,
   Salesforce, navigation, hero, footer or tracking.

   Scope:
   - Single posts
   - Student Stories / Student Ambassadors / Dublin Guides archives
   - Standard WordPress blog/archive listings

   Design direction:
   Teacher Training Fees clarity + Academic Year navy/purple/gold.
   ================================================================ */

:root {
  --isi-ay-post-ink: #183B4A;
  --isi-ay-post-body: #354F5A;
  --isi-ay-post-muted: #5B7178;
  --isi-ay-post-accent: #765985;
  --isi-ay-post-gold: #D6B06C;
  --isi-ay-post-border: #D6E5E9;
  --isi-ay-post-light: #F6FAFB;
  --isi-ay-post-font: Arial, Helvetica, sans-serif;
}

/* ---------------------------------------------------------------
   Single post shell
   --------------------------------------------------------------- */

body.single-post #primary .site-main > article {
  max-width: 100%;
}

body.single-post #primary article > .entry-header {
  max-width: 920px;
  margin: 0 auto;
  padding: 46px 0 0;
}

body.single-post #primary article > .entry-header .entry-title {
  color: var(--isi-ay-post-ink) !important;
  font: 700 clamp(27px, 2.8vw, 32px)/1.22 var(--isi-ay-post-font) !important;
  letter-spacing: -.025em !important;
  margin: 0 0 22px !important;
  text-align: left !important;
  text-transform: none !important;
}

body.single-post #primary article > .entry-header .entry-meta {
  color: var(--isi-ay-post-muted) !important;
  font: 400 13px/1.55 var(--isi-ay-post-font) !important;
  margin: -7px 0 20px !important;
}

/* Existing site rules already hide metadata on these editorial posts.
   Keep the styling here harmless if metadata is later re-enabled. */
body.single-post #primary article > .entry-header .entry-meta a {
  color: var(--isi-ay-post-accent) !important;
  text-decoration: none !important;
}

/* The title lives outside .ay-simple-page on OnePress single posts. */
body.single-post #primary .entry-content .ay-simple-page {
  padding-top: 0 !important;
  padding-bottom: 70px !important;
}

/* ---------------------------------------------------------------
   Featured media
   --------------------------------------------------------------- */

body.single-post #primary .ay-story-featured {
  margin: 0 0 24px !important;
}

body.single-post #primary .ay-story-featured img,
body.single-post #primary .entry-content figure img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 12px !important;
}

body.single-post #primary .entry-content figure figcaption {
  color: var(--isi-ay-post-muted) !important;
  font: 400 13px/1.5 var(--isi-ay-post-font) !important;
  margin-top: 8px;
  text-align: left;
}

/* ---------------------------------------------------------------
   Editorial hierarchy
   Explicit single-post rules mirror the Teacher Training standard.
   --------------------------------------------------------------- */

body.single-post #primary .entry-content .ay-simple-page > h2 {
  color: var(--isi-ay-post-ink) !important;
  font: 700 clamp(23px, 2.35vw, 28px)/1.26 var(--isi-ay-post-font) !important;
  letter-spacing: -.022em !important;
  margin: 34px 0 13px !important;
  text-align: left !important;
  text-transform: none !important;
}

body.single-post #primary .entry-content .ay-simple-page > h3 {
  color: var(--isi-ay-post-ink) !important;
  font: 700 19px/1.34 var(--isi-ay-post-font) !important;
  letter-spacing: -.012em !important;
  margin: 23px 0 10px !important;
  text-align: left !important;
  text-transform: none !important;
}

body.single-post #primary .entry-content .ay-simple-page > h4 {
  color: var(--isi-ay-post-ink) !important;
  font: 700 16px/1.4 var(--isi-ay-post-font) !important;
  margin: 20px 0 9px !important;
  text-align: left !important;
  text-transform: none !important;
}

body.single-post #primary .entry-content .ay-simple-page > p {
  color: var(--isi-ay-post-body) !important;
  font: 400 15px/1.69 var(--isi-ay-post-font) !important;
  margin: 0 0 14px !important;
  text-align: left !important;
}

body.single-post #primary .entry-content .ay-simple-page > ul,
body.single-post #primary .entry-content .ay-simple-page > ol {
  margin: 11px 0 23px !important;
  padding-left: 23px !important;
}

body.single-post #primary .entry-content .ay-simple-page > ul li,
body.single-post #primary .entry-content .ay-simple-page > ol li {
  color: var(--isi-ay-post-body) !important;
  font: 400 15px/1.65 var(--isi-ay-post-font) !important;
  margin: 0 0 7px !important;
}

/* Quotes / story intros */
body.single-post #primary .entry-content .ay-simple-page > blockquote {
  margin: 13px 0 26px !important;
  padding: 17px 20px !important;
  background: var(--isi-ay-post-light) !important;
  border: 1px solid var(--isi-ay-post-border) !important;
  border-left: 4px solid var(--isi-ay-post-gold) !important;
  border-radius: 0 9px 9px 0 !important;
  box-shadow: none !important;
  font-style: normal !important;
}

body.single-post #primary .entry-content .ay-simple-page > blockquote p {
  color: var(--isi-ay-post-body) !important;
  font: 400 16px/1.7 var(--isi-ay-post-font) !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Story bylines / archive disclaimers remain content, just visually secondary. */
body.single-post #primary .entry-content .ay-simple-page > p > em:only-child {
  color: var(--isi-ay-post-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* Editorial links */
body.single-post #primary .entry-content .ay-simple-page > p a,
body.single-post #primary .entry-content .ay-simple-page > ul a,
body.single-post #primary .entry-content .ay-simple-page > ol a,
body.single-post #primary .entry-content .ay-simple-page > blockquote a {
  color: var(--isi-ay-post-accent) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.single-post #primary .entry-content .ay-simple-page a:hover,
body.single-post #primary .entry-content .ay-simple-page a:focus {
  color: var(--isi-ay-post-ink) !important;
}

/* ---------------------------------------------------------------
   Archive / category / blog listings
   Mirrors the Fees card restraint without changing the listing DOM.
   --------------------------------------------------------------- */

body.blog #primary,
body.archive #primary {
  padding-top: 42px;
  padding-bottom: 64px;
}

body.blog #primary .list-article,
body.archive #primary .list-article {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-width: 920px;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--isi-ay-post-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 7px 22px rgba(22, 55, 69, .055) !important;
}

body.blog #primary .list-article-thumb,
body.archive #primary .list-article-thumb {
  flex: 0 0 300px;
  width: 300px;
  margin: 0 !important;
}

body.blog #primary .list-article-thumb a,
body.archive #primary .list-article-thumb a {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 178px;
  overflow: hidden;
  background: var(--isi-ay-post-light);
}

body.blog #primary .list-article-thumb img,
body.archive #primary .list-article-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 178px;
  object-fit: cover;
  transition: transform .2s ease;
}

body.blog #primary .list-article-thumb a:hover img,
body.blog #primary .list-article-thumb a:focus img,
body.archive #primary .list-article-thumb a:hover img,
body.archive #primary .list-article-thumb a:focus img {
  transform: scale(1.025);
}

body.blog #primary .list-article-content,
body.archive #primary .list-article-content {
  flex: 1 1 auto;
  padding: 20px 22px 22px !important;
}

body.blog #primary .list-article-meta,
body.archive #primary .list-article-meta {
  color: var(--isi-ay-post-accent) !important;
  font: 700 11px/1.45 var(--isi-ay-post-font) !important;
  letter-spacing: .045em;
  margin-bottom: 8px !important;
  text-transform: uppercase;
}

body.blog #primary .list-article-meta a,
body.archive #primary .list-article-meta a {
  color: var(--isi-ay-post-accent) !important;
  text-decoration: none !important;
}

body.blog #primary .list-article .entry-title,
body.blog #primary .list-article .entry-title a,
body.archive #primary .list-article .entry-title,
body.archive #primary .list-article .entry-title a {
  color: var(--isi-ay-post-ink) !important;
  font: 700 18px/1.35 var(--isi-ay-post-font) !important;
  letter-spacing: -.012em !important;
  text-align: left !important;
  text-transform: none !important;
}

body.blog #primary .list-article .entry-title {
  margin: 0 0 9px !important;
}

body.blog #primary .list-article .entry-title a,
body.archive #primary .list-article .entry-title a {
  text-decoration: none !important;
}

body.blog #primary .list-article .entry-title a:hover,
body.blog #primary .list-article .entry-title a:focus,
body.archive #primary .list-article .entry-title a:hover,
body.archive #primary .list-article .entry-title a:focus {
  color: var(--isi-ay-post-accent) !important;
}

body.blog #primary .list-article .entry-excerpt,
body.blog #primary .list-article .entry-excerpt p,
body.archive #primary .list-article .entry-excerpt,
body.archive #primary .list-article .entry-excerpt p {
  color: var(--isi-ay-post-body) !important;
  font: 400 14px/1.65 var(--isi-ay-post-font) !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Pagination */
body.blog #primary .navigation,
body.archive #primary .navigation {
  max-width: 920px;
  margin: 30px auto 0;
}

body.blog #primary .nav-links a,
body.archive #primary .nav-links a,
body.blog #primary .nav-links span,
body.archive #primary .nav-links span {
  font-family: var(--isi-ay-post-font);
}

/* ---------------------------------------------------------------
   Responsive safeguards
   --------------------------------------------------------------- */

@media (max-width: 767px) {
  body.single-post #primary article > .entry-header {
    padding: 32px 4px 0;
  }

  body.single-post #primary article > .entry-header .entry-title {
    font-size: 27px !important;
    line-height: 1.24 !important;
  }

  body.single-post #primary .entry-content .ay-simple-page {
    padding-top: 0 !important;
    padding-bottom: 52px !important;
  }

  body.single-post #primary .entry-content .ay-simple-page > h2 {
    font-size: 23px !important;
    line-height: 1.32 !important;
    margin-top: 29px !important;
  }

  body.single-post #primary .entry-content .ay-simple-page > blockquote {
    padding: 15px 16px !important;
  }

  body.blog #primary,
  body.archive #primary {
    padding-top: 28px;
    padding-bottom: 48px;
  }

  body.blog #primary .list-article,
  body.archive #primary .list-article {
    display: block;
    margin-left: 4px !important;
    margin-right: 4px !important;
  }

  body.blog #primary .list-article-thumb,
  body.archive #primary .list-article-thumb {
    width: 100%;
    max-width: none;
  }

  body.blog #primary .list-article-thumb a,
  body.archive #primary .list-article-thumb a {
    height: auto;
    min-height: 0;
    aspect-ratio: 2 / 1;
  }

  body.blog #primary .list-article-thumb img,
  body.archive #primary .list-article-thumb img {
    min-height: 0;
  }

  body.blog #primary .list-article-content,
  body.archive #primary .list-article-content {
    padding: 17px 17px 20px !important;
  }
}
