/* MamboItalia - strumenti PDF ricetta e Lista della spesa / Keep */
.ricetta-single .mi-recipe-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin: 14px 0 4px;
}

.ricetta-single .mi-recipe-export-btn {
    display: inline-flex;
    flex: 1 1 220px;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 15px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    font: 700 var(--mi-text-compact,14px)/1.25 var(--mi-font-ui, Poppins, sans-serif);
    text-align: center;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .12);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
    -webkit-tap-highlight-color: transparent;
}

.ricetta-single .mi-recipe-export-btn--pdf { background: #ff6f00; }
.ricetta-single .mi-recipe-export-btn--shopping { background: #1677a3; }

.ricetta-single .mi-recipe-export-icon { font-size: 19px; line-height: 1; }

.ricetta-single .mi-recipe-export-btn:focus-visible {
    outline: 3px solid rgba(22, 119, 163, .3);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .ricetta-single .mi-recipe-export-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 5px 13px rgba(0, 0, 0, .16);
        filter: brightness(.97);
    }
}

.ricetta-single .mi-recipe-export-status {
    min-height: 20px;
    margin: 7px 2px 0;
    color: #596970;
    font-size: 12.5px;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
}

.ricetta-single .mi-recipe-export-status.is-success { color: #28733a; }
.ricetta-single .mi-recipe-export-status.is-error { color: #b3261e; }
.ricetta-single .mi-recipe-export-status.is-info { color: #31596d; }

.ricetta-single .mi-recipe-export-copybox {
    display: grid;
    gap: 8px;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #bcdced;
    border-radius: 11px;
    background: #f8fcfe;
}

.ricetta-single .mi-recipe-export-copybox label {
    display: grid;
    gap: 6px;
    color: #31596d;
    font-size: var(--mi-text-micro,12px);
    font-weight: 700;
}

.ricetta-single .mi-recipe-export-copybox textarea {
    width: 100%;
    min-height: 150px;
    max-height: 280px;
    box-sizing: border-box;
    padding: 9px;
    border: 1px solid #b7c8d1;
    border-radius: 8px;
    background: #fff;
    color: #202c32;
    font: var(--mi-text-action-small,13px)/1.45 var(--mi-font-body, Quicksand, sans-serif);
    resize: vertical;
}

.ricetta-single .mi-recipe-export-copybox button {
    justify-self: end;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid #9db9c8;
    border-radius: 9px;
    background: #fff;
    color: #31596d;
    font-weight: 700;
    cursor: pointer;
}

.mi-recipe-print-sheet { display: none !important; }

.mi-recipe-print-sheet.is-measuring {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: -20000px !important;
    visibility: hidden !important;
    z-index: -1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

@media (min-width: 921px) {
    .ricetta-single .mi-recipe-export-actions { justify-content: center; }
    .ricetta-single .mi-recipe-export-btn--shopping { display: none; }
    .ricetta-single .mi-recipe-export-btn--pdf { flex: 0 1 260px; }
}

@media (max-width: 920px) {
    .ricetta-single .mi-recipe-export-btn { flex-basis: 180px; min-height: 44px; }
}

@media (max-width: 600px) {
    .ricetta-single .mi-recipe-export-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-top: 10px;
    }
    .ricetta-single .mi-recipe-export-btn {
        width: 100%;
        min-width: 0;
        min-height: 40px;
        padding: 8px 7px;
        gap: 5px;
        border-radius: 10px;
        font-size: 11.5px;
        line-height: 1.15;
        box-shadow: 0 2px 6px rgba(0, 0, 0, .11);
    }
    .ricetta-single .mi-recipe-export-icon { font-size: 15px; }
}

@media (max-width: 390px) {
    .ricetta-single .mi-recipe-export-btn > span:last-child { font-size: 0; }
    .ricetta-single .mi-recipe-export-btn--pdf > span:last-child::after {
        content: "PDF";
        font-size: 11.5px;
    }
    .ricetta-single .mi-recipe-export-btn--shopping > span:last-child::after {
        content: "KEEP";
        font-size: 11.5px;
    }
}

@page { size: A4; margin: 13mm 12mm 14mm; }

@media print {
    html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
    body > *:not(.mi-recipe-print-sheet) { display: none !important; }

    body > .mi-recipe-print-sheet {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        color: #111 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 10.5pt !important;
        line-height: 1.4 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .mi-recipe-print-sheet *,
    .mi-recipe-print-sheet *::before,
    .mi-recipe-print-sheet *::after { box-sizing: border-box !important; max-width: 100%; }

    .mi-print-header {
        margin: 0 0 6mm;
        padding: 0 0 4mm;
        border-bottom: 2px solid #222;
        text-align: center;
        break-after: avoid;
        page-break-after: avoid;
    }

    .mi-print-brand {
        margin-bottom: 1.5mm;
        color: #111;
        font-size: 15pt;
        font-weight: 900;
        letter-spacing: .13em;
    }

    .mi-print-header h1 {
        margin: 0 !important;
        color: #111 !important;
        font: 800 24pt/1.12 Arial, Helvetica, sans-serif !important;
        overflow-wrap: anywhere;
    }

    .mi-print-image-wrap {
        margin: 0 0 5mm;
        text-align: center;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-image {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        max-height: 82mm !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: contain;
        border-radius: 3mm;
    }

    .mi-print-meta-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.2mm;
        margin: 0 0 6mm;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-meta-item {
        display: grid;
        grid-template-columns: 34mm minmax(0, 1fr);
        gap: 2mm;
        align-items: baseline;
        padding: 2.2mm 2.8mm;
        border: 1px solid #bbb;
        border-radius: 2mm;
        background: #f7f7f7;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-meta-item span {
        color: #555;
        font-size: 8.5pt;
        font-weight: 700;
        text-transform: uppercase;
    }

    .mi-print-meta-item strong { min-width: 0; color: #111; font-size: 9.5pt; overflow-wrap: anywhere; }
    .mi-print-section { margin: 0 0 6mm; }

    .mi-print-section > h2 {
        margin: 0 0 3mm !important;
        padding: 0 0 1.8mm;
        border-bottom: 1.5px solid #333;
        color: #111 !important;
        font: 800 16pt/1.15 Arial, Helvetica, sans-serif !important;
        break-after: avoid;
        page-break-after: avoid;
    }

    .mi-print-ingredient-list { display: grid !important; gap: 1.6mm !important; width: 100% !important; }

    .mi-print-ingredient-list .mi-ingredient-block {
        margin: 3mm 0 0 !important;
        padding: 1.5mm 0 1mm !important;
        border: 0 !important;
        border-bottom: 1px solid #777 !important;
        color: #222 !important;
        font-size: 9pt !important;
        font-weight: 800 !important;
        text-transform: uppercase;
        break-after: avoid;
        page-break-after: avoid;
    }

    .mi-print-ingredient-list .mi-ingredient-row {
        display: grid !important;
        grid-template-columns: 27mm minmax(0, 1fr) !important;
        gap: 3mm !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 2mm 2.5mm !important;
        border: 1px solid #ccc !important;
        border-radius: 1.8mm !important;
        background: #fff !important;
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-ingredient-list .mi-ingredient-qty {
        display: block !important;
        min-height: 0 !important;
        padding: 1mm 1.5mm !important;
        border: 1px solid #bbb !important;
        border-radius: 1.5mm !important;
        background: #f4f4f4 !important;
        color: #111 !important;
        font-size: 9pt !important;
        font-weight: 800 !important;
        text-align: center !important;
    }

    .mi-print-ingredient-list .mi-ingredient-name,
    .mi-print-ingredient-list .mi-alt-option-name { color: #111 !important; font-size: 10pt !important; font-weight: 700 !important; }

    .mi-print-ingredient-list .mi-ingredient-note,
    .mi-print-ingredient-list .mi-alt-option-note,
    .mi-print-ingredient-list .mi-alt-options li { color: #444 !important; font-size: 8.8pt !important; line-height: 1.35 !important; }

    .mi-print-ingredient-list .mi-ingredient-row[data-alt-level] { max-width: 100% !important; margin-left: 0 !important; }
    .mi-print-ingredient-list .mi-ingredient-row[data-alt-level]::before { display: none !important; }
    .mi-print-ingredient-list .mi-ingredient-alt-card { border: 1.5px solid #777 !important; background: #fafafa !important; }

    .mi-print-ingredient-list .mi-alt-badge {
        display: inline-block !important;
        margin-left: 2mm !important;
        padding: .5mm 1.5mm !important;
        border: 1px solid #777 !important;
        border-radius: 10mm !important;
        background: #fff !important;
        color: #222 !important;
        font-size: 7.5pt !important;
    }

    .mi-print-ingredient-list .mi-alt-options {
        display: grid !important;
        gap: 1mm !important;
        margin: 1.5mm 0 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .mi-print-ingredient-list .mi-alt-options li {
        margin: 0 !important;
        padding: 1.5mm 2mm 1.5mm 6mm !important;
        border: 1px solid #ddd !important;
        background: #fff !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-ingredient-list .mi-alt-options li::before {
        content: "oppure" !important;
        display: inline !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin-right: 2mm !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #555 !important;
        font-size: 7.5pt !important;
        font-style: italic;
    }

    .mi-print-ingredient-list .mi-ingredient-preparation {
        margin-top: 3mm !important;
        padding-top: 2mm !important;
        border-top: 1px dashed #888 !important;
    }

    .mi-print-ingredient-list .mi-ingredient-preparation-heading {
        display: block !important;
        padding: 1.8mm 2mm !important;
        border: 1px solid #bbb !important;
        background: #f6f6f6 !important;
        break-after: avoid;
        page-break-after: avoid;
    }

    .mi-print-ingredient-list a { color: #111 !important; text-decoration: none !important; }

    .mi-print-text-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5mm 4mm;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mi-print-text-list li {
        padding: 1.5mm 2mm;
        border: 1px solid #ccc;
        border-radius: 1.5mm;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-steps { display: grid !important; gap: 3mm !important; }

    .mi-print-step {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 3mm !important;
        border: 1px solid #aaa !important;
        border-left: 3px solid #333 !important;
        border-radius: 2mm !important;
        background: #fff !important;
        color: #111 !important;
        box-shadow: none !important;
        transform: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-step .step-card-header,
    .mi-print-step .step-card-identity,
    .mi-print-step .step-metrics { position: static !important; transform: none !important; }

    .mi-print-step .step-description { margin: 2mm 0 2.5mm !important; color: #111 !important; font-size: 10pt !important; line-height: 1.4 !important; }

    .mi-print-step .step-metrics {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 1.5mm !important;
        margin: 1.5mm 0 0 !important;
    }

    .mi-print-step .step-metric {
        min-width: 0 !important;
        padding: 1.5mm !important;
        border: 1px solid #ccc !important;
        border-radius: 1.5mm !important;
        background: #fafafa !important;
        color: #111 !important;
        text-align: center !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-step .step-metric-label { display: block !important; color: #555 !important; font-size: 7.5pt !important; font-weight: 700 !important; text-transform: uppercase; }
    .mi-print-step .step-metric-value,
    .mi-print-step .step-turbo-badge { color: #111 !important; font-size: 9.5pt !important; font-weight: 800 !important; }

    .mi-print-footer {
        display: grid;
        gap: 1mm;
        margin-top: 7mm;
        padding-top: 3mm;
        border-top: 1px solid #777;
        color: #222;
        font-size: 8.5pt;
        overflow-wrap: anywhere;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mi-print-footer span { word-break: break-word; }
}

/* PDF ricetta: layout autonomo, compatto e autoscalato su una singola A4. */
.mi-onepage-sheet {
    color: #111;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 7.1pt;
    line-height: 1.22;
}

.mi-onepage-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 70mm;
    gap: 5mm;
    align-items: center;
    padding-bottom: 3mm;
    border-bottom: 1.2px solid #222;
}

.mi-onepage-heading { min-width: 0; }
.mi-onepage-brand-row {
    display: flex;
    align-items: center;
    gap: 2.2mm;
}
.mi-onepage-brand-logo {
    width: 15mm !important;
    height: 15mm !important;
    object-fit: contain;
    flex: 0 0 15mm;
}
.mi-onepage-brand { font-size: 15pt; font-weight: 900; letter-spacing: .12em; }
.mi-onepage-heading h1 { margin: 1mm 0 1.2mm; font-size: 18pt; line-height: 1.05; overflow-wrap: anywhere; }
.mi-onepage-meta { color: #444; font-size: 7pt; font-weight: 700; }
.mi-onepage-image { width: 70mm !important; height: 46mm !important; object-fit: cover; border-radius: 2mm; }

.mi-onepage-body {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 3.2mm;
    align-items: start;
    margin-top: 2.5mm;
}

.mi-onepage-column { min-width: 0; }
.mi-onepage-section-title,
.mi-onepage-mini h2 {
    margin: 0 0 1mm;
    padding-bottom: .7mm;
    border-bottom: 1px solid #555;
    font-size: 9pt;
    line-height: 1.05;
}

.mi-onepage-ingredients { display: grid; gap: .55mm; }
.mi-onepage-ingredients h3 {
    margin: .8mm 0 .1mm;
    color: #444;
    font-size: 6.5pt;
    line-height: 1.05;
    text-transform: uppercase;
}

.mi-onepage-ingredient {
    display: grid;
    grid-template-columns: 15mm minmax(0, 1fr);
    gap: 1.2mm;
    align-items: baseline;
    padding: .65mm .8mm;
    border-bottom: .35px solid #ddd;
}

.mi-onepage-ingredient.is-nested { padding-left: 2mm; }
.mi-onepage-ingredient-qty { color: #222; font-size: 6.5pt; font-weight: 800; text-align: right; }
.mi-onepage-ingredient-body { min-width: 0; }
.mi-onepage-ingredient-body strong { font-size: 6.9pt; }
.mi-onepage-note { display: block; color: #555; font-size: 5.9pt; }
.mi-onepage-alt { display: block; margin-top: .25mm; color: #333; font-size: 5.9pt; font-style: italic; }

.mi-onepage-mini { margin-top: 1.8mm; }
.mi-onepage-mini h2 { font-size: 7.2pt; }
.mi-onepage-mini p { margin: 0; color: #333; font-size: 6pt; line-height: 1.25; }

.mi-onepage-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15mm;
}

.mi-onepage-step {
    min-width: 0;
    padding: 1mm 1.15mm;
    border: .55px solid #aaa;
    border-left: 1.6px solid #333;
    border-radius: 1mm;
    background: #fff;
}

.mi-onepage-step-top {
    display: grid;
    grid-template-columns: 5.5mm minmax(0, 1fr);
    gap: .8mm;
    align-items: start;
}

.mi-onepage-step-number {
    display: grid;
    place-items: center;
    width: 5mm;
    height: 5mm;
    border-radius: 50%;
    background: #222;
    color: #fff;
    font-size: 6.1pt;
    line-height: 1;
}

.mi-onepage-step p { margin: 0; font-size: 6.45pt; line-height: 1.2; }
.mi-onepage-step-metrics { margin-top: .65mm; color: #444; font-size: 5.35pt; line-height: 1.18; }
.mi-onepage-footer { margin-top: 2mm; padding-top: 1mm; border-top: .5px solid #999; color: #555; font-size: 5.7pt; overflow-wrap: anywhere; }

@page { size: A4 portrait; margin: 8mm; }

@media print {
    body > .mi-recipe-print-sheet.mi-onepage-sheet {
        display: block !important;
        width: var(--mi-print-logical-width, 194mm) !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 7.1pt !important;
        line-height: 1.22 !important;
        zoom: var(--mi-print-scale, 1);
        overflow: visible !important;
    }

    .mi-onepage-sheet *,
    .mi-onepage-sheet *::before,
    .mi-onepage-sheet *::after {
        box-sizing: border-box !important;
        max-width: none;
        break-before: auto !important;
        break-after: auto !important;
        break-inside: auto !important;
        page-break-before: auto !important;
        page-break-after: auto !important;
        page-break-inside: auto !important;
    }

    .mi-onepage-brand-logo { max-width: 15mm !important; }
    .mi-onepage-image { max-width: 70mm !important; }
}
