.thorn3-site { background: var(--thorn3-paper); color: var(--thorn3-ink); font-family: var(--thorn3-font); font-size: var(--thorn3-text-body); line-height: var(--thorn3-leading); }
.thorn3-editorial *, .thorn3-editorial *::before, .thorn3-editorial *::after { box-sizing: border-box; }
.thorn3-editorial { margin: 0; }
.thorn3-editorial :where(h1,h2,h3,h4,h5,h6) { color: inherit; font-family: var(--thorn3-font); font-weight: var(--thorn3-weight-medium); line-height: 1.2; padding: 0; margin: 0 0 var(--thorn3-space-5); overflow-wrap: anywhere; }
.thorn3-editorial h1 { font-size: var(--thorn3-text-h1); letter-spacing: -.055em; line-height: var(--thorn3-leading-tight); }
.thorn3-editorial h2 { font-size: var(--thorn3-text-h2); letter-spacing: -.04em; }
.thorn3-editorial h3 { font-size: var(--thorn3-text-h3); letter-spacing: -.025em; }
.thorn3-editorial p { padding: 0; margin: 0 0 var(--thorn3-space-5); }
.thorn3-editorial a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .24em; }
.thorn3-editorial a:hover { text-decoration: underline; }
.thorn3-site :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--thorn3-focus); outline-offset: 4px; }
.thorn3-editorial img { display: block; max-width: 100%; height: auto; }
.thorn3-editorial figure { margin: 0; }
.thorn3-editorial figcaption { font-size: var(--thorn3-text-small); color: var(--thorn3-muted); margin-top: var(--thorn3-space-3); }
.thorn3-editorial :where(iframe,video) { max-width: 100%; }
.thorn3-editorial :where(input,select,textarea,button) { font: inherit; max-width: 100%; }
.thorn3-editorial :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) { border: var(--thorn3-border) solid var(--thorn3-muted); border-radius: var(--thorn3-radius); color: var(--thorn3-ink); background: var(--thorn3-paper); padding: var(--thorn3-space-3); min-height: var(--thorn3-control-height); }
.thorn3-editorial label { display: block; margin-bottom: var(--thorn3-space-2); }
/* Divi's frontend JS writes display:none inline onto native comment labels. */
.thorn3-editorial #commentform label { display: block !important; }
.thorn3-editorial #commentform :is(input[type="text"],input[type="email"],input[type="url"],textarea) { color: var(--thorn3-ink); background: var(--thorn3-paper); border: var(--thorn3-border) solid var(--thorn3-muted); }
.thorn3-editorial #commentform ::placeholder { color: var(--thorn3-muted); opacity: 1; }
.thorn3-editorial :where(input,select,textarea)[aria-invalid="true"] { border-color: var(--thorn3-error); }
.thorn3-editorial :where(pre, .wp-block-table) { max-width: 100%; overflow: auto; }
.thorn3-editorial :where(code,pre) { overflow-wrap: anywhere; }
.thorn3-site [hidden] { display: none !important; }
.thorn3-editorial ::selection { color: var(--thorn3-ink); background: var(--thorn3-gold); }
@media (prefers-reduced-motion: reduce) {
  .thorn3-site *, .thorn3-site *::before, .thorn3-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
