/* Public reading and sharing: the Epiktetos palette, with existing content intact. */
:root {
  --social-paper: #f7f3ec;
  --social-card: #fffcf7;
  --social-ink: #14232d;
  --social-copy: #344b57;
  --social-muted: #647279;
  --social-line: #ddd3c4;
  --social-gold: #a77736;
  --social-gold-light: #e5bf86;
}

body.social-home,
body.social-book-page,
body:has(main.catalog-page),
body:has(main.social-reading),
body:has(main.social-collection),
body:has(main.soylex),
body:has(main.dedix) { background: var(--social-paper); }

/* Collection openings share one visual language; their filters remain unchanged. */
.catalog-page { background: var(--social-paper); color: var(--social-ink); }
.catalog-page .catalog-banner {
  padding: 35px 0 38px;
  background: var(--social-ink) !important;
  color: var(--social-card);
  border-bottom: 1px solid #34454f;
}
.catalog-page .catalog-banner h1 {
  color: var(--social-card);
  font: 400 clamp(36px, 4.8vw, 54px)/1.12 Georgia, 'Times New Roman', serif;
  letter-spacing: -.035em;
  margin: 0 0 15px;
}
.catalog-page .catalog-banner p:not(.eyebrow) { color: #c7d1d6; line-height: 1.7; }
.catalog-page .catalog-banner .eyebrow { color: var(--social-gold-light); margin-bottom: 14px; }
.catalog-page .catalog-banner .button.primary { background: var(--social-gold-light); color: var(--social-ink); border-radius: 7px; margin-top: 18px; }
.catalog-page .catalog-body { padding-top: 28px; }
.catalog-page .catalog-filters,
.soylex .soylex-search { background: var(--social-card); border-color: var(--social-line); border-radius: 12px; }
.catalog-page .section-tabs a,
.catalog-page .pagination a,
.soylex .soylex-pagination a { background: var(--social-card); border: 1px solid var(--social-line); border-radius: 7px; }
.catalog-page .section-tabs a[aria-current="page"],
.catalog-page .pagination a[aria-current="page"],
.soylex .soylex-pagination a[aria-current="page"] { background: var(--social-ink); color: var(--social-card); border-color: var(--social-ink); }
.catalog-page .catalog-filters button,
.soylex .soylex-search button { background: var(--social-ink); border-color: var(--social-ink); border-radius: 7px; }
.catalog-page .result-info { color: var(--social-muted); }
.catalog-cards:has(.social-content-card) { align-items: stretch; gap: 26px; }
.soylex .soylex-hero { background: var(--social-ink); color: var(--social-card); border-color: #34454f; }
.soylex .soylex-hero h1 { color: var(--social-card); }
.soylex .soylex-hero h1 span { color: var(--social-gold-light); }
.soylex .soylex-kicker { color: var(--social-gold-light); }
.soylex .soylex-promise,
.soylex .soylex-collection p { color: #c7d1d6; }
.soylex .soylex-collection { border-color: var(--social-gold-light); }
.soylex .soylex-collection a { color: var(--social-gold-light); }
.dedix .dedix-hero { padding: 34px 36px 1px; margin-bottom: 32px; border-radius: 16px; background: var(--social-ink); color: var(--social-card); }
.dedix .dedix-kicker,
.dedix .dedix-hero h1 span { color: var(--social-gold-light); }
.dedix .dedix-hero nav a { border-color: #65747b; color: var(--social-card); }
.dedix .dedix-hero nav [aria-current] { background: var(--social-gold-light); color: var(--social-ink); border-color: var(--social-gold-light); }

/* Shared cards do not force a display mode on the existing image/copy grids. */
.social-content-card {
  min-width: 0;
  color: var(--social-ink);
  background: var(--social-card);
  border: 1px solid var(--social-line);
  border-radius: 14px;
  box-shadow: 0 4px 20px #14232d05;
  scroll-margin-top: 165px;
}
.publication-card.social-content-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px !important;
  border-color: var(--social-line) !important;
  border-top-width: 1px;
  padding: 26px;
}
.social-content-card:target,
.social-recommendation-card:target { border-color: var(--social-gold); box-shadow: 0 0 0 3px #d9b47766, 0 8px 24px #14232d0c; }
.social-content-card :is(h2, h3) {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(23px, 2.35vw, 28px);
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: -.025em;
  color: #20333e;
  overflow-wrap: break-word;
}
.social-content-card :is(h2, h3) a { color: inherit; text-decoration: none; }
.social-content-card :is(h2, h3) a:hover { color: #835f31; text-decoration: underline; text-underline-offset: 4px; }
.social-content-card .type-badge { background: #eee5d6; color: #4d4f45; border-radius: 5px; }
.social-content-card .publication-image { border: 1px solid #e9dfd0; border-radius: 8px; background: #f2ece2; }
.social-content-card .publication-source { color: var(--social-muted); }
.social-content-card > p,
.social-content-card .soylex-card-deck { color: var(--social-copy); }
.social-content-card .social-card-identity { margin-bottom: 22px; }
.social-card-identity {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  color: var(--social-ink);
  text-align: start;
}
.social-card-identity .social-card-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 41px;
  width: 41px;
  height: 41px;
  border: 1px solid #cfbea2;
  border-radius: 50%;
  background: #e9deca;
  color: #34454c;
  font: italic 17px/1 Georgia, 'Times New Roman', serif;
  letter-spacing: -.05em;
}
.social-card-byline { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.social-card-identity .social-card-byline strong { color: #233943; font: 700 13px/1.4 Arial, sans-serif; letter-spacing: 0; margin: 0; overflow-wrap: break-word; }
.social-card-identity .social-card-byline > span { color: var(--social-muted); font: 400 11px/1.5 Arial, sans-serif; letter-spacing: 0; margin: 0; overflow-wrap: break-word; }
.social-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 22px;
  padding-top: 17px;
  border-top: 1px solid var(--social-line);
  min-width: 0;
}
.social-card-actions > a:not(.social-share-x) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  margin: 0;
  padding: 7px 0;
  color: #344f5d;
  font: 600 13px/1.5 Arial, sans-serif;
  white-space: normal;
  overflow-wrap: anywhere;
}
.publication-card.social-content-card > .social-card-actions { margin-top: auto; padding-top: 18px; }
.publication-card.social-content-card > p:last-of-type { margin-bottom: 22px; }

/* The X link is an ordinary link; copying is a secondary progressive enhancement. */
.social-share.publication-share-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
  max-width: 100%;
  margin: 22px 0;
  text-align: start;
}
.social-share.publication-share-top.social-share--compact,
.social-card-actions > .social-share { margin: 0; }
.social-share > a.social-share-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  max-width: 100%;
  margin: 0;
  padding: 11px 16px;
  border: 1px solid var(--social-ink);
  border-radius: 7px;
  color: var(--social-card);
  background: var(--social-ink);
  font: 700 13px/1.5 Arial, sans-serif;
  white-space: normal;
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.social-share > a.social-share-x:hover { color: #fff; border-color: #2f4e5e; background: #2f4e5e; text-decoration: none; }
.social-share .social-share-x svg { flex: 0 0 16px; width: 16px; height: 16px; }
.social-share .social-share-x > span { display: inline; margin: 0; color: inherit; font: inherit; }
.social-share .social-share-x > .social-share-arrow { margin-inline-start: 7px; font-size: 18px; font-weight: 400; line-height: 1; }
.social-share > .social-copy-button,
.social-share > a.social-permalink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  max-width: 100%;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #d8cebf;
  border-radius: 7px;
  background: transparent;
  color: #52636c;
  font: 500 12px/1.5 Arial, sans-serif;
  white-space: normal;
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.social-share > .social-copy-button:hover,
.social-share > a.social-permalink:hover { background: #eee5d6; color: #263e4b; border-color: #bda47f; }
.social-share .social-share-status { flex-basis: 100%; color: #50626b; font: 400 12px/1.6 Arial, sans-serif; }
.social-share .social-share-status:empty { display: none; }
.social-share .copy-fallback { flex-basis: 100%; min-width: 0; width: 100%; margin-top: 5px; color: #52636c; font: 400 12px/1.6 Arial, sans-serif; }
.social-share .copy-fallback[hidden] { display: none !important; }
.social-share .copy-fallback input { width: 100%; max-width: 100%; min-height: 44px; padding: 10px; border: 1px solid #af9e84; border-radius: 7px; color: #243b48; background: #fff; font-size: 16px; }
.social-share :is(a, button, input):focus-visible,
.social-card-actions > a:focus-visible,
.social-content-card :is(a, button, summary):focus-visible { outline: 3px solid var(--social-gold); outline-offset: 4px; }

/* Each legacy card keeps its existing media and metadata structure. */
.soylex-card.social-content-card,
.dedix-card.social-content-card,
.news-card.social-content-card { border-top-width: 1px; }
.soylex-card.social-content-card .soylex-art { background: #eee6d9; }
.soylex-card.social-content-card .soylex-card-copy { padding: 24px; }
.soylex-card.social-content-card .soylex-card-meta span { color: #805d31; }
.soylex-card.social-content-card .social-share { flex-basis: 100%; }
.dedix-card.social-content-card figure { background: #eee7dc; }
.dedix-card.social-content-card .dedix-copy { padding: 28px; }
.dedix-card.social-content-card .dedix-date { margin-top: 12px; }
.dedix-card.social-content-card .dedix-publication-date { margin-top: 16px; }
.podcast-card.social-content-card { padding: 28px; }
.podcast-card.social-content-card > .social-share { border-top: 1px solid var(--social-line); padding-top: 18px; margin-bottom: 0; }
.social-content-card.author-followup { padding: 26px; margin: 30px 0; }

/* Reading surfaces stay spacious; no font-size control or poem line breaks change. */
body main.social-reading {
  background: var(--social-card);
  border: 1px solid var(--social-line);
  border-radius: 14px;
  box-shadow: 0 8px 30px #14232d05;
  color: #233943;
}
.social-reading h1 { color: #172f3d; }
.social-reading .publication-deck { background: #f2ece2; border-color: var(--social-line); border-radius: 10px; }
.social-reading .reading-actions { flex-wrap: wrap; gap: 14px 20px; border-color: var(--social-line); }
.social-reading .reading-actions > * { min-width: 0; }
.social-reading .reading-actions .social-share { margin: 0; }
.social-reading .reading-share { border-color: var(--social-line); gap: 14px 20px; }
.social-reading .reading-share .social-share { margin: 0; }
.social-reading .author-card,
.social-reading .article-toc,
.social-reading .series-toc { background: #f2ece2; border-color: var(--social-line); border-radius: 10px; }
.social-reading .article-art img { border-radius: 10px; background: #f2ece2; }
.social-reading .prose :is(h2, h3) { color: #284653; border-color: var(--social-line); }
.social-reading .source-media,
.social-reading .source-video { background: #f6f0e6; border-color: var(--social-line); border-radius: 10px; }
.social-reading .social-card-identity { margin: 18px 0 24px; }
.social-reading .social-content-card .social-card-identity { margin-top: 0; }
.social-recommendation-card { min-width: 0; padding: 20px; background: #f5eee3; border: 1px solid var(--social-line); border-radius: 12px; }
.publication-neighbors .social-recommendation-card > a { padding: 0; background: transparent; border-radius: 0; }
.publication-neighbors .social-recommendation-card > a > strong { display: block; margin-bottom: 12px; color: #233943; font: 400 22px/1.4 Georgia, 'Times New Roman', serif; }
.publication-neighbors .social-recommendation-card > a > span { color: #667278; font: 400 12px/1.6 Arial, sans-serif; }
.publication-neighbors .social-recommendation-card .social-share { margin: 18px 0 0; }
.publication-neighbors .social-recommendation-card .social-share span { display: inline; margin: 0; font: inherit; }
.publication-related li.social-recommendation-card { padding: 22px; margin-top: 16px; border-bottom: 1px solid var(--social-line); }
.publication-related .social-recommendation-card > a { color: #233943; font: 400 23px/1.4 Georgia, 'Times New Roman', serif; }
.publication-related .social-recommendation-card .social-share { margin-bottom: 0; }
body main.social-collection { width: min(900px, calc(100% - 48px)); max-width: 900px; margin: 36px auto 60px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.social-collection h1 { font: 400 clamp(34px, 4vw, 48px)/1.18 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.social-collection :is(.popular-list, .reading-guide-list) { display: grid; gap: 24px; list-style: none; padding: 0; margin: 30px 0; }
.social-collection li.social-content-card { padding: 26px; }
.social-collection li.social-content-card h2 { margin: 12px 0 18px; }
.social-collection .popular-list { counter-reset: social-rank; }
.social-collection .popular-list > .social-content-card { position: relative; counter-increment: social-rank; }
.social-collection .popular-list > .social-content-card::before { content: counter(social-rank, decimal-leading-zero); position: absolute; top: 25px; inset-inline-end: 24px; color: #a48a64; font: 400 24px/1 Georgia, serif; }
.social-collection .popular-list .social-card-identity { padding-inline-end: 42px; }

/* Home page: cards, books and broadcasts use the same paper and action strip. */
.social-home .author-masthead.identity-band { background: var(--social-card); border-color: var(--social-line); border-inline-start-color: var(--social-gold); border-radius: 14px; }
.social-home .social-page-share { display: flex; justify-content: flex-end; padding-block: 0 8px; }
.social-home .social-page-share .social-share { margin: 4px 0 16px; }
.social-home :is(.daily-news, .news-home) { color: var(--social-ink); }
.social-home :is(.daily-news-heading, .news-heading, .selection-heading) h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 32px; line-height: 1.25; letter-spacing: -.025em; }
.social-home .news-secondary .news-card.social-content-card { border: 1px solid var(--social-line); border-radius: 14px; }
.social-home .news-card.social-content-card h3 { margin: 13px 0 18px; }
.social-home .news-secondary .news-card.social-content-card h3 { font-size: 24px; }
.social-home .news-secondary .social-card-actions { align-items: flex-start; }
.social-home .news-secondary .social-share { flex-basis: 100%; }
.social-home .news-image { background: #eee7dc; }
.social-home :is(.column-home, .report-home, .news-archive-cta) { border-color: var(--social-line); background: #f0e8db; border-radius: 14px; }
.social-home :is(.column-latest, .editorial-selection li, .popular-list li).social-content-card { padding: 23px; border: 1px solid var(--social-line); border-radius: 14px; background: var(--social-card); }
.social-home .editorial-selection ul { gap: 20px; }
.social-home .popular-list:has(.social-content-card) { list-style: none; padding: 0; display: grid; gap: 16px; }
.social-home .popular-list li.social-content-card { padding: 23px; }
.social-home .popular-list li.social-content-card .social-card-byline span { margin: 0; font: 400 11px/1.5 Arial, sans-serif; }
.social-home .popular-list li.social-content-card .social-share span { display: inline; margin: 0; font: inherit; }
.social-home .report-home .social-card-actions { margin-top: 18px; }
.social-home .report-home .social-share { margin: 0; }
.social-home .book-section { background: var(--social-ink); }
.social-home .book-copy h2 em { color: var(--social-gold-light); }
.social-home .book-copy .social-card-identity { margin-bottom: 24px; }
.social-home .book-copy .social-card-identity .social-card-byline strong,
.social-home .book-copy .social-card-identity .social-card-byline > span { color: #e7decd; }
.social-home .book-copy .social-share > a.social-share-x { color: var(--social-ink); background: var(--social-gold-light); border-color: var(--social-gold-light); }
.social-home .book-copy .social-share > :is(.social-copy-button, a.social-permalink) { color: #e9dfcd; border-color: #6d7b7f; }
.social-home .book-copy .social-share .social-share-status { color: #e9dfcd; }
.social-home .media-section { background: #efe8dc; border-color: var(--social-line); }
.social-home :is(.media-feature, .event, .radio).social-content-card { display: block; padding: 24px; border: 1px solid var(--social-line); border-radius: 14px; background: var(--social-card); }
.social-home .social-media-feature-link,
.social-home .social-event-main { display: block; color: inherit; text-decoration: none; min-width: 0; }
.social-home .social-media-feature-link .vesair-art { border-radius: 9px; background: #203942; color: #f7f2e9; }
.social-home .social-media-feature-link .vesair-word > span { color: var(--social-gold-light); }
.social-home .social-media-feature-link .media-caption { gap: 15px; align-items: flex-start; padding-top: 18px; }
.social-home .social-media-feature-link .media-caption h3 { margin: 5px 0 8px; }
.social-home .social-media-feature-link .media-caption p { font-size: 14px; line-height: 1.7; }
.social-home .social-event-main .article-meta { flex-wrap: wrap; gap: 8px 16px; color: #627078; font: 500 12px/1.6 Arial, sans-serif; letter-spacing: .015em; }
.social-home .social-event-main p { font-size: 15px; line-height: 1.7; }
.social-home .radio.social-content-card > .eyebrow { font-size: 11px; }
.social-home .radio.social-content-card > p { font-size: 16px; line-height: 1.75; }
.social-home .interview-video.social-content-card > .social-card-actions { grid-column: 1 / -1; }
.social-home .broadcast-grid > .social-content-card { overflow: hidden; }
.social-home .broadcast-grid > .social-content-card > .social-card-identity,
.social-home .broadcast-grid > .social-content-card > .social-share { margin: 22px; }
.social-home .broadcast-grid > .social-content-card > .social-card-actions { margin: 20px 0 0; }
.social-book-page .coming-book { background: var(--social-paper); }
.social-book-page .book-preview { background: var(--social-card); padding: 30px; margin-top: 30px; margin-bottom: 40px; border: 1px solid var(--social-line); border-radius: 14px; }
.social-book-page .social-content-card { padding: 26px; }
.social-book-page .book-back-cover.social-content-card { background: var(--social-card); border: 1px solid var(--social-line); border-radius: 14px; }
.social-book-page .social-share { margin-bottom: 0; }

@media (max-width: 1000px) {
  .soylex-card.social-content-card .soylex-card-copy { padding: 22px; }
  .social-home .news-secondary .social-card-identity { gap: 9px; }
  .social-home .news-secondary .social-card-avatar { flex-basis: 35px; width: 35px; height: 35px; font-size: 15px; }
}
@media (max-width: 760px) {
  .catalog-page .catalog-banner { padding: 29px 0; }
  .catalog-page .catalog-banner h1 { font-size: 38px; }
  .catalog-page .catalog-banner p:not(.eyebrow) { font-size: 16px; }
  .catalog-cards:has(.social-content-card) { gap: 20px; }
  .dedix .dedix-hero { padding: 26px 24px 1px; border-radius: 13px; }
  .social-content-card { scroll-margin-top: 150px; }
  .social-content-card :is(h2, h3) { font-size: 25px; }
  .social-card-identity { gap: 10px; }
  .social-card-byline strong { font-size: 13px; }
  .social-card-byline > span { font-size: 11px; }
  .social-share > a.social-share-x { min-height: 46px; }
  .social-card-actions { gap: 8px 16px; }
  body main.social-reading { width: calc(100% - 28px); margin: 20px 14px 38px; padding: 24px 22px 30px; border: 1px solid var(--social-line); border-radius: 12px; }
  .social-reading .social-content-card.author-followup { padding: 20px; }
  .social-reading .publication-related li.social-recommendation-card { padding: 19px; }
  .social-reading .publication-neighbors { padding-top: 20px; padding-bottom: 20px; }
  .social-recommendation-card { padding: 18px; }
  body main.social-collection { width: calc(100% - 32px); margin: 26px 16px 40px; padding: 0; }
  .social-collection li.social-content-card { padding: 22px; }
  .podcast-card.social-content-card,
  .dedix-card.social-content-card .dedix-copy { padding: 22px; }
  .social-home :is(.daily-news-heading, .news-heading, .selection-heading) h2 { font-size: 29px; }
  .social-home .news-secondary .news-card.social-content-card { grid-template-columns: 84px minmax(0, 1fr); }
  .social-home .news-secondary .news-copy { padding: 18px 16px; }
  .social-home .news-secondary .news-image { margin: 20px 0 0 12px; }
  .social-home .news-secondary .news-image img { width: 70px; height: 78px; }
  .social-home .editorial-selection ul { gap: 18px; }
  .social-home .report-home { align-items: start; }
  .social-home .report-home .social-share { flex-basis: 100%; }
  .social-book-page .book-preview { padding: 24px 20px; }
}
@media (max-width: 480px) {
  .social-card-identity .social-card-avatar { flex-basis: 37px; width: 37px; height: 37px; font-size: 16px; }
  .social-card-actions { align-items: stretch; flex-direction: column; gap: 9px; }
  .social-card-actions > .social-share { width: 100%; }
  .social-share.publication-share-top.social-share--compact { gap: 8px; }
  .social-share--compact > a.social-share-x { flex: 1 1 135px; }
  .social-share--compact > :is(.social-copy-button, a.social-permalink) { flex: 1 1 135px; }
  .soylex-card.social-content-card .soylex-card-copy { padding: 20px; }
  .dedix-card.social-content-card .dedix-copy,
  .podcast-card.social-content-card { padding: 20px; }
  body main.social-reading { padding: 22px 18px 28px; }
  .social-reading .reading-actions { align-items: stretch; }
  .social-reading .reading-actions .social-share { width: 100%; }
  .social-reading .social-share > a.social-share-x,
  .social-reading .social-share > .social-copy-button { flex: 1 1 140px; }
  .social-collection li.social-content-card { padding: 21px 18px; }
  .social-home .news-secondary .news-card.social-content-card { grid-template-columns: minmax(0, 1fr); }
  .social-home .news-secondary .news-image { display: block; width: 100%; margin: 0; }
  .social-home .news-secondary .news-image img { width: 100%; height: auto; max-height: 180px; object-fit: contain; }
  .social-home .news-secondary .news-copy { padding: 22px; }
  .social-home .report-home { grid-template-columns: minmax(0, 1fr); padding: 22px; }
  .social-home .report-home > img { width: 92px; height: auto; max-height: 150px; }
  .social-home :is(.column-latest, .editorial-selection li, .popular-list li).social-content-card { padding: 21px; }
  .social-home :is(.media-feature, .event, .radio).social-content-card { padding: 20px; }
  .social-book-page .social-content-card { padding: 21px 18px; }
}
@media print {
  .social-share,
  .social-card-actions,
  .social-reading .reading-actions { display: none !important; }
  body.social-home,
  body.social-book-page,
  body:has(main.social-reading),
  body:has(main.social-collection),
  body:has(main.catalog-page) { background: #fff; }
  body main.social-reading,
  .social-content-card,
  .social-recommendation-card { box-shadow: none; background: #fff; border-color: #ddd; }
  body main.social-reading { width: 100%; max-width: none; margin: 0; padding: 0; border: 0; }
  .social-card-identity { break-after: avoid; }
  .catalog-page .catalog-banner { background: #fff !important; color: #000; padding: 18px 0; }
  .catalog-page .catalog-banner h1,
  .catalog-page .catalog-banner p:not(.eyebrow) { color: #000; }
}
