/* 17. EasyBlog — TOR integration
 * Scoped to the observed EasyBlog component and embedded Foundry toolbar.
 * Specificity intentionally exceeds the extension styles loaded after user.css.
 */
body.site #eb.eb-component {
  color: var(--or-text);
  font-family: var(--cassiopeia-font-family-body);
  font-size: 1rem;
  line-height: 1.75;
  min-width: 0;
  --bs-body-color: var(--or-text);
  --bs-body-bg: var(--or-surface);
}
body.site #eb .eb-container,
body.site #eb .eb-container__main,
body.site #eb .eb-content {
  min-width: 0;
  color: var(--or-text);
  background: transparent;
}
body.site #eb a { color: var(--or-cyan); }
body.site #eb a:hover { color: var(--or-text); }
body.site #eb :is(h1,h2,h3,h4,h5,h6),
body.site #eb :is(.eb-entry-title,.eb-post-title,.eb-authors-name) a {
  color: var(--or-text);
  font-family: var(--cassiopeia-font-family-headings);
}
body.site #eb :is(.text-muted,.muted,.eb-entry-meta,.eb-post-meta,
.eb-post-date,.eb-meta-date,.eb-post-hits,.eb-post-comments,
.eb-entry-author-meta,.eb-image-caption) {
  color: var(--or-muted) !important;
}
body.site #eb :is(.eb-entry-meta,.eb-post-meta) a { color: var(--or-cyan); }
body.site #eb .eb-entry-title {
  margin: 0 0 1rem;
  font-size: clamp(1.9rem,3.5vw,3rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
}
body.site #eb .eb-entry-head { margin-bottom: 1.5rem; }
body.site #eb .eb-entry-article {
  color: var(--or-copy);
  line-height: 1.8;
  overflow-wrap: break-word;
}
body.site #eb .eb-entry-article p { color: inherit; }
body.site #eb .eb-entry-article :is(img,video) { max-width: 100%; height: auto; }
body.site #eb .eb-entry-article iframe { max-width: 100%; }
body.site #eb .eb-entry-article blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.4rem;
  color: var(--or-copy);
  background: var(--or-surface-raised);
  border: 0;
  border-left: 3px solid var(--or-cyan);
  border-radius: 0 .6rem .6rem 0;
}
body.site #eb :is(hr,.eb-entry-tools,.eb-section-heading) {
  border-color: var(--or-line);
}
body.site #eb .eb-section-heading {
  margin: 2rem 0 1rem;
  padding-bottom: .75rem;
  color: var(--or-text);
  font-size: 1rem;
  letter-spacing: .035em;
}

/* Toolbar has its own light-theme wrapper and Foundry styles. */
body.site #eb #fd.mod-si-toolbar,
body.site #eb #fd .si-theme-foundry,
body.site #eb #fd .fd-toolbar {
  color: var(--or-text);
  background: var(--or-surface);
  border-color: var(--or-line);
}
body.site #eb #fd .fd-toolbar {
  padding: .6rem;
  border: 1px solid var(--or-line);
  border-radius: .85rem;
}
body.site #eb #fd :is(.fd-toolbar__link,.fd-toolbar__link i) {
  color: var(--or-muted);
}
body.site #eb #fd .fd-toolbar__link {
  border-radius: .5rem;
  text-decoration: none;
}
body.site #eb #fd .fd-toolbar__link:hover,
body.site #eb #fd .fd-toolbar__link:focus-visible,
body.site #eb #fd .is-active > .fd-toolbar__link {
  color: var(--or-cyan);
  background: var(--or-surface-raised);
}
body.site #eb #fd .fd-toolbar__link:hover i { color: inherit; }
body.site #eb :is(.dropdown-menu,.o-dropdown-menu),
body.site #eb #fd :is(.dropdown-menu,.o-dropdown-menu) {
  color: var(--or-text);
  background: var(--or-surface-raised);
  border: 1px solid var(--or-line);
  box-shadow: 0 12px 30px rgba(0,0,0,.3);
}
body.site #eb :is(.dropdown-menu,.o-dropdown-menu) a,
body.site #eb #fd :is(.dropdown-menu,.o-dropdown-menu) a {
  color: var(--or-text);
}

/* Subscription, author and comments: replace light surfaces. */
body.site #eb .eb-subscribe-form {
  margin-block: 2rem;
  padding: clamp(1.25rem,3vw,2.5rem);
  color: var(--or-copy);
  background: linear-gradient(135deg,var(--or-surface-raised),var(--or-surface));
  background-image: linear-gradient(135deg,var(--or-surface-raised),var(--or-surface));
  border: 1px solid rgba(71,189,233,.3);
  border-radius: 1rem;
}
body.site #eb .eb-subscribe-form__inner {
  position: relative;
  max-width: 36rem;
  margin-inline: auto;
  color: var(--or-copy);
  background: transparent;
}
body.site #eb .eb-subscribe-form__title {
  color: var(--or-text);
  font-size: clamp(1.4rem,2.5vw,1.9rem);
  font-weight: 700;
  line-height: 1.3;
}
body.site #eb .eb-subscribe-form p { color: var(--or-copy); }
body.site #eb :is(.eb-entry-author-bio,.eb-comment-form) {
  padding: 1.25rem;
  color: var(--or-text);
  background: var(--or-surface);
  border: 1px solid var(--or-line);
  border-radius: 1rem;
}
body.site #eb .o-empty {
  padding: 2rem 1.25rem;
  color: var(--or-muted);
  background: var(--or-surface);
  border: 1px dashed rgba(174,187,199,.35);
  border-radius: .85rem;
}
body.site #eb :is(.o-empty__text,.o-empty__icon) { color: var(--or-muted); }
body.site #eb .eb-composer-author { margin-bottom: 1rem; }
body.site #eb :is(.form-control,.form-select,textarea,select),
body.site #eb #fd :is(.form-control,.form-select) {
  color: var(--or-text);
  background-color: var(--or-surface-raised);
  border: 1px solid #526575;
  border-radius: .55rem;
  font-family: var(--cassiopeia-font-family-body);
}
body.site #eb :is(input.form-control,select.form-control) { min-height: 44px; }
body.site #eb :is(.form-control,textarea)::placeholder {
  color: var(--or-muted);
  opacity: 1;
}
body.site #eb :is(.form-control,.form-select,textarea,select):focus {
  color: var(--or-text);
  background-color: var(--or-surface-raised);
  border-color: var(--or-cyan);
  box-shadow: 0 0 0 .2rem rgba(71,189,233,.15);
}
body.site #eb input:is([type=checkbox],[type=radio]) { accent-color: var(--or-cyan); }
body.site #eb .eb-checkbox label { color: var(--or-copy); }

/* Comment editor chrome is generated by JavaScript; keep its text legible. */
body.site #eb .eb-comment-editor :is(.markItUpHeader,.markItUpFooter,.markItUpContainer,
.markItUpEditor,.markItUp,.redactor-toolbar,.redactor-editor,.redactor-box) {
  color: var(--or-text);
  background-color: var(--or-surface-raised);
  border-color: #526575;
}
body.site #eb .eb-comment-editor :is(.markItUpHeader,.redactor-toolbar) a {
  color: var(--or-text);
}

/* Buttons, metadata controls and pagination; retain social brand colours. */
body.site #eb .btn {
  font-family: var(--cassiopeia-font-family-body);
  border-radius: .6rem;
}
body.site #eb .btn-primary {
  color: var(--or-bg);
  background: var(--or-cyan);
  border-color: var(--or-cyan);
  font-weight: 700;
}
body.site #eb .btn-primary:hover,
body.site #eb .btn-primary:focus-visible {
  color: var(--or-bg);
  background: var(--or-gold);
  border-color: var(--or-gold);
}
body.site #eb :is(.btn-default,.eb-post-more a) {
  color: var(--or-text);
  background: var(--or-surface-raised);
  border: 1px solid #526575;
}
body.site #eb :is(.btn-default,.eb-post-more a):hover {
  color: var(--or-cyan);
  background: var(--or-surface);
  border-color: var(--or-cyan);
}
body.site #eb :is(.eb-help-report,.eb-help-print,.eb-post-admin) a {
  color: var(--or-muted);
}
body.site #eb :is(.eb-help-report,.eb-help-print,.eb-post-admin) a:hover {
  color: var(--or-cyan);
}
body.site #eb :is(.pagination,.eb-pagination) :is(a,span.page-link) {
  color: var(--or-muted);
  background: var(--or-surface);
  border-color: #526575;
}
body.site #eb :is(.pagination,.eb-pagination) a:hover,
body.site #eb .pagination .active > :is(a,span) {
  color: var(--or-bg);
  background: var(--or-cyan);
  border-color: var(--or-cyan);
}
body.site #eb :is(a,button,input,textarea,select):focus-visible {
  outline: 2px solid var(--or-cyan);
  outline-offset: 3px;
}
@media (max-width: 639.98px) {
  body.site #eb .eb-entry-title { font-size: clamp(1.7rem,7vw,2.2rem); }
  body.site #eb :is(.eb-comment-form,.eb-entry-author-bio) { padding: 1rem; }
  body.site #eb .eb-subscribe-form { padding: 1.25rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.site #eb :is(a,button,.btn) { transition: none; }
}
@media (forced-colors: active) {
  body.site #eb :is(.eb-subscribe-form,.eb-comment-form,.o-empty) {
    border: 1px solid CanvasText;
  }
}

/* 18. Foundry pagination — verified from the EasyBlog listing source. */
body.site #eb #fd [data-fd-pagination][data-fd-extension="easyblog"],
body.site #eb #fd .o-pagination {
  color: var(--or-muted);
  background: transparent;
}
body.site #eb #fd [data-fd-pagination] .o-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  color: var(--or-muted) !important;
  background: var(--or-surface-raised) !important;
  border: 1px solid #526575 !important;
  box-shadow: none;
  text-decoration: none;
  font-family: var(--cassiopeia-font-family-body);
  line-height: 1.5;
}
body.site #eb #fd [data-fd-pagination] .o-pagination__btn:not([data-fd-pagination-link-disabled]):hover {
  color: var(--or-text) !important;
  background: #1a2c3d !important;
  border-color: var(--or-cyan) !important;
}
body.site #eb #fd [data-fd-pagination] .o-pagination__btn[aria-disabled="true"] {
  color: var(--or-muted) !important;
  background: var(--or-surface) !important;
  border-color: var(--or-line) !important;
  opacity: .6;
  cursor: default;
}
/* The current page also carries the disabled data attribute; keep it highlighted. */
body.site #eb #fd [data-fd-pagination] .o-pagination__btn[aria-current="page"] {
  color: var(--or-bg) !important;
  background: var(--or-cyan) !important;
  border-color: var(--or-cyan) !important;
  font-weight: 700;
  opacity: 1;
  cursor: default;
}
body.site #eb #fd [data-fd-pagination] .o-pagination__btn :is(i,span) {
  color: inherit !important;
}
body.site #eb #fd [data-fd-pagination] .o-pagination__btn:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--or-cyan);
  outline-offset: 3px;
}

/* Category and author listings: actual EasyBlog markup supplied 18 October. */
body.site #eb.eb-component {
  --tor-eb-font: var(--cassiopeia-font-family-body, "Frutiger", sans-serif);
  font-family: var(--tor-eb-font);
  font-size: 1.0625rem;
  line-height: 1.75;
}
body.site #eb :is(.eb-authors-head,.eb-post-body,.eb-post-meta,.eb-post-more,.eb-post-actions,.eb-authors-name,.eb-post-title) {
  font-family: var(--tor-eb-font);
}
body.site #eb .eb-authors-head {
  display: flex;
  align-items: flex-start;
  padding: clamp(1rem, 2.5vw, 2rem);
  color: var(--or-text, #f4f7fa);
  background: var(--or-surface-raised, #121e2a);
  border: 1px solid var(--or-line, rgba(255,255,255,.1));
  border-radius: 1rem;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
body.site #eb .eb-authors-head > .t-flex-grow--1 {
  min-width: 0;
}
body.site #eb .eb-authors-name,
body.site #eb .eb-authors-name a {
  color: var(--or-text, #f4f7fa) !important;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 .5rem;
  text-decoration: none;
  overflow-wrap: anywhere;
}
body.site #eb .eb-authors-head .o-avatar,
body.site #eb .eb-authors-head .o-avatar__content {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}
body.site #eb .eb-authors-head .o-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: .65rem;
}
body.site #eb .eb-authors-bio,
body.site #eb .eb-authors-bio :is(p,div,span) {
  color: var(--or-copy, #c6d1da);
  font-size: 1.0625rem;
  line-height: 1.75;
  overflow-wrap: break-word;
}
body.site #eb .eb-authors-bio { margin-top: 1rem; }
body.site #eb .eb-authors-subscribe a,
body.site #eb .eb-authors-bio a {
  color: var(--or-cyan, #47bde9);
}
body.site #eb .eb-authors-bio a:hover { text-decoration: underline; }
body.site #eb .eb-post-title,
body.site #eb .eb-post-title a {
  color: var(--or-text, #f4f7fa);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
}
body.site #eb .eb-post-body {
  color: var(--or-copy, #c6d1da);
  font-size: 1.0625rem;
  line-height: 1.8;
  overflow-wrap: break-word;
}
body.site #eb .eb-post-body p { color: inherit; }
body.site #eb .eb-post-meta { font-size: .9375rem; line-height: 1.65; }
body.site #eb .eb-post-more .btn {
  padding: .65rem 1rem;
  min-height: 44px;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 600;
}
/* Font rules intentionally avoid icon elements and their font families. */
@media (max-width: 639.98px) {
  body.site #eb .eb-authors-head { gap: .5rem; }
  body.site #eb .eb-authors-head .o-avatar,
  body.site #eb .eb-authors-head .o-avatar__content { width: 56px; height: 56px; }
  body.site #eb .eb-authors-head > .t-flex-shrink--0 { padding-right: .5rem; }
  body.site #eb .eb-authors-bio,
  body.site #eb .eb-authors-bio :is(p,div,span) { font-size: 1rem; }
}
