/*
 * S3 Ads - print stylesheet for dedicated .s3-print-ad-sheet markup.
 * Requires the updated AdDetail.jsx with <PrintAdSheet />.
 *
 * Standalone file.
 * Do NOT import in React/Vite styles.css.
 * Load only as media="print".
 *
 * Farver:
 * Ingen hardcodede brand-farver.
 * Brandfarve hentes fra Elementor / WordPress theme variables.
 *
 * Layout:
 * 1. Header: titel + forhandler
 * 2. Main: billede + pris/specifikationer
 * 3. Udstyr & information
 * 4. Beskrivelse nederst
 * 5. Footer
 */

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

@media screen {
  .s3-print-ad-sheet {
    display: none !important;
  }
}

@media print {
  :root {
    /*
     * Theme color sources.
     * Prioritet:
     * 1. Manuel override fra theme/plugin, hvis den findes
     * 2. Elementor accent / primary
     * 3. WordPress theme.json accent / primary
     * 4. Browser/system colors
     *
     * Bemærk:
     * På mange Elementor-sites er den grønne hovedfarve sat som accent,
     * mens primary ofte er sort. Derfor prioriteres accent før primary her.
     */
    --s3-theme-primary: var(
      --s3-ads-print-primary,
      var(
        --e-global-color-accent,
        var(
          --e-global-color-primary,
          var(
            --wp--preset--color--accent,
            var(--wp--preset--color--primary, CanvasText)
          )
        )
      )
    );

    --s3-theme-text: var(
      --e-global-color-text,
      var(
        --wp--preset--color--foreground,
        CanvasText
      )
    );

    --s3-theme-surface: var(
      --e-global-color-astglobalcolor5,
      var(
        --wp--preset--color--background,
        Canvas
      )
    );

    --s3-theme-on-primary: var(
      --s3-ads-print-on-primary,
      var(
        --e-global-color-astglobalcolor5,
        var(
          --wp--preset--color--base,
          Canvas
        )
      )
    );

    --s3-theme-muted: var(
      --e-global-color-secondary,
      color-mix(in srgb, var(--s3-theme-text) 68%, var(--s3-theme-surface))
    );

    --s3-print-primary: var(--s3-theme-primary);
    --s3-print-primary-dark: color-mix(in srgb, var(--s3-theme-primary) 72%, var(--s3-theme-text));
    --s3-print-primary-soft: color-mix(in srgb, var(--s3-theme-primary) 10%, var(--s3-theme-surface));
    --s3-print-border: color-mix(in srgb, var(--s3-theme-primary) 22%, var(--s3-theme-surface));
    --s3-print-ink: var(--s3-theme-text);
    --s3-print-muted: var(--s3-theme-muted);
    --s3-print-paper: var(--s3-theme-surface);
    --s3-print-on-primary: var(--s3-theme-on-primary);
  }

  * {
    box-sizing: border-box !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html,
  body {
    width: 210mm !important;
    height: 297mm !important;
    min-width: 210mm !important;
    min-height: 297mm !important;
    max-width: 210mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--s3-print-paper) !important;
    color: var(--s3-print-ink) !important;
  }

  body:has(.s3-print-ad-sheet) *:not(.s3-print-ad-sheet):not(.s3-print-ad-sheet *):not(:has(.s3-print-ad-sheet)) {
    display: none !important;
  }

  body:has(.s3-print-ad-sheet) *:has(.s3-print-ad-sheet) {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    position: static !important;
  }

  .s3-ad-detail > :not(.s3-print-ad-sheet),
  .s3-back-button,
  .s3-detail-header,
  .s3-detail-layout,
  .s3-detail-description,
  .s3-related-ads,
  .s3-lightbox,
  .s3-detail-thumbs,
  .s3-detail-mobile-nav,
  .s3-detail-mobile-image-count,
  nav,
  header:not(.s3-print-header),
  footer:not(.s3-print-footer),
  aside:not(.s3-print-spec-panel),
  iframe,
  script,
  style,
  noscript {
    display: none !important;
  }

  .s3-print-ad-sheet {
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    left: 9mm !important;
    top: 8mm !important;
    width: 192mm !important;
    height: 281mm !important;
    max-width: 192mm !important;
    max-height: 281mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--s3-print-paper) !important;
    color: var(--s3-print-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    line-height: 1.22 !important;
    page-break-before: avoid !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    break-before: avoid !important;
    break-after: avoid !important;
    break-inside: avoid !important;
  }

  .s3-print-header {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 55mm !important;
    gap: 7mm !important;
    flex: 0 0 27mm !important;
    height: 27mm !important;
    margin: 0 0 4mm 0 !important;
    padding: 0 0 3mm 0 !important;
    border-bottom: 1mm solid var(--s3-print-primary) !important;
    overflow: hidden !important;
  }

  .s3-print-main { order: 2 !important; }
  .s3-print-equipment { order: 3 !important; }
  .s3-print-description { order: 4 !important; }
  .s3-print-footer { order: 5 !important; }

  .s3-print-title-block {
    display: flex !important;
    flex-direction: column !important;
    justify-content: end !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .s3-print-title-block h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--s3-print-primary-dark) !important;
    font-size: 18pt !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    max-height: 20mm !important;
    overflow: hidden !important;
  }

  .s3-print-category {
    margin-top: 1.4mm !important;
    color: var(--s3-print-muted) !important;
    font-size: 7.5pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }

  .s3-print-dealer {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    align-self: end !important;
    height: 22mm !important;
    max-height: 22mm !important;
    padding: 2.2mm 3mm !important;
    overflow: hidden !important;
    background: var(--s3-print-primary) !important;
    border-left: 1mm solid var(--s3-print-primary-dark) !important;
    color: var(--s3-print-on-primary) !important;
    text-align: right !important;
  }

  .s3-print-dealer-logo {
    display: block !important;
    max-width: 37mm !important;
    max-height: 8mm !important;
    object-fit: contain !important;
    margin: 0 0 1mm 0 !important;
  }

  .s3-print-dealer strong {
    display: block !important;
    color: var(--s3-print-on-primary) !important;
    font-size: 8pt !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .s3-print-dealer span {
    display: block !important;
    color: var(--s3-print-on-primary) !important;
    font-size: 6.3pt !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
  }

  .s3-print-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 61mm !important;
    gap: 5mm !important;
    flex: 0 0 99mm !important;
    height: 99mm !important;
    max-height: 99mm !important;
    margin: 0 0 5mm 0 !important;
    overflow: hidden !important;
  }

  .s3-print-image-wrap {
    display: block !important;
    height: 99mm !important;
    max-height: 99mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0.45mm solid var(--s3-print-primary) !important;
    background: var(--s3-print-primary-soft) !important;
  }

  .s3-print-main-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .s3-print-image-empty {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--s3-print-muted) !important;
    font-size: 9pt !important;
  }

  .s3-print-spec-panel {
    display: flex !important;
    flex-direction: column !important;
    height: 99mm !important;
    max-height: 99mm !important;
    overflow: hidden !important;
    border: 0.35mm solid var(--s3-print-border) !important;
    background: var(--s3-print-paper) !important;
  }

  .s3-print-price {
    flex: 0 0 auto !important;
    border-bottom: 0.35mm solid var(--s3-print-border) !important;
  }

  .s3-print-price span,
  .s3-print-description h2,
  .s3-print-footer {
    background: var(--s3-print-primary) !important;
    color: var(--s3-print-on-primary) !important;
  }

  .s3-print-price span {
    display: block !important;
    padding: 1.8mm 3mm !important;
    font-size: 9pt !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .s3-print-price strong {
    display: block !important;
    padding: 3mm !important;
    color: var(--s3-print-ink) !important;
    font-size: 21pt !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  .s3-print-spec-list {
    display: grid !important;
    grid-template-columns: 24mm minmax(0, 1fr) !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .s3-print-spec-list dt,
  .s3-print-spec-list dd {
    min-height: 6.25mm !important;
    margin: 0 !important;
    padding: 1.15mm 2.5mm !important;
    border-bottom: 0.25mm solid var(--s3-print-border) !important;
    font-size: 6.9pt !important;
    line-height: 1.15 !important;
    overflow: hidden !important;
  }

  .s3-print-spec-list dt {
    color: var(--s3-print-primary-dark) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .s3-print-spec-list dd {
    color: var(--s3-print-ink) !important;
    font-weight: 700 !important;
  }

  .s3-print-equipment {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 0 5mm 0 !important;
    padding-top: 2mm !important;
    border-top: 0.65mm solid var(--s3-print-primary) !important;
    overflow: hidden !important;
  }

  .s3-print-equipment h2 {
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 2mm 0 !important;
    background: transparent !important;
    color: var(--s3-print-primary-dark) !important;
    font-size: 9pt !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .s3-print-equipment ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 6mm !important;
    row-gap: 0.9mm !important;
    margin: 0 !important;
    padding: 0 0 0 4mm !important;
    max-height: 48mm !important;
    overflow: hidden !important;
    list-style: none !important;
  }

  .s3-print-equipment li {
    position: relative !important;
    display: block !important;
    color: var(--s3-print-ink) !important;
    font-size: 7.4pt !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    padding: 0 0 0.8mm 3.6mm !important;
    break-inside: avoid !important;
  }

  .s3-print-equipment li::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: var(--s3-print-primary) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .s3-print-equipment p {
    color: var(--s3-print-ink) !important;
    font-size: 7.4pt !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .s3-print-description {
    flex: 0 0 42mm !important;
    height: 42mm !important;
    max-height: 42mm !important;
    margin: 0 0 5mm 0 !important;
    border: 0.35mm solid var(--s3-print-border) !important;
    overflow: hidden !important;
    background: var(--s3-print-paper) !important;
  }

  .s3-print-description h2 {
    margin: 0 !important;
    padding: 1.8mm 3mm !important;
    height: 7.5mm !important;
    font-size: 9pt !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .s3-print-description-text {
    display: block !important;
    height: 34mm !important;
    max-height: 34mm !important;
    padding: 2.4mm 3mm !important;
    overflow: hidden !important;
  }

  .s3-print-description-text p {
    margin: 0 0 1.2mm 0 !important;
    padding: 0 !important;
    color: var(--s3-print-ink) !important;
    font-size: 8.2pt !important;
    line-height: 1.28 !important;
    font-weight: 400 !important;
  }

  .s3-print-footer {
    flex: 0 0 9mm !important;
    height: 9mm !important;
    margin-top: auto !important;
    padding: 2.4mm 4mm !important;
    overflow: hidden !important;
    text-align: center !important;
    font-size: 7pt !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  a[href]::after {
    content: "" !important;
  }
}
