/* ============================================================
   proposal-doc.css — A4-papir + print/PDF
   Delt mellem editor (index.php) og kundeside (accept.php).
   Mål: det man ser i editoren = det færdige dokument = PDF'en (1:1).

   NØGLE til 1:1: dokumentet har ÉN fast margin (16mm) hele vejen rundt
   — på skærmen via .doc-paged padding, i PDF via @page margin. Indholdet
   bliver derved smallere end papiret, så browseren ALDRIG skalerer PDF'en
   ned (det var årsagen til at PDF'en var mindre/tættere end editoren).
   Eneste undtagelse: den røde topstreg, som er full-bleed (helt ud i kanten).
   ============================================================ */

:root { --page-margin: 16mm; }

/* ---- A4-ark på skærm ------------------------------------------ */
.doc-wrap {
  width: 210mm;
  max-width: 100%;
}
.doc-paged {
  position: relative;
  box-sizing: border-box;
  padding: var(--page-margin);          /* margin (luft) hele vejen rundt */
  border-top: 6px solid #da001b;        /* rød streg full-bleed i toppen (skærm) */
  border-radius: 0;
}
/* Marginen kommer fra .doc-paged — fjern sektionernes egen vandrette padding,
   så tekstbredden bliver præcis = PDF'ens (210mm − 2×16mm = 178mm). */
.doc-paged .doc-cover,
.doc-paged .doc-section,
.doc-paged .doc-footer {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.doc-paged .doc-cover {
  border-top: none !important;          /* rød ligger nu på selve arket */
  padding-top: 6px !important;
}

/* Rød bjælke til PRINT (kun side 1, full-bleed i kanten). Skjult på skærm. */
.doc-redbar { display: none; }

/* Estimat: skjul værdier i deaktiverede ("faded") celler, så fast-pris-linjer
   ikke viser "0" under Timer/Sats. input.faded for at slå print-reglen
   ".doc-wrap input { color:inherit }" (samme specificitet → senere vinder). */
.doc-est-table input.faded,
.doc-est-table .faded { color: transparent !important; }

/* Estimat-titel: vis fuld, ombrudt tekst i PDF'en (input'et klipper teksten) */
.cell-print { display: none; }

/* ---- Sideskift-sektion --------------------------------------------
   På skærm: en tynd stiplet markør, der viser hvor en ny side starter.
   I PDF: tvinger et rigtigt sidebrud (selve markøren skjules). */
.doc-section.sec-pagebreak {
  border-top: none !important;
  padding: 8px 0 !important;
  background: transparent !important;
}
.doc-pagebreak-mark { display: flex; align-items: center; gap: 10px; }
.doc-pagebreak-line { flex: 1; height: 0; border-top: 2px dashed #c2c6cd; }
.doc-pagebreak-label {
  font: 700 .68rem 'Hanken Grotesk', sans-serif;
  letter-spacing: .1em; text-transform: uppercase; color: #9aa0a8; white-space: nowrap;
}
.doc-pagebreak-mark .drag-handle { opacity: 0; }
.sec-pagebreak:hover .drag-handle { opacity: 1; }

/* Underskriftsfelter: to ved siden af hinanden hvis man indsætter flere.
   (inline-block → to felter pakker i samme række, et tredje bryder til ny række) */
.doc-section.sec-signature {
  display: inline-block;
  width: 48%;
  vertical-align: top;
  box-sizing: border-box;
  border-top: none;
  padding-top: 14px;
  padding-bottom: 14px;
}

/* Sideskift indsat MIDT i en tekst (via Ctrl+Enter) */
.md-pagebreak { height: 0; border-top: 2px dashed #c2c6cd; margin: 16px 0; position: relative; }
.md-pagebreak::after {
  content: '✂ Sideskift'; position: absolute; right: 0; top: -9px;
  background: #fff; padding: 0 6px;
  font: 700 .62rem 'Hanken Grotesk', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #9aa0a8;
}

/* Forsidetitel: FAST rem-størrelse (clamp()+vw skalerede forskelligt på skærm
   vs. print). Titlen er en <textarea> så lange titler ombrydes (editor OG PDF). */
.doc-title-input {
  font-size: 2.85rem !important;
  line-height: 1.08 !important;
}
textarea.doc-title-input {
  resize: none;
  overflow: hidden;
  white-space: pre-wrap;
  word-break: break-word;
  display: block;
}

/* ============================================================
   MOBIL (skærm)
   A4-marginen på 16mm er ~60,5px i hver side. Sammen med
   .doc-page-bg's 24px efterlod den kun ~221px tekst på en
   390px-skærm — 43 % af skærmen var luft. Under 640px falder
   marginen til 6px.

   "screen and" er ikke pynt: --page-margin bruges også af
   .doc-redbar inde i @media print (negativ offset for full-bleed),
   og PDF'en må ikke ændre sig en millimeter.
   ============================================================ */
@media screen and (max-width: 640px) {
  :root { --page-margin: 6px; }

  /* Arket går kant-til-kant på en telefon */
  .doc-wrap { box-shadow: none; border-radius: 0; }

  /* 2,85rem = 42,75px forsidetitel er for stort på mobil.
     !important fordi originalen ovenfor har det. */
  .doc-title-input { font-size: 1.6rem !important; }

  /* Underskriftsfelter under hinanden i stedet for to gange 48% */
  .doc-section.sec-signature { display: block; width: 100%; }
}

/* ============================================================
   PRINT / PDF
   ============================================================ */
@page {
  size: A4;
  margin: 16mm;          /* = --page-margin: ens margin i editor og PDF */
}

@media print {
  /* Farver/baggrunde med i PDF'en (rød accent, tabelhoveder mm.) */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html, body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ---- Skjul al app-/editor-"chrome" -------------------------- */
  .topbar, .editor-bar, .sec-sidebar, .ai-fab, .ai-drawer, .ai-drawer-overlay,
  .grundlag-panel, .signing-status, .signing-status-details, .alert,
  .doc-readonly-banner, .pdf-lock-bar, .no-print {
    display: none !important;
  }
  /* Sikkerhedsnet: åbne modaler/overlays bruger inline position:fixed */
  [style*="position:fixed"], [style*="position: fixed"] { display: none !important; }

  /* ---- Dokument fylder den printbare side (= 178mm pga. @page-margin) -- */
  .doc-page-bg { background:#fff !important; padding:0 !important; margin:0 !important; min-height:0 !important; }
  .doc-wrap {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  /* @page giver marginen → arkets egen padding/border nulstilles */
  .doc-paged { padding: 0 !important; border-top: none !important; }

  /* Rød streg KUN på side 1, full-bleed: trækkes ud i papirets kant via
     negativ offset (absolut ift. dokumentet → vises kun øverst = side 1). */
  .doc-redbar {
    display: block !important;
    position: absolute;
    top: calc(-1 * var(--page-margin));
    left: calc(-1 * var(--page-margin));
    right: calc(-1 * var(--page-margin));
    height: 6px;
    background: #da001b !important;
    z-index: 9999;
  }

  /* ---- Formularfelter renderes som ren tekst (UDEN at nulstille font!) -- */
  .doc-wrap input:not([type="checkbox"]),
  .doc-wrap select,
  .doc-wrap textarea {
    -webkit-appearance: none !important;
    appearance: none !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    color: inherit !important;
    padding: 0 !important;
    resize: none !important;
  }
  .doc-est-table input, .doc-cell-r { text-align: right !important; }

  /* ---- Skjul redigerings-knapper inde i dokumentet ------------ */
  .drag-handle, .sec-ai-btn, .sec-del-btn, .doc-del-btn, .sec-ai-dialog,
  .sec-ai-quickpicks, .doc-image-toolbar, .doc-image-resize, .doc-image-empty,
  .btn-betingelser-toggle, .btn-betingelser-read, .doc-section .btn,
  .doc-arch-cap, .prose-ph, .var-chip {
    display: none !important;
  }
  mark.var-chip { background: transparent !important; color: inherit !important; }

  /* ---- Estimat i PDF'en -------------------------------------- */
  .doc-est-table input.faded { color: transparent !important; }   /* tomme fast-pris-celler */
  .doc-est-table .cell-edit { display: none !important; }
  .doc-est-table .cell-print { display: block !important; white-space: normal !important; font-weight: 600; line-height: 1.35; }

  /* ---- Pæne sideskift ---------------------------------------- */
  /* Overskrift holdes sammen med det følgende indhold */
  .doc-seclabel { break-after: avoid; page-break-after: avoid; }

  /* Disse blokke må IKKE deles af et sidebrud — flyttes hellere helt til
     næste side. (Kun hvis de er længere end en hel side deles de alligevel.) */
  .doc-table-wrap,
  .doc-est-table,
  .doc-totals,
  .doc-opgave,
  .doc-image-wrap,
  figure,
  .doc-rich .opt, .doc-rich .note, .doc-rich .case, .doc-rich .diagram,
  .doc-rich figure, .doc-rich table {
    break-inside: avoid; page-break-inside: avoid;
  }
  /* Tabelrækker deles aldrig midt over; tabelhoved gentages på ny side */
  tr { break-inside: avoid; page-break-inside: avoid; }
  thead { display: table-header-group; }

  .prose-display p, .prose p { orphans: 3; widows: 3; }
  .doc-wrap img, .rich-img { max-width: 100% !important; }

  /* Sideskift: tving ny side; selve markøren skjules i PDF'en */
  .sec-pagebreak { break-before: page; page-break-before: always; padding: 0 !important; }
  .doc-pagebreak-mark { display: none !important; }
  .md-pagebreak { break-before: page; page-break-before: always; border: none !important; margin: 0 !important; height: 0 !important; }
  .md-pagebreak::after { display: none !important; }
}
