/* Cross-browser normalization for public site + WYSIWYG.
   Goal: same spacing, text metrics, images and editor behavior in Chrome/Firefox. */
html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height:1.4;
  font-kerning:normal;
  font-feature-settings:"kern";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{line-height:1.2}
a{background-color:transparent}
table{border-collapse:collapse;border-spacing:0}
[hidden]{display:none!important}

/* Avoid browser default margins diverging between Firefox/Chrome inside editable areas. */
#page-root h1,#page-root h2,#page-root h3,#page-root h4,#page-root h5,#page-root h6,
#wysiwyg-page-root h1,#wysiwyg-page-root h2,#wysiwyg-page-root h3,#wysiwyg-page-root h4,#wysiwyg-page-root h5,#wysiwyg-page-root h6{
  margin-top:0;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
}
#page-root p,#wysiwyg-page-root p{margin-top:0}
#page-root ul,#page-root ol,#wysiwyg-page-root ul,#wysiwyg-page-root ol{margin-top:0}

/* Deterministic public model */
.site-shell,
.original-public-body,
.exact-public-body,
#page-root,
#wysiwyg-page-root{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:16px;
  line-height:1.4;
}
.site-shell *{
  text-rendering:geometricPrecision;
}

/* WYSIWYG editing consistency */
#wysiwyg-page-root [contenteditable="true"]{
  outline:none;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  -webkit-user-modify:read-write;
  user-modify:read-write;
  caret-color:#df7c1d;
}
#wysiwyg-page-root [contenteditable="true"] *{
  font-family:inherit;
}
#wysiwyg-page-root [contenteditable="true"] b,
#wysiwyg-page-root [contenteditable="true"] strong{font-weight:700}
#wysiwyg-page-root [contenteditable="true"] i,
#wysiwyg-page-root [contenteditable="true"] em{font-style:italic}
#wysiwyg-page-root [contenteditable="true"] u{text-decoration:underline}

/* Controls should not inherit accidental public transforms/line-heights. */
.wysiwyg-ui,
.wysiwyg-ui *{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:14px;
  line-height:1.25;
  letter-spacing:normal;
  text-transform:none;
}
.wysiwyg-ui button,
.wysiwyg-ui input,
.wysiwyg-ui select,
.wysiwyg-ui textarea{
  font:inherit!important;
  appearance:auto;
  -moz-appearance:auto;
  -webkit-appearance:auto;
}

/* Force consistent image rendering when WYSIWYG saves dimensions. */
#wysiwyg-page-root img[data-wysiwyg-key],
#page-root img[data-wysiwyg-key]{
  object-fit:cover;
}

/* Prevent Firefox focus outline from visually shifting selected blocks. */
.wysiwyg-selected,
.wysiwyg-selected:focus,
.wysiwyg-selected:focus-visible{
  outline-offset:4px!important;
}
