/* Island Compass - Journal.
   Loaded on single posts and the Journal page only (see ic-journal.php).
   Uses the site design system: cream ground, ink text, display serif
   headings, pink as an accent only. Deliberately not the pink-heavy layout
   of the source artwork. */

/* ---- Single article ---- */
.single-post .entry-content,
.single-post .ct-container > article {
  --measure: 68ch;
}
.single-post .entry-content p {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.72;
  color: var(--text-secondary);
  max-width: 68ch;
  margin: 0 0 var(--space-4);
}
.single-post .entry-content .ic-post-standfirst {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: var(--weight-regular);
  line-height: 1.25;
  letter-spacing: -.012em;
  color: var(--text-primary);
  margin: 0 0 var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border-hairline);
}
.single-post .entry-content ul {
  max-width: 68ch;
  margin: 0 0 var(--space-4);
  padding-left: 0;
  list-style: none;
}
.single-post .entry-content ul li {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-primary);
  padding: 12px 0 12px 26px;
  border-bottom: 1px solid var(--border-hairline);
  position: relative;
}
.single-post .entry-content ul li:before {
  content: "";
  position: absolute;
  left: 4px;
  top: 22px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pink-700, #7f3961);
}
.single-post .entry-content a {
  color: var(--text-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--pink-700, #7f3961);
  transition: color 200ms var(--ease-standard, ease);
}
.single-post .entry-content a:hover { color: var(--pink-700, #7f3961); }
.single-post .entry-title {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  letter-spacing: -.022em;
  line-height: 1.06;
}
/* ---- Journal page listing ---- */
body.page-id-329 .ic-jrsec { padding: clamp(44px, 5vw, 80px) clamp(20px, 5vw, 64px) !important; }
body.page-id-329 .ic-jrsec > * { max-width: var(--container-max, 1320px); margin-inline: auto; }
body.page-id-329 .ic-jr__h .elementor-heading-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: var(--weight-regular);
  line-height: 1.12;
  letter-spacing: -.02em;
  margin: 0 0 10px;
}
body.page-id-329 .ic-jr__p p {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 60ch;
  margin: 0 0 clamp(24px, 2.6vw, 40px);
}
body.page-id-329 .ic-jr-results .post-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--surface-card, #fff);
  border: 1px solid var(--border-hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
  transition: box-shadow 320ms var(--ease-standard, ease), border-color 320ms var(--ease-standard, ease);
}
body.page-id-329 .ic-jr-results .post-wrapper:hover { border-color: var(--border-default); box-shadow: var(--shadow-md); }
body.page-id-329 .ic-jr-results .post-image img { width: 100%; display: block; object-fit: cover; }
body.page-id-329 .ic-jr-results .inner-content { display: flex; flex-direction: column; gap: 8px; padding: clamp(18px, 1.6vw, 26px); flex: 1; }
body.page-id-329 .ic-jr-results .post-taxonomy { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; }
body.page-id-329 .ic-jr-results .post-taxonomy li a {
  font-family: var(--font-sans);
  font-size: var(--text-caption);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pink-700, #7f3961);
  text-decoration: none;
}
body.page-id-329 .ic-jr-results .post-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.5vw, 1.5rem);
  font-weight: var(--weight-regular);
  line-height: 1.2;
  margin: 0;
}
body.page-id-329 .ic-jr-results .post-title a { color: var(--text-primary); text-decoration: none; }
body.page-id-329 .ic-jr-results .post-excerpt { font-size: 1rem; line-height: 1.6; color: var(--text-secondary); }
body.page-id-329 .ic-jr-results .post-read-more {
  margin-top: auto;
  align-self: flex-start;
  padding-top: 14px;
  border-top: 1px solid var(--border-hairline);
  width: 100%;
  font-family: var(--font-sans);
  font-size: var(--text-caption);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-primary);
  text-decoration: none;
}
@media (max-width: 767px) {
  .single-post .entry-content p, .single-post .entry-content ul li { font-size: 1.0625rem; }
  body.page-id-329 .ic-jrsec { padding: 36px 20px !important; }
}
/* Article hero image */
.single-post .entry-content .ic-post-hero { margin: 0 0 var(--space-5); }
.single-post .entry-content .ic-post-hero img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-media);
  display: block;
}
.single-post .entry-content .ic-post-hero figcaption {
  font-family: var(--font-sans);
  font-size: var(--text-caption);
  color: var(--text-tertiary);
  margin-top: 10px;
  text-align: left;
}
/* --- NEWSLETTER BAND ------------------------------------------------------
   The site-wide body-copy rule in ic-system.css sets text-editor paragraphs
   to dark ink at (0,6,2) and prints after this sheet, so the copy and the
   field label rendered almost invisibly on the dark green. Forced light. */
.ic-newssec .ic-news__p p,
.ic-newssec p {
  color: rgba(253,251,248,.88) !important;
  opacity: 1 !important;
}
.ic-newssec .ic-news__h .elementor-heading-title,
.ic-newssec h2 {
  color: var(--shell-50, #fdfbf8) !important;
}
.ic-newssec .wpforms-field-label,
.ic-newssec .wpforms-field-label-inline,
.ic-formwrap--dark .wpforms-field-label {
  color: rgba(253,251,248,.9) !important;
}
.ic-newssec .wpforms-required-label { color: #FFC2E8 !important; }
.ic-newssec a:not(.elementor-button) {
  color: var(--shell-50, #fdfbf8) !important;
  border-bottom: 1px solid rgba(255,194,232,.6);
  text-decoration: none;
}