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

   Purpose:
   Apply the shared ISI editorial standard to Academic Year content
   while preserving Academic Year branding and conversion flows.

   Scope:
   - Internal Academic Year editorial pages (.ay-simple-page)
   - FAQ presentation
   - Student Stories / Dublin Guides cards
   - Single editorial posts
   - Content tables and images

   Explicit exclusions:
   - Header and navigation
   - Homepage hero
   - Footer
   - WPForms and Salesforce-related UI/behaviour
   - Existing prices, promotions, copy, links, SEO and URLs
   - Buttons / booking / conversion widgets
   ================================================================ */

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

/* ---------------------------------------------------------------
   Core editorial reading surface
   --------------------------------------------------------------- */

body:not(.home) #primary .ay-simple-page {
  max-width: 920px;
  margin: 0 auto;
  padding: 54px 0 70px;
  color: var(--isi-ay-editorial-body);
  font-family: var(--isi-ay-editorial-font) !important;
  font-size: 15px;
  line-height: 1.68;
}

body:not(.home) #primary .ay-simple-page > h1 {
  color: var(--isi-ay-editorial-ink) !important;
  font: 700 clamp(27px, 2.8vw, 32px)/1.22 var(--isi-ay-editorial-font) !important;
  letter-spacing: -.025em !important;
  margin: 0 0 22px !important;
  text-align: left !important;
  text-transform: none !important;
}

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

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

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

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

body:not(.home) #primary .ay-simple-page > ul,
body:not(.home) #primary .ay-simple-page > ol {
  margin: 11px 0 23px !important;
  padding-left: 23px !important;
  text-align: left !important;
}

body:not(.home) #primary .ay-simple-page > ul li,
body:not(.home) #primary .ay-simple-page > ol li {
  color: var(--isi-ay-editorial-body) !important;
  font: 400 15px/1.65 var(--isi-ay-editorial-font) !important;
  margin: 0 0 7px !important;
  text-align: left !important;
}

/* Editorial links only. Conversion buttons and forms are deliberately excluded. */
body:not(.home) #primary .ay-simple-page > p a,
body:not(.home) #primary .ay-simple-page > ul a,
body:not(.home) #primary .ay-simple-page > ol a,
body:not(.home) #primary .ay-simple-page > blockquote a {
  color: var(--isi-ay-editorial-link) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body:not(.home) #primary .ay-simple-page > p a:hover,
body:not(.home) #primary .ay-simple-page > p a:focus,
body:not(.home) #primary .ay-simple-page > ul a:hover,
body:not(.home) #primary .ay-simple-page > ul a:focus,
body:not(.home) #primary .ay-simple-page > ol a:hover,
body:not(.home) #primary .ay-simple-page > ol a:focus,
body:not(.home) #primary .ay-simple-page > blockquote a:hover,
body:not(.home) #primary .ay-simple-page > blockquote a:focus {
  color: var(--isi-ay-editorial-ink) !important;
}

/* ---------------------------------------------------------------
   Introductory callouts
   Fees-inspired surface with Academic Year gold accent.
   --------------------------------------------------------------- */

body:not(.home) #primary .ay-simple-page > blockquote {
  margin: 13px 0 26px !important;
  padding: 17px 20px !important;
  background: var(--isi-ay-editorial-light) !important;
  border: 1px solid var(--isi-ay-editorial-border) !important;
  border-left: 4px solid var(--isi-ay-editorial-gold) !important;
  border-radius: 0 9px 9px 0 !important;
  box-shadow: none !important;
  color: var(--isi-ay-editorial-body) !important;
  font-style: normal !important;
  text-align: left !important;
}

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

body:not(.home) #primary .ay-simple-page > blockquote p:last-child {
  margin-bottom: 0 !important;
}

body:not(.home) #primary .ay-simple-page > blockquote strong {
  color: var(--isi-ay-editorial-ink) !important;
}

/* ---------------------------------------------------------------
   Feature summaries: existing HTML only, no content restructuring.
   --------------------------------------------------------------- */

/* Prices: the three package summaries immediately after the first H2. */
body.page-id-8 #primary .ay-simple-page > h2:first-of-type + p,
body.page-id-8 #primary .ay-simple-page > h2:first-of-type + p + p,
body.page-id-8 #primary .ay-simple-page > h2:first-of-type + p + p + p {
  margin: 0 0 12px !important;
  padding: 16px 18px !important;
  background: #fff !important;
  border: 1px solid var(--isi-ay-editorial-border);
  border-left: 4px solid var(--isi-ay-editorial-accent);
  border-radius: 10px;
  box-shadow: 0 5px 16px rgba(24, 59, 74, .045);
}

/* Course page: the concise hours/timetable line under each core option. */
body.page-id-31 #primary .ay-simple-page > h2:nth-of-type(1) + p,
body.page-id-31 #primary .ay-simple-page > h2:nth-of-type(2) + p,
body.page-id-31 #primary .ay-simple-page > h2:nth-of-type(3) + p {
  margin: 0 0 12px !important;
  padding: 15px 17px !important;
  background: var(--isi-ay-editorial-accent-soft) !important;
  border: 1px solid #DED5E4;
  border-radius: 10px;
}

/* ---------------------------------------------------------------
   FAQ presentation
   Current FAQ content is H2 + answer paragraph pairs, so the visual
   card treatment is achieved without changing content or schema.
   --------------------------------------------------------------- */

body.page-id-322 #primary .ay-simple-page > h2 {
  margin: 12px 0 0 !important;
  padding: 15px 17px 8px !important;
  background: var(--isi-ay-editorial-light) !important;
  border: 1px solid var(--isi-ay-editorial-border) !important;
  border-bottom: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  color: var(--isi-ay-editorial-ink) !important;
  font: 700 16px/1.48 var(--isi-ay-editorial-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.page-id-322 #primary .ay-simple-page > h2 + p {
  margin: 0 0 10px !important;
  padding: 2px 17px 17px !important;
  background: #fff !important;
  border: 1px solid var(--isi-ay-editorial-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 10px 10px !important;
  box-shadow: 0 4px 13px rgba(22, 55, 69, .035);
  color: var(--isi-ay-editorial-body) !important;
  font: 400 15px/1.65 var(--isi-ay-editorial-font) !important;
}

/* ---------------------------------------------------------------
   Tables and editorial media
   --------------------------------------------------------------- */

body:not(.home) #primary .ay-simple-page table {
  width: 100%;
  margin: 18px 0 28px;
  border: 1px solid var(--isi-ay-editorial-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  color: var(--isi-ay-editorial-body);
  font-family: var(--isi-ay-editorial-font);
  font-size: 14px;
  line-height: 1.55;
}

body:not(.home) #primary .ay-simple-page table th,
body:not(.home) #primary .ay-simple-page table td {
  padding: 12px 14px;
  border-right: 1px solid var(--isi-ay-editorial-border);
  border-bottom: 1px solid var(--isi-ay-editorial-border);
  text-align: left;
  vertical-align: top;
}

body:not(.home) #primary .ay-simple-page table th {
  background: var(--isi-ay-editorial-light);
  color: var(--isi-ay-editorial-ink);
  font-size: 13px !important;
  font-weight: 700;
}

body:not(.home) #primary .ay-simple-page table tr:last-child td {
  border-bottom: 0;
}

body:not(.home) #primary .ay-simple-page table th:last-child,
body:not(.home) #primary .ay-simple-page table td:last-child {
  border-right: 0;
}

body:not(.home) #primary .ay-simple-page img,
body.single-post #primary .ay-story-featured img {
  border-radius: 10px;
}

/* ---------------------------------------------------------------
   Student Stories and Dublin Guides cards
   --------------------------------------------------------------- */

#primary .ay-story-grid {
  margin-top: 28px;
}

#primary .ay-story-grid .blog-posts-loop__col {
  display: flex;
  margin-bottom: 32px;
}

#primary .ay-story-grid .list-article {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--isi-ay-editorial-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 7px 22px rgba(22, 55, 69, .065) !important;
}

#primary .ay-story-grid .list-article-thumb {
  margin: 0 !important;
}

#primary .ay-story-grid .list-article-thumb a {
  display: block;
  overflow: hidden;
  aspect-ratio: 2 / 1;
  background: var(--isi-ay-editorial-light);
}

#primary .ay-story-grid .list-article-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  transition: transform .2s ease;
}

#primary .ay-story-grid .list-article-thumb a:hover img,
#primary .ay-story-grid .list-article-thumb a:focus img {
  transform: scale(1.025);
}

#primary .ay-story-grid .list-article-content {
  padding: 18px 19px 21px !important;
}

#primary .ay-story-grid .entry-title {
  margin: 0 0 9px !important;
}

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

#primary .ay-story-grid .entry-title a {
  text-decoration: none !important;
}

#primary .ay-story-grid .entry-title a:hover,
#primary .ay-story-grid .entry-title a:focus {
  color: var(--isi-ay-editorial-accent) !important;
}

#primary .ay-story-grid .entry-excerpt,
#primary .ay-story-grid .entry-excerpt p {
  color: var(--isi-ay-editorial-body) !important;
  font: 400 14px/1.65 var(--isi-ay-editorial-font) !important;
  margin-bottom: 0 !important;
  text-align: left !important;
}

/* ---------------------------------------------------------------
   Single editorial posts
   --------------------------------------------------------------- */

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

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

body.single-post #primary .ay-story > h3 {
  color: var(--isi-ay-editorial-ink) !important;
  font: 700 19px/1.34 var(--isi-ay-editorial-font) !important;
  text-align: left !important;
  text-transform: none !important;
}

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

@media (max-width: 767px) {
  body:not(.home) #primary .ay-simple-page {
    padding: 34px 4px 52px;
  }

  body:not(.home) #primary .ay-simple-page > h1,
  body.single-post #primary article > .entry-header .entry-title {
    font-size: 27px !important;
  }

  body:not(.home) #primary .ay-simple-page > h2,
  body.single-post #primary .ay-story > h2 {
    font-size: 23px !important;
    line-height: 1.32 !important;
    margin-top: 29px !important;
  }

  body.page-id-322 #primary .ay-simple-page > h2 {
    margin-top: 10px !important;
    padding: 14px 15px 7px !important;
    font-size: 16px !important;
    line-height: 1.48 !important;
  }

  body.page-id-322 #primary .ay-simple-page > h2 + p {
    padding: 2px 15px 15px !important;
  }

  body:not(.home) #primary .ay-simple-page > blockquote {
    padding: 15px 16px !important;
  }

  body:not(.home) #primary .ay-simple-page table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #primary .ay-story-grid .list-article-content {
    padding: 17px 17px 20px !important;
  }

  body.single-post #primary article > .entry-header .entry-title {
    margin-top: 32px !important;
    padding-left: 4px;
    padding-right: 4px;
  }
}
