/* VYRITY-005P1C — canonical article presentation contract
   This same file is loaded by TinyMCE classic/iframe mode and public articles. */

.vyrity-article,
.vyrity-editor-body.vyrity-article{
  --vyrity-article-ink:var(--zen-ink,#20344d);
  --vyrity-article-muted:var(--zen-muted,#60748b);
  --vyrity-article-accent:var(--zen-cyan,#20bddb);
  --vyrity-article-accent-2:var(--zen-lavender,#9c86ef);
  --vyrity-article-line:var(--zen-line,rgba(75,97,123,.20));
  --vyrity-article-surface:var(--zen-surface-2,rgba(117,143,176,.08));
  color:var(--vyrity-article-muted);
  font-family:var(--vyrity-body-font,"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif)!important;
  font-size:1.05rem;
  line-height:1.82;
  overflow-wrap:anywhere;
}

/* TinyMCE iframe gets the same visual contract with stable editor canvas values. */
body.vyrity-editor-body.vyrity-article{
  --zen-ink:#20344d;
  --zen-muted:#60748b;
  --zen-cyan:#179fc4;
  --zen-lavender:#8873d9;
  --zen-line:rgba(75,97,123,.20);
  --zen-surface-2:rgba(117,143,176,.08);
  max-width:860px;
  margin:0 auto;
  padding:34px 42px 70px;
  background:#fbfdff;
  color:var(--vyrity-article-muted);
}

.vyrity-article p{margin:0 0 1.28em}
.vyrity-article > :first-child{margin-top:0}
.vyrity-article > :last-child{margin-bottom:0}

.vyrity-article h2,
.vyrity-article h3,
.vyrity-article h4{
  color:var(--vyrity-article-ink);
  font-family:var(--vyrity-brand-font,"Montserrat",system-ui,sans-serif)!important;
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.16;
}
.vyrity-article h2{font-size:clamp(1.55rem,2.15vw,1.82rem);margin:1.9em 0 .58em}
.vyrity-article h3{font-size:clamp(1.22rem,1.7vw,1.38rem);margin:1.75em 0 .52em}
.vyrity-article h4{font-size:1.12rem;margin:1.55em 0 .45em}

.vyrity-article strong{color:var(--vyrity-article-ink);font-weight:750}
.vyrity-article em{font-style:italic}

.vyrity-article a{
  color:var(--vyrity-article-accent);
  font-weight:700;
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}
.vyrity-article a:hover{text-decoration-thickness:.12em}

.vyrity-article ul,
.vyrity-article ol{margin:0 0 1.35em;padding-left:1.45em}
.vyrity-article li{margin:.42em 0;padding-left:.12em}

/* Canonical editorial components */
.vyrity-article .vyrity-lead,
.vyrity-article .blog-lead-copy{
  color:var(--vyrity-article-ink);
  font-size:1.18em;
  line-height:1.65;
  margin-bottom:1.45em;
}

.vyrity-article blockquote,
.vyrity-article .vyrity-pullquote,
.vyrity-article .blog-pullquote{
  margin:1.9em 0;
  border-left:3px solid var(--vyrity-article-accent);
  color:var(--vyrity-article-ink);
  padding:.78em 0 .78em 1.2em;
}

.vyrity-article .vyrity-pullquote,
.vyrity-article .blog-pullquote{
  border-radius:0 16px 16px 0;
  background:color-mix(in srgb,var(--vyrity-article-accent) 8%,transparent);
  font-size:clamp(1.10rem,1.8vw,1.28rem);
  font-weight:650;
  line-height:1.4;
  padding:1em 1.25em;
}

.vyrity-article .vyrity-note,
.vyrity-article .blog-callout{
  margin:1.8em 0;
  border:1px solid var(--vyrity-article-line);
  border-radius:16px;
  background:var(--vyrity-article-surface);
  color:var(--vyrity-article-muted);
  padding:1.05em 1.2em;
}

.vyrity-article .vyrity-figure,
.vyrity-article figure.image{
  margin:2em auto;
}
.vyrity-article .vyrity-figure img,
.vyrity-article figure.image img,
.vyrity-article > img{
  display:block;
  max-width:100%;
  width:auto;
  height:auto;
  border-radius:16px;
}
.vyrity-article .vyrity-figure img,
.vyrity-article figure.image img{width:100%}
.vyrity-article figcaption,
.vyrity-article .blog-caption{
  margin-top:.62em;
  color:var(--vyrity-article-muted);
  font-size:.82rem;
  line-height:1.5;
  text-align:left;
}

.vyrity-article hr{
  height:1px;
  border:0;
  margin:2.2em 0;
  background:var(--vyrity-article-line);
}

.vyrity-article code{
  border-radius:6px;
  background:var(--vyrity-article-surface);
  color:var(--vyrity-article-ink);
  padding:.14em .35em;
  font-size:.9em;
}
.vyrity-article pre{
  overflow:auto;
  margin:1.6em 0;
  border-radius:14px;
  background:#15263a;
  color:#eef7ff;
  padding:18px;
  line-height:1.55;
}
.vyrity-article pre code{background:transparent;color:inherit;padding:0}

/* Tables are preserved for legacy round-trip compatibility but are not exposed in the P1 toolbar. */
.vyrity-article table{width:100%;border-collapse:collapse;margin:1.6em 0}
.vyrity-article th,
.vyrity-article td{border:1px solid var(--vyrity-article-line);padding:.62em .72em;text-align:left;vertical-align:top}
.vyrity-article th{color:var(--vyrity-article-ink);font-weight:750}

/* Template-owned signature: exactly once per public article. */
.vyrity-authorship{
  margin-top:3.1em;
  padding-top:1.35em;
  border-top:1px solid var(--vyrity-article-line);
  color:var(--vyrity-article-muted);
  font-family:var(--vyrity-body-font,"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif)!important;
  font-size:.9rem;
  line-height:1.65;
}
.vyrity-authorship strong{display:block;color:var(--vyrity-article-ink);margin-bottom:.3em}
.vyrity-authorship p{margin:0}

@media(max-width:720px){
  .vyrity-article{font-size:1rem;line-height:1.74}
  body.vyrity-editor-body.vyrity-article{padding:22px 18px 52px}
  .vyrity-article h2{font-size:1.72rem}
  .vyrity-article h3{font-size:1.38rem}
  .vyrity-article .vyrity-pullquote,
  .vyrity-article .blog-pullquote{font-size:1.2rem;padding:.9em 1em}
}
