@media print {
    @page {
        size: A4 portrait;
        margin: 15mm 15mm 20mm 15mm;
    }

    /* ---- Hide screen-only chrome ---- */
    .no-print,
    .site-header,
    .site-footer,
    .admin-header,
    .filter-form,
    .pagination,
    .flash,
    .btn,
    .actions { display: none !important; }

    /* ---- Base ---- */
    body {
        font-size: 11pt;
        color: #000;
        background: #fff;
        font-family: Georgia, 'Times New Roman', serif;
    }

    a { color: #000; text-decoration: none; }

    /* ---- Cocktail cards ---- */
    .cocktails-grid {
        display: block;
    }

    .cocktail-card {
        border: 1pt solid #aaa;
        padding: 8mm 10mm;
        margin-bottom: 0;
        page-break-inside: avoid;
        break-inside: avoid;
        box-shadow: none;
        border-radius: 0;
        background: #fff;
    }

    /* Page break after every 4th card */
    .cocktail-card:nth-child(4n) {
        page-break-after: always;
        break-after: always;
    }

    .cocktail-card__name { font-size: 13pt; }
    .cocktail-card__description { font-size: 9.5pt; }

    .ingredient-amount {
        font-family: 'Courier New', monospace;
        font-size: 9pt;
    }

    /* Out-of-stock: use grey + symbol (no color-only) */
    .cocktail-card__ingredient--oos {
        color: #555;
    }

    .cocktail-card__notes { font-size: 9pt; }

    /* ---- Spirit art ---- */
    .spirit-art {
        max-height: 60mm;
        width: auto;
    }

    .category-header {
        border-bottom: 2pt solid #000;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* ---- Inventory ---- */
    .inventory-table {
        font-size: 10pt;
    }

    .inventory-section {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .inventory-section h2 {
        page-break-after: avoid;
        break-after: avoid;
        border-bottom: 1.5pt solid #000;
    }

    .ingredient-row--oos td { color: #555; }

    .stock-yes, .stock-no { color: #000; }

    /* ---- Remove decorative CSS ---- */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
        border-radius: 0 !important;
    }

    /* ---- Missing ingredients report ---- */
    .missing-list { color: #333; }

    /* ---- Cocktail detail page ---- */
    .breadcrumb { display: none; }

    .cocktail-detail {
        max-width: 100%;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .cocktail-detail__title {
        font-size: 22pt;
        margin-bottom: 4mm;
    }

    .cocktail-detail__description {
        font-size: 11pt;
        font-style: italic;
        margin-bottom: 6mm;
    }

    .cocktail-detail__section-heading {
        font-size: 13pt;
        border-bottom: 1pt solid #000;
        margin: 5mm 0 3mm;
        page-break-after: avoid;
        break-after: avoid;
    }

    /* Ingredients list */
    .cocktail-detail__ingredients .cocktail-card__ingredients {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .cocktail-detail__ingredients .cocktail-card__ingredient {
        padding: 1mm 0;
        border-bottom: 0.5pt dotted #ccc;
        display: flex;
        gap: 4mm;
    }

    .cocktail-detail__ingredients .ingredient-amount {
        font-family: 'Courier New', monospace;
        font-size: 10pt;
        min-width: 20mm;
    }

    .cocktail-detail__ingredients .cocktail-card__ingredient--oos {
        color: #555;
    }

    .cocktail-detail__ingredients .oos-badge {
        font-size: 8pt;
        color: #555;
    }

    /* Method */
    .cocktail-detail__method .cocktail-card__notes {
        font-size: 10.5pt;
    }

    .cocktail-detail__method .cocktail-card__notes p {
        margin: 2mm 0;
    }

    /* Equipment / ad links — show as plain text, drop affiliate note */
    .cocktail-detail__equipment .equipment-list {
        list-style: disc;
        padding-left: 6mm;
        font-size: 10pt;
    }

    .affiliate-disclosure { display: none; }

    /* Ratings — not useful on paper */
    .cocktail-detail__ratings { display: none; }

    /* Back link */
    .detail-back { display: none; }
}
