/* Buzz Events — rich-text content styles.

   One set of styles for description HTML written in the Buzz rich-text editor,
   applied everywhere it is shown: the editor itself (admin), the calendar and
   widget popups, and the single event page. Containers opt in with the
   .buzz-rte-content class.

   Text styles are the site's own, from Dog House → Branding → Fonts: font,
   weight, size, color and all caps for Paragraph and Heading 1–6.
   Support\Typography prints them on :root as
   --buzz-rte-{p,h1…h6}-{font,weight,size,color,case}; the fallbacks here are
   the Dog House defaults.

   Selectors are prefixed with :root so they outrank the host page's resets
   (wp-admin's list reset, the design system's "* { margin: 0; padding: 0 }",
   theme typography, and the popup's own description rules). This sheet is
   loaded after those. */

:root .buzz-rte-content {
  font-family: var(--buzz-rte-p-font, 'Poppins', sans-serif);
  font-size: var(--buzz-rte-p-size, 13px);
  font-weight: var(--buzz-rte-p-weight, 400);
  line-height: 1.6;
  color: var(--buzz-rte-p-color, var(--color-text-body, #5F6579));
  overflow-wrap: break-word;
}

/* Paragraph */
:root .buzz-rte-content p {
  font-family: var(--buzz-rte-p-font, 'Poppins', sans-serif);
  font-size: var(--buzz-rte-p-size, 13px);
  font-weight: var(--buzz-rte-p-weight, 400);
  line-height: 1.6;
  margin: 0 0 0.75em;
  padding: 0;
}

/* Headings */
:root .buzz-rte-content h1,
:root .buzz-rte-content h2,
:root .buzz-rte-content h3,
:root .buzz-rte-content h4,
:root .buzz-rte-content h5,
:root .buzz-rte-content h6 {
  margin: 0.35em 0;
  padding: 0;
  line-height: 1.15;
  letter-spacing: normal;
  overflow-wrap: break-word;
}
:root .buzz-rte-content h1 { font-family: var(--buzz-rte-h1-font, 'Poppins', sans-serif); font-size: var(--buzz-rte-h1-size, 32px); font-weight: var(--buzz-rte-h1-weight, 400); color: var(--buzz-rte-h1-color, var(--color-text-primary, #3d4250)); text-transform: var(--buzz-rte-h1-case, none); }
:root .buzz-rte-content h2 { font-family: var(--buzz-rte-h2-font, 'Poppins', sans-serif); font-size: var(--buzz-rte-h2-size, 26px); font-weight: var(--buzz-rte-h2-weight, 400); color: var(--buzz-rte-h2-color, var(--color-text-primary, #3d4250)); text-transform: var(--buzz-rte-h2-case, none); }
:root .buzz-rte-content h3 { font-family: var(--buzz-rte-h3-font, 'Poppins', sans-serif); font-size: var(--buzz-rte-h3-size, 22px); font-weight: var(--buzz-rte-h3-weight, 400); color: var(--buzz-rte-h3-color, var(--color-text-primary, #3d4250)); text-transform: var(--buzz-rte-h3-case, none); }
:root .buzz-rte-content h4 { font-family: var(--buzz-rte-h4-font, 'Poppins', sans-serif); font-size: var(--buzz-rte-h4-size, 18px); font-weight: var(--buzz-rte-h4-weight, 400); color: var(--buzz-rte-h4-color, var(--color-text-primary, #3d4250)); text-transform: var(--buzz-rte-h4-case, none); }
:root .buzz-rte-content h5 { font-family: var(--buzz-rte-h5-font, 'Poppins', sans-serif); font-size: var(--buzz-rte-h5-size, 16px); font-weight: var(--buzz-rte-h5-weight, 400); color: var(--buzz-rte-h5-color, var(--color-text-primary, #3d4250)); text-transform: var(--buzz-rte-h5-case, none); }
:root .buzz-rte-content h6 { font-family: var(--buzz-rte-h6-font, 'Poppins', sans-serif); font-size: var(--buzz-rte-h6-size, 15px); font-weight: var(--buzz-rte-h6-weight, 400); color: var(--buzz-rte-h6-color, var(--color-text-primary, #3d4250)); text-transform: var(--buzz-rte-h6-case, none); }

/* Inline */
:root .buzz-rte-content strong,
:root .buzz-rte-content b { font-weight: 600; }
:root .buzz-rte-content em,
:root .buzz-rte-content i { font-style: italic; }
:root .buzz-rte-content u { text-decoration: underline; }
:root .buzz-rte-content a {
  color: var(--color-action, #F09637);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Lists: bullets and numbers sit indented, in line with each other
   (wp-admin and the design system both reset these to nothing). */
:root .buzz-rte-content ul,
:root .buzz-rte-content ol {
  margin: 0 0 0.75em;
  padding: 0 0 0 1.6em;
}
:root .buzz-rte-content ul { list-style: disc outside; }
:root .buzz-rte-content ol { list-style: decimal outside; }
:root .buzz-rte-content ul ul { list-style-type: circle; }
:root .buzz-rte-content ul ul ul { list-style-type: square; }
:root .buzz-rte-content ol ol { list-style-type: lower-alpha; }
:root .buzz-rte-content ul ul,
:root .buzz-rte-content ol ol,
:root .buzz-rte-content ul ol,
:root .buzz-rte-content ol ul { margin: 0.25em 0 0; }
:root .buzz-rte-content li {
  display: list-item;
  margin: 0 0 0.25em;
  padding: 0;
  font-size: var(--buzz-rte-p-size, 13px);
  line-height: 1.6;
}
:root .buzz-rte-content li::marker { color: inherit; }

/* Images placed with the editor's image tool */
:root .buzz-rte-content img { max-width: 100%; height: auto; }
:root .buzz-rte-content .rte-image-wrap {
  display: block;
  max-width: 100%;
  margin: 0.5em 0 0.9em;
  padding: 0;
}
:root .buzz-rte-content .rte-image-wrap[data-position="center"] { margin-left: auto; margin-right: auto; }
:root .buzz-rte-content .rte-image-wrap[data-position="left"] { margin-left: 0; margin-right: auto; }
:root .buzz-rte-content .rte-image-wrap[data-position="right"] { margin-left: auto; margin-right: 0; }
:root .buzz-rte-content .rte-image-wrap[data-size="small"] { width: 25%; }
:root .buzz-rte-content .rte-image-wrap[data-size="medium"] { width: 50%; }
:root .buzz-rte-content .rte-image-wrap[data-size="large"] { width: 75%; }
:root .buzz-rte-content .rte-image-wrap[data-size="full"] { width: 100%; }
:root .buzz-rte-content .rte-image-wrap a { display: block; }
:root .buzz-rte-content .rte-image-wrap img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border: 0;
}
/* The one caption style. */
:root .buzz-rte-content .rte-image-wrap figcaption {
  margin-top: 6px;
  font-family: var(--buzz-rte-p-font, 'Poppins', sans-serif);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-text-muted, #97A9BE);
  text-align: center;
}

:root .buzz-rte-content > :last-child { margin-bottom: 0; }
