/* Recipe print stylesheet — only applied when printing */

@media print {
    /* Hide navigation, footer, modals, action buttons, sidebar, flash messages */
    #navbarWrapperTop,
    nav,
    footer,
    .modal,
    .modal-backdrop,
    .btn,
    .navbar,
    .snap-point-end,
    .alert,
    [data-controller="auto-enrichable-tag-list"] .card-header .d-flex,
    [data-controller="lightbox"],
    .no-print {
        display: none !important;
    }

    /* Reset body margins for print */
    body {
        margin: 0;
        padding: 0;
        font-family: Georgia, serif;
        font-size: 11pt;
        color: #000;
        background: #fff;
    }

    /* Remove container padding */
    .container-lg,
    .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Recipe title area */
    .recipe-view-compact > .d-flex:first-child {
        margin-bottom: 0.5cm;
    }

    h1 {
        font-size: 18pt;
        margin-bottom: 0.2cm;
    }

    /* Cards: remove shadows and rounded corners */
    .card {
        border: 1px solid #ccc !important;
        box-shadow: none !important;
        break-inside: avoid;
        margin-bottom: 0.3cm !important;
    }

    .card-header {
        background: #f0f0f0 !important;
        font-weight: bold;
        padding: 4px 8px !important;
    }

    .card-body {
        padding: 6px 8px !important;
    }

    /* Two-column layout for ingredients + steps */
    .row.g-3 {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 0.3cm;
    }

    .col-12.col-lg-4 {
        grid-column: 1;
    }

    .col-12.col-lg-8 {
        grid-column: 2;
    }

    /* Tags section */
    .badge {
        border: 1px solid #999 !important;
        background: transparent !important;
        color: #333 !important;
        padding: 1px 4px;
        font-size: 9pt;
    }

    /* Recipe image */
    .recipe-show-image {
        max-width: 8cm;
        max-height: 6cm;
        object-fit: cover;
    }

    /* Page break helpers */
    .snap-point {
        break-inside: avoid;
    }

    /* Ensure images are displayed */
    img {
        max-width: 100%;
    }

    /* Remove turbo-frame artifacts */
    turbo-frame {
        display: block;
    }

    /* Shopping List Print Styles */
    .shopping-list-page-row {
        margin: 0 !important;
        width: 100% !important;
    }

    .shopping-list-page-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .shopping-list-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .shopping-list-container .card {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .shopping-list-container .card-header {
        background: transparent !important;
        border-bottom: 2px solid #222 !important;
        padding: 0 0 6px 0 !important;
        margin-bottom: 12px !important;
    }

    .shopping-list-container .card-header h1 {
        font-size: 15pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin: 0 !important;
    }

    .shopping-list-container .card-body {
        padding: 0 !important;
    }

    /* 2-column balanced layout on printed A4 paper */
    .shopping-list-print-grid {
        display: block !important;
        column-count: 2 !important;
        column-gap: 28px !important;
    }

    .shopping-list-container .aisle-section {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        display: inline-block !important;
        width: 100% !important;
        margin-bottom: 14px !important;
    }

    .shopping-list-container .aisle-section .border-bottom {
        border-bottom: 1.5px solid #333 !important;
        padding-bottom: 2px !important;
        margin-bottom: 4px !important;
    }

    .shopping-list-container .aisle-title {
        font-size: 10pt !important;
        letter-spacing: 0.5px;
    }

    .shopping-list-container .aisle-section .badge {
        border: 1px solid #666 !important;
        font-size: 8pt !important;
        padding: 1px 5px !important;
    }

    .shopping-list-container .list-group-item {
        border: none !important;
        border-bottom: 1px dotted #ccc !important;
        padding: 3px 0 !important;
        display: flex !important;
        align-items: center !important;
        font-size: 9.5pt !important;
        line-height: 1.35 !important;
        break-inside: avoid !important;
    }

    .shopping-list-container .form-check-input {
        appearance: none !important;
        -webkit-appearance: none !important;
        width: 13px !important;
        height: 13px !important;
        min-width: 13px !important;
        border: 1.2px solid #000 !important;
        border-radius: 2px !important;
        display: inline-block !important;
        margin-right: 8px !important;
        background: #fff !important;
    }

    .shopping-list-container .form-check-input:checked {
        background-color: #333 !important;
    }

    /* Hide web-only controls */
    .shopping-list-container .shopping-list-add-item,
    .shopping-list-container .alert,
    .shopping-list-container .btn,
    .shopping-list-container .btn-group,
    .shopping-list-container .btn-outline-danger {
        display: none !important;
    }
}
