/* =========================================================
   FILE: /public_html/assets/css/modules/pdf/editor-heart.css
   ROLE: Editor heart
   PURPOSE: Owns only the central editor stage and paper shell

   OWNS:
   - app shell central geometry
   - stage background
   - page size tokens
   - page shell border / shadow / radius
   - page inner height
   - page body bounds

   DOES NOT OWN:
   - toolbar styling
   - sidebar internals
   - import / export / save / print styling
   - editor content typography
   - page meta strip
   ========================================================= */

:root{
  --ipdf-heart-bg: #f3f5f7;
  --ipdf-heart-ink: #202020;
  --ipdf-heart-page-bg: #ffffff;
  --ipdf-heart-page-border: #202020;
  --ipdf-heart-page-radius: 2px;
  --ipdf-heart-page-shadow:
    0 1px 2px rgba(0, 0, 0, 0.025),
    0 4px 10px rgba(0, 0, 0, 0.045);

  --ipdf-heart-stage-pad-y: 12px;
  --ipdf-heart-stage-pad-x: 12px;
  --ipdf-heart-page-gap: 12px;

  --ipdf-page-w-p: 210mm;
  --ipdf-page-h-p: 297mm;

  --ipdf-page-w: var(--ipdf-page-w-p);
  --ipdf-page-h: var(--ipdf-page-h-p);

  --ipdf-page-scale: 1;

  --ipdf-mt: 18mm;
  --ipdf-mr: 18mm;
  --ipdf-mb: 18mm;
  --ipdf-ml: 18mm;
}

.ipdf-shell{
  display: block;
  min-height: calc(100vh - 110px);
  position: relative;
}

.ipdf-main{
  min-height: calc(100vh - 110px);
  height: auto;
  box-sizing: border-box;
  background: var(--ipdf-heart-bg);
  padding: var(--ipdf-heart-stage-pad-y) var(--ipdf-heart-stage-pad-x);
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior: auto;
}

.ipdf-pages-wrap{
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ipdf-heart-page-gap);
  padding-left: 112px;
  box-sizing: border-box;
}

@media (min-width: 1025px) and (pointer: fine){
  :root[data-ipdf-device-mode="DESKTOP"]:not([data-ipdf-mobile-viewport-active="1"]) .ipdf-main > #ipdfPagesWrap.ipdf-pages-wrap{
    align-items: center;
    padding-left: 0;
    padding-right: 0;
  }
}

html[dir="rtl"] .ipdf-pages-wrap{
  direction: ltr;
}

html[dir="rtl"] .ipdf-page{
  direction: rtl;
}

.ipdf-page{
  width: calc(var(--ipdf-page-w) * var(--ipdf-page-scale));
  max-width: none;
  margin: 0;
  background: var(--ipdf-heart-page-bg);
  border: 1px solid var(--ipdf-heart-page-border);
  border-radius: var(--ipdf-heart-page-radius);
  box-shadow: var(--ipdf-heart-page-shadow);
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
}

.ipdf-page-inner{
  width: 100%;
  min-height: calc(var(--ipdf-page-h) * var(--ipdf-page-scale));
  height: calc(var(--ipdf-page-h) * var(--ipdf-page-scale));
  display: flex;
  flex-direction: column;
  background: var(--ipdf-heart-page-bg);
}

.ipdf-page-body{
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: hidden;
  background: var(--ipdf-heart-page-bg);
}

.ipdf-editor{
  min-height: 100%;
  height: 100%;
  outline: none;
  overflow: hidden;
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  padding:
    calc(var(--ipdf-mt) * var(--ipdf-page-scale))
    calc(var(--ipdf-mr) * var(--ipdf-page-scale))
    calc(var(--ipdf-mb) * var(--ipdf-page-scale))
    calc(var(--ipdf-ml) * var(--ipdf-page-scale));
  background: transparent;
}

.ipdf-editor blockquote{
  box-sizing: border-box;
  max-inline-size: 100%;
  margin-block: 0 1em;
  margin-inline: 0;
  padding-block: .45em;
  padding-inline: .85em .75em;
  border-inline-start: 4px solid #2563eb;
  background: transparent;
  color: #334155;
  font-style: italic;
  overflow-wrap: anywhere;
}

.ipdf-editor blockquote > :first-child{
  margin-block-start: 0;
}

.ipdf-editor blockquote > :last-child{
  margin-block-end: 0;
}

.ipdf-editor pre{
  box-sizing: border-box;
  max-inline-size: 100%;
  margin-block: 0 1em;
  margin-inline: 0;
  padding: .25em 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111827;
  font-family: Consolas, "Courier New", monospace;
  font-size: .92em;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ipdf-editor .ipdf-callout,
.ipdf-editor [data-ipdf-callout-bg="1"],
.ipdf-editor [data-ipdf-block-style="callout"]{
  --ipdf-callout-line-width: 4px;
  --ipdf-callout-line-gap: 5px;
  box-sizing: border-box;
  max-inline-size: 100%;
  margin-block: 0 1em;
  margin-inline: 0;
  padding-block: .85em;
  padding-inline: 1em;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111827;
  font-style: normal;
  position: relative;
  isolation: isolate;
  overflow-wrap: anywhere;
}

.ipdf-editor blockquote.ipdf-callout,
.ipdf-editor blockquote[data-ipdf-callout-bg="1"],
.ipdf-editor blockquote[data-ipdf-block-style="callout"]{
  padding-inline-start: calc(1em + var(--ipdf-callout-line-gap));
  border-inline-start: var(--ipdf-callout-line-width) solid var(--ipdf-callout-accent, #2563eb);
}

.ipdf-editor .ipdf-callout::before,
.ipdf-editor [data-ipdf-callout-bg="1"]::before,
.ipdf-editor [data-ipdf-block-style="callout"]::before{
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  z-index: -1;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f1f5f9;
  pointer-events: none;
}

.ipdf-editor blockquote.ipdf-callout::before,
.ipdf-editor blockquote[data-ipdf-callout-bg="1"]::before,
.ipdf-editor blockquote[data-ipdf-block-style="callout"]::before{
  inset-inline-start: calc(var(--ipdf-callout-line-width) + var(--ipdf-callout-line-gap));
}

.ipdf-editor code{
  font-family: Consolas, "Courier New", monospace;
  padding: 0 .18em;
  border-radius: 3px;
  background: #f3f4f6;
  font-size: .94em;
}

.ipdf-editor pre code{
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: inherit;
}

@media (min-width: 1025px) and (pointer: fine){
  :root[data-ipdf-device-mode="DESKTOP"]:not([data-ipdf-mobile-viewport-active="1"]) .ipdf-main #ipdfPagesWrap .ipdf-page .ipdf-page-body > .ipdf-editor{
    padding:
      calc(var(--ipdf-mt) * var(--ipdf-page-scale) * .58)
      calc(var(--ipdf-mr) * var(--ipdf-page-scale) * .58)
      calc(var(--ipdf-mb) * var(--ipdf-page-scale) * .58)
      calc(var(--ipdf-ml) * var(--ipdf-page-scale) * .58);
  }
}

@media (min-width: 1280px) and (max-width: 1439px){
  :root{
    --ipdf-page-scale: .90;
  }
}

@media (min-width: 1440px) and (max-width: 1599px){
  :root{
    --ipdf-page-scale: .94;
  }
}

@media (min-width: 1600px) and (max-width: 1919px){
  :root{
    --ipdf-page-scale: .97;
  }
}

@media (min-width: 1920px) and (max-width: 2559px){
  :root{
    --ipdf-page-scale: 1;
  }
}

@media (min-width: 2560px){
  :root{
    --ipdf-page-scale: 1.04;
  }
}

@page{
  size: A4;
  margin: 0;
}

@media print{
  html.ipdf-native-printing,
  body.ipdf-native-printing{
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    color: #000000 !important;
    scrollbar-gutter: auto !important;
  }

  html.ipdf-native-printing{
    --ipdf-page-scale: 1 !important;
  }

  html.ipdf-native-printing body > :not(.ipdf-shell){
    display: none !important;
  }

  html.ipdf-native-printing .ipdf-topbar,
  html.ipdf-native-printing .ipdf-toolbar,
  html.ipdf-native-printing #ipdfToolbar,
  html.ipdf-native-printing #ipdfPagesShell,
  html.ipdf-native-printing #ipdfRightPanel,
  html.ipdf-native-printing .ipdf-right-panel,
  html.ipdf-native-printing .ipdf-pages-panel-toggle,
  html.ipdf-native-printing .ipdf-template-panel-toggle,
  html.ipdf-native-printing .ipdf-ai-text-panel-toggle,
  html.ipdf-native-printing .ipdf-signature-panel-toggle,
  html.ipdf-native-printing .ipdf-mobile-topbar,
  html.ipdf-native-printing .ipdf-mobile-edit-bottom-toolbar,
  html.ipdf-native-printing .ipdf-mobile-edit-panel-shell,
  html.ipdf-native-printing .ipdf-mobile-more-menu,
  html.ipdf-native-printing [data-ipdf-mobile-more-root],
  html.ipdf-native-printing [data-ipdf-mobile-action-root],
  html.ipdf-native-printing [data-ipdf-mobile-action-panel],
  html.ipdf-native-printing .ipdf-modal,
  html.ipdf-native-printing .ipdf-emoji,
  html.ipdf-native-printing .ipdf-table-context-toolbar,
  html.ipdf-native-printing .ipdf-image-context-toolbar{
    display: none !important;
  }

  html.ipdf-native-printing .ipdf-shell,
  html.ipdf-native-printing .ipdf-main,
  html.ipdf-native-printing #ipdfPagesWrap,
  html.ipdf-native-printing .ipdf-pages-wrap{
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html.ipdf-native-printing .ipdf-page{
    display: block !important;
    width: var(--ipdf-page-w-p, 210mm) !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: var(--ipdf-page-h-p, 297mm) !important;
    height: var(--ipdf-page-h-p, 297mm) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #ffffff !important;
    break-after: page;
    break-inside: avoid;
    page-break-after: always;
    page-break-inside: avoid;
    transform: none !important;
  }

  html.ipdf-native-printing .ipdf-page:last-child{
    break-after: auto;
    page-break-after: auto;
  }

  html.ipdf-native-printing .ipdf-page-inner,
  html.ipdf-native-printing .ipdf-page-body{
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html.ipdf-native-printing .ipdf-page-title,
  html.ipdf-native-printing .ipdf-page > .ipdf-page-inner > .ipdf-page-title{
    display: none !important;
  }

  html.ipdf-native-printing .ipdf-page .ipdf-page-body > .ipdf-editor{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    transform: none !important;
  }
}
.ipdf-lang-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  color: #111111;
  transition: color .16s ease;
}

.ipdf-lang-trigger{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: currentColor;
  font: 400 13px/1.2 system-ui,-apple-system,Segoe UI,Arial;
  white-space: nowrap;
  cursor: pointer;
  transition:
    color .16s ease,
    background .16s ease,
    border-color .16s ease;
}

.ipdf-lang-trigger:hover,
.ipdf-lang-trigger:focus-visible,
.ipdf-lang-switch[data-open="1"] .ipdf-lang-trigger{
  color: #6d28d9;
  background: rgba(46, 16, 101, 0.04);
  border-color: rgba(32, 32, 32, 0.08);
  outline: none;
}

.ipdf-lang-trigger .material-symbols-outlined.ipdf-lang-icon{
  font-size: 16px;
  line-height: 1;
  color: currentColor;
  font-variation-settings:
    "FILL" 0,
    "wght" 220,
    "GRAD" 0,
    "opsz" 20;
}

.ipdf-lang-current{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
}

.ipdf-lang-trigger .material-symbols-outlined.ipdf-lang-arrow {
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
  color: currentColor;
  transition: transform .16s ease;
}

.ipdf-lang-switch[data-open="1"] .ipdf-lang-arrow{
  transform: rotate(180deg);
}

.ipdf-lang-select {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

.ipdf-lang-menu{
  position: absolute;
  top: calc(100% + 4px);
  left: auto;
  right: 0;
  z-index: 100040;
  box-sizing: border-box;
  inline-size: 100%;
  min-width: 100%;
  max-width: 100%;
  max-height: min(320px, calc(100vh - 72px));
  overflow-y: auto;
  padding: var(--ipdf-menu-shell-padding, 6px);
  background: var(--ipdf-menu-shell-bg, #ffffff);
  border: 1px solid var(--ipdf-menu-shell-border, rgba(32, 32, 32, 0.12));
  border-radius: var(--ipdf-menu-shell-radius, 2px);
  box-shadow: var(--ipdf-menu-shell-shadow, 0 10px 22px rgba(15, 23, 42, 0.08));
  scrollbar-width: thin;
  scrollbar-color: rgba(32, 32, 32, 0.24) transparent;
}

.ipdf-lang-menu::-webkit-scrollbar{
  width: 8px;
}

.ipdf-lang-menu::-webkit-scrollbar-thumb{
  background: rgba(32, 32, 32, 0.18);
  border-radius: 999px;
}

.ipdf-lang-option{
  width: 100%;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: var(--ipdf-menu-row-ink, #202020);
  font: 400 13px/1.2 system-ui,-apple-system,Segoe UI,Arial;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

.ipdf-lang-option:hover,
.ipdf-lang-option:focus-visible{
  background: var(--ipdf-menu-row-hover, #f3f4f7);
  outline: none;
}

.ipdf-lang-option[data-selected="1"]{
  background: var(--ipdf-menu-row-active, #eef1f5);
}

.ipdf-lang-option-label{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ipdf-lang-option .material-symbols-outlined.ipdf-lang-option-check{
  font-size: 14px;
  line-height: 1;
  opacity: 0;
  color: #2e1065;
}

.ipdf-lang-option[data-selected="1"] .ipdf-lang-option-check{
  opacity: 1;
}

html[dir="rtl"] .ipdf-lang-switch {
  direction: rtl;
}

html[dir="rtl"] .ipdf-lang-menu{
  left: auto;
  right: 0;
}

html[dir="rtl"] .ipdf-lang-option{
  text-align: right;
}
