/**
 * AutoVinder AI — Dedicated Print Stylesheet
 * 
 * Clean, ink-efficient print presentation:
 * - Removes solid background colors, gradients, and heavy box shadows.
 * - Eliminates unnecessary borders, interactive buttons, and promotional sections (.pitch-card, .criteria-card).
 * - On the homepage: prints ONLY the logo (centered) and the car search results.
 * - Ensures light color-scheme and legible typography regardless of system theme.
 */

@media print {
  /* ==========================================================================
     1. Page & Reset Standards
     ========================================================================== */
  @page {
    size: auto;
    margin: 1.5cm;
  }

  :root {
    color-scheme: light !important;
  }

  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  html,
  body {
    background-color: #ffffff !important;
    color: #111111 !important;
    font-size: 11pt;
    line-height: 1.4;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Full paper width without artificial container constraints */
  .app-layout {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  /* Prevent awkward page break cuts across blocks */
  h1, h2, h3, h4, h5, h6 {
    break-after: avoid;
    page-break-after: avoid;
    color: #000000 !important;
  }

  p, dl, ul, ol, blockquote {
    orphans: 3;
    widows: 3;
  }

  /* Hide screen-only and interactive utilities */
  [hidden],
  .sr-only,
  .htmx-indicator,
  .spinner,
  .geo-toast,
  .fallback-box,
  .beta-container,
  .emulator-test-bar,
  .restart-container,
  #budget-warning-banner,
  .geo-wrapper,
  .btn-back,
  .btn-primary-action,
  .car-link {
    display: none !important;
  }

  /* ==========================================================================
     2. Homepage Print Layout: Logo (Centered) & Car Search Results Only
     ========================================================================== */
  :is(body.page-home, body:has(#car-results)) .app-header {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 2rem !important;
  }

  :is(body.page-home, body:has(#car-results)) .brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  :is(body.page-home, body:has(#car-results)) .brand-title {
    font-size: 26pt !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #000000 !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* AI badge: clean outline without solid filled background */
  .badge-ai {
    background-color: transparent !important;
    color: #000000 !important;
    border: 1.5px solid #000000 !important;
    padding: 0.1rem 0.45rem !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    font-size: 0.8em !important;
  }

  /* Hide subtitle, beta badge, and interactive geo locator on the homepage */
  :is(body.page-home, body:has(#car-results)) .brand-subtitle,
  :is(body.page-home, body:has(#car-results)) .badge-beta,
  :is(body.page-home, body:has(#car-results)) .geo-wrapper {
    display: none !important;
  }

  /* Hide promotional pitch card, criteria/form controls, empty placeholder & footer */
  :is(body.page-home, body:has(#car-results)) .pitch-card,
  :is(body.page-home, body:has(#car-results)) .criteria-card,
  :is(body.page-home, body:has(#car-results)) .placeholder-empty,
  :is(body.page-home, body:has(#car-results)) .app-footer {
    display: none !important;
  }

  /* Results Section */
  .results-section {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .results-header {
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid #d0d0d0 !important;
  }

  .results-header h3 {
    font-size: 15pt !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin-bottom: 0.35rem !important;
  }

  /* Car Results Grid & Cards */
  .car-results-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
  }

  .car-card {
    background: transparent !important;
    border: 1px solid #c8c8c8 !important;
    border-radius: 8px !important;
    padding: 1.25rem 1.5rem !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 1.25rem !important;
  }

  .car-card-electric {
    border-left: 1px solid #c8c8c8 !important;
  }

  .car-card-header {
    margin-bottom: 0.5rem !important;
  }

  .badge-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    margin-bottom: 0.5rem !important;
  }

  /* Badges without solid fills */
  :is(.car-badge-rank, .badge-electric, .badge-fuel, .badge-local-garage, .badge-rdw) {
    background: transparent !important;
    border: 1px solid #444444 !important;
    color: #111111 !important;
    padding: 0.15rem 0.45rem !important;
    border-radius: 4px !important;
    font-size: 8pt !important;
    font-weight: 700 !important;
  }

  .car-title {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin-bottom: 0.25rem !important;
  }

  .car-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    margin: 0.5rem 0 !important;
  }

  .car-price {
    font-size: 15pt !important;
    font-weight: 800 !important;
    color: #000000 !important;
    margin-bottom: 0.25rem !important;
  }

  /* Clean Definition List */
  .car-meta-list {
    background: transparent !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 0.5rem 0.85rem !important;
    gap: 0.35rem !important;
  }

  .meta-item {
    border-bottom: 1px solid #eeeeee !important;
    padding-bottom: 0.25rem !important;
  }

  .meta-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .meta-label {
    color: #555555 !important;
    font-size: 9pt !important;
  }

  .meta-value,
  .meta-cost .meta-value,
  .meta-dealer .meta-value {
    color: #000000 !important;
    font-size: 9pt !important;
    font-weight: 600 !important;
  }

  .cost-hint {
    color: #666666 !important;
    font-size: 8pt !important;
  }

  .vicinity-note {
    color: #444444 !important;
    font-style: normal !important;
  }

  .car-portal-tag {
    background: transparent !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    color: #333333 !important;
    font-size: 8.5pt !important;
    padding: 0.15rem 0.45rem !important;
  }

  .car-highlight {
    background: transparent !important;
    border-left: 2.5px solid #555555 !important;
    border-radius: 0 !important;
    color: #222222 !important;
    font-size: 9.5pt !important;
    padding: 0.3rem 0.6rem !important;
    margin: 0.25rem 0 0 0 !important;
  }

  /* ==========================================================================
     3. Legal / Voorwaarden Page Print Rules
     ========================================================================== */
  .legal-card {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
  }

  .legal-badge {
    background: transparent !important;
    border: 1px solid #000000 !important;
    color: #000000 !important;
  }

  .legal-callout {
    background: transparent !important;
    border: 1px solid #888888 !important;
    border-left: 4px solid #333333 !important;
    color: #111111 !important;
  }

  .legal-toc {
    background: transparent !important;
    border: 1px solid #dcdcdc !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .legal-section {
    break-inside: auto !important;
  }

  .legal-section h3 {
    border-bottom: 1px solid #eeeeee !important;
    padding-bottom: 0.3rem !important;
    margin-top: 1.5rem !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  .legal-quote {
    background: transparent !important;
    border-left: 3px solid #666666 !important;
    color: #111111 !important;
  }

  .legal-footer-box {
    border-top: 1px solid #e0e0e0 !important;
    padding-top: 1rem !important;
    margin-top: 2rem !important;
  }

  body.page-legal .app-footer,
  body:not(:has(#car-results)) .app-footer {
    border-top: 1px solid #d0d0d0 !important;
    padding-top: 1rem !important;
    margin-top: 2rem !important;
  }

  .footer-nav {
    display: none !important;
  }
}
