@charset "UTF-8";
/* Winn's: selectors wrapped in :where() so theme components win over default content typography. */

/* ============================================ */
/* ============= WP Editor Styles ============= */
/* ============================================ */

:where(.editor--content) h1 {
    font-family: var(--ff-primary);
    font-size: var(--fs-40);
    line-height: 1.25;
    margin: 0 0 1.75rem 0;
    font-weight: 600;
    margin-bottom: 1.75rem;
}
:where(.editor--content) h1.has-small-font-size {
    font-size: var(--fs-24) !important;
    margin: 0 0 1.25rem 0;
}
:where(.editor--content) h1.has-medium-font-size {
    font-size: var(--fs-32) !important;
    margin: 0 0 1.5rem 0;
}
:where(.editor--content) h1.has-large-font-size {
    font-size: var(--fs-40) !important;
    margin: 0 0 1.75rem 0;
}
:where(.editor--content) h1.has-x-large-font-size {
    font-size: var(--fs-xl) !important;
    margin: 0 0 2rem 0;
}

/*/*/

:where(.editor--content) h2 {
    font-family: var(--ff-primary);
    font-size: var(--fs-40);
    line-height: 1.33;
    margin: 0 0 1.5rem 0;
    font-weight: 700;
    margin-bottom: 1.5rem;
}
:where(.editor--content) h2.has-small-font-size {
    font-size: var(--fs-24) !important;
    margin: 0 0 1.25rem 0;
}
:where(.editor--content) h2.has-medium-font-size {
    font-size: var(--fs-32) !important;
    margin: 0 0 1.25rem 0;
}
:where(.editor--content) h2.has-large-font-size {
    font-size: var(--fs-40) !important;
    margin: 0 0 1.5rem 0;
}
:where(.editor--content) h2.has-x-large-font-size {
    font-size: var(--fs-xl) !important;
    margin: 0 0 1.75rem 0;
}

/*/*/

:where(.editor--content) h3 {
    font-family: var(--ff-primary);
    font-size: var(--fs-32);
    line-height: 1.45;
    margin: 0 0 1.5rem 0;
    font-weight: 700;
    margin-bottom: 1.5rem;
}
:where(.editor--content) h3.has-small-font-size {
    font-size: var(--fs-20) !important;
    margin: 0 0 1.125rem 0;
}
:where(.editor--content) h3.has-medium-font-size {
    font-size: var(--fs-24) !important;
    margin: 0 0 1.125rem 0;
}
:where(.editor--content) h3.has-large-font-size {
    font-size: var(--fs-32) !important;
    margin: 0 0 1.25rem 0;
}
:where(.editor--content) h3.has-x-large-font-size {
    font-size: var(--fs-40) !important;
    margin: 0 0 1.5rem 0;
}

/*/*/

:where(.editor--content) h4 {
    font-family: var(--ff-primary);
    font-size: var(--fs-24);
    line-height: 1.45;
    margin: 0 0 1.25rem 0;
    font-weight: 700;
    margin-bottom: 1.25rem;
}
:where(.editor--content) h5 {
    font-family: var(--ff-primary);
    font-size: var(--fs-20);
    line-height: 1.45;
    margin: 0 0 1.25rem 0;
    font-weight: 700;
    margin-bottom: 1.125rem;
}
:where(.editor--content) h6 {
    font-family: var(--ff-primary);
    font-size: var(--fs-body-m);
    line-height: 1.45;
    margin: 0 0 1.25rem 0;
    font-weight: 700;
    margin-bottom: 1rem;
}

/*/*/

:where(.editor--content) p {
    margin-top: 0;
    margin-bottom: 1.5rem;
    line-height: 1.45;
}
:where(.editor--content) p.has-small-font-size {
    font-size: var(--fs-body-s) !important;
}
:where(.editor--content) p.has-medium-font-size {
    font-size: var(--fs-body-m) !important;
}
:where(.editor--content) p.has-large-font-size {
    font-size: var(--fs-body-l) !important;
}
:where(.editor--content) p.has-x-large-font-size {
    font-size: var(--fs-22) !important;
}
:where(.editor--content) > p:last-child {
    margin-bottom: 0;
}

/*/*/

:where(.editor--content) .wp-block-buttons.is-layout-flex {
    display: flex;
    gap: 2rem;
}

/*/*/

:where(.editor--content) ul,
:where(.editor--content) ol {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 1.5rem;
}
:where(.editor--content) ol {
    counter-reset: numbers-counter;
}
:where(.editor--content) li {
    margin-top: 0;
    margin-bottom: 0.5rem;
}
:where(.editor--content) li:last-child {
    margin-bottom: 0;
}
:where(.editor--content) ol li {
    counter-increment: numbers-counter;
    padding-left: 2rem;
    position: relative;
}
:where(.editor--content) ol li:before {
    content: counter(numbers-counter) '. ';
    position: absolute;
    right: calc(100% - 1.5rem);
    font-size: var(--fs-body-m);
    color: var(--cl-text);
    font-weight: 700;
    line-height: 1.75;
}
:where(.editor--content) ul li {
    padding-left: 2rem;
    position: relative;
}
:where(.editor--content) ul li:before {
    content: "";
    height: 0.25rem;
    width: 0.25rem;
    border-radius: 50%;
    background-color: var(--cl-text);
    position: absolute;
    top: 0.8rem;
    right: calc(100% - 1.5rem);
}

/*/*/

:where(.editor--content) a:not([class]) {
    color: var(--cl-secondary);
    text-decoration: underline dotted;
    font-weight: 600;
    text-underline-offset: 0.25rem;
    letter-spacing: 0.25pt;
    padding: 0 0.125rem;
    border-radius: 0.25rem;
}
:where(.editor--content) a:not([class]):hover {
    color: var(--cl-rollover);
    text-decoration: underline;
}
:where(.editor--content) a:not([class]):focus-visible {
    outline: 0.125rem solid var(--cl-rollover);
    outline-offset: 0;
}

/*/*/

:where(.editor--content) strong {
    font-weight: 700;
}
:where(.editor--content) em {
    font-style: italic;
}
:where(.editor--content) u {
    text-decoration: underline;
}

:where(.editor--content) sup {
  vertical-align: super;
  font-size: 0.5em; /* or 0.75em */
  line-height: 0;
}

/*/*/

.wp-block-embed {
    margin-bottom: 1.5rem;
    & iframe {
        width: 100%;
        height: auto;
        aspect-ratio: attr(width type(<number>)) / attr(height type(<number>));
    }
}
