/* Editorial anchors only: never outer cards, media links, navigation or buttons.
   Shared by the frontend and Gutenberg; light reading surfaces override the token. */
:root { --editorial-link: #dfacc5; --editorial-link-hover: #ffe0ed; }
:is(.article-body, .generic-entry, .cailev-library-body) {
  --editorial-link: #752738; --editorial-link-hover: #451526;
}
:is(main, .editor-styles-wrapper) :is(p, li, dd, td, blockquote, figcaption) a[href]:not(
  .button, .wp-element-button, .wp-block-button__link, [role="button"],
  .cailev-post-language-link, .text-link, :has(img, picture, svg, video),
  nav a, .main-nav a, .site-header a, .site-footer a, .wp-block-buttons a
) {
  color: var(--editorial-link);
  text-decoration: underline;
  text-decoration-thickness: .075em;
  text-underline-offset: .18em;
  text-decoration-skip-ink: auto;
}
:is(main, .editor-styles-wrapper) :is(p, li, dd, td, blockquote, figcaption) a[href]:not(
  .button, .wp-element-button, .wp-block-button__link, [role="button"],
  .cailev-post-language-link, .text-link, :has(img, picture, svg, video),
  nav a, .main-nav a, .site-header a, .site-footer a, .wp-block-buttons a
):is(:hover, :focus-visible) {
  color: var(--editorial-link-hover);
  text-decoration-thickness: .13em;
}
:is(main, .editor-styles-wrapper) :is(p, li, dd, td, blockquote, figcaption) a[href]:not(
  .button, .wp-element-button, .wp-block-button__link, [role="button"],
  .cailev-post-language-link, .text-link, :has(img, picture, svg, video),
  nav a, .main-nav a, .site-header a, .site-footer a, .wp-block-buttons a
):focus-visible {
  outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px;
}
/* A visible cue accompanies the screen-reader announcement on external text links. */
:is(p, li, dd, td, blockquote, figcaption) a[data-cailev-external]:not(.wp-block-button__link, .button, nav a, .site-header a, .site-footer a, :has(img, svg, picture))::after { content:" ↗"; font-size:.85em; white-space:nowrap; }

#cailev-new-tab-note { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
