.recipe-list-thumb {
  width: 64px;
  height: 64px;
  min-width: 64px;
  border-radius: 16px;
  object-fit: cover;
  background: var(--accent-soft);
  border: 1px solid var(--border-soft);
}

.recipe-list-placeholder {
  display: grid;
  place-items: center;
  color: var(--accent);
  font-size: 22px;
}

.recipe-cover {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 18px;
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  html,
  body {
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 11pt !important;
  }

  .no-print,
  .sidebar,
  .mobile-topbar,
  .alert,
  .btn,
  form,
  nav {
    display: none !important;
  }

  .app-shell {
    display: block !important;
  }

  .main-content,
  main.container-fluid {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .print-area {
    width: 100% !important;
  }

  .page-title {
    font-size: 24pt !important;
    line-height: 1.1 !important;
    margin: 0 0 4mm 0 !important;
    letter-spacing: 0 !important;
  }

  .text-muted {
    color: #444 !important;
  }

  .notion-card,
  .print-card,
  .recipe-cover-card {
    box-shadow: none !important;
    border: 1px solid #dddddd !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    padding: 10px !important;
    margin-bottom: 8mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .recipe-cover {
    max-height: 55mm !important;
    border-radius: 6px !important;
  }

  .recipe-main-grid {
    display: block !important;
  }

  .print-full-width {
    width: 100% !important;
    max-width: 100% !important;
  }

  h2 {
    font-size: 16pt !important;
    margin-bottom: 5mm !important;
  }

  h3 {
    font-size: 12pt !important;
    margin-top: 5mm !important;
    margin-bottom: 2mm !important;
  }

  .list-group,
  .list-group-item {
    border: 0 !important;
  }

  .ingredient-print-item {
    padding: 3mm 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    break-inside: avoid;
  }

  .ingredient-quantity {
    min-width: 28mm;
    font-size: 11pt;
  }

  .step-number {
    border: 1px solid #cccccc !important;
    background: #f4f4f4 !important;
    color: #111 !important;
  }

  .prep-print-step {
    break-inside: avoid;
    page-break-inside: avoid;
  }

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