/* ==========================================================================
   RECIPE PRINT STYLES
   Print-friendly recipe template
   ========================================================================== */

/* Header */
.print-header {
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 12pt;
    margin-bottom: 16pt;
}

.print-header h1 {
    font-size: 24pt;
    font-weight: 700;
    margin-bottom: 8pt;
    color: var(--color-neutral-900);
}

.print-source {
    font-size: 10pt;
    color: var(--color-neutral-500);
}

/* QR Code section */
.print-qr-section {
    display: flex;
    align-items: center;
    gap: 12pt;
    padding: 10pt 0;
    margin-bottom: 12pt;
    border-bottom: 1px solid var(--color-border);
}

.print-qr-code {
    flex-shrink: 0;
}

.print-qr-code img {
    width: 50pt;
    height: 50pt;
}

.qr-fallback {
    display: none;
    width: 50pt;
    height: 50pt;
    border: 2pt dashed var(--color-neutral-300);
    align-items: center;
    justify-content: center;
    font-size: 14pt;
    color: var(--color-neutral-400);
    font-weight: bold;
}

.print-qr-info {
    flex: 1;
}

.qr-label {
    display: block;
    font-size: 8pt;
    color: var(--color-neutral-400);
    margin-bottom: 2pt;
}

.print-qr-info a {
    font-size: 9pt;
    color: var(--color-accent);
    word-break: break-all;
    text-decoration: none;
}

/* Meta info */
.print-meta {
    display: flex;
    gap: 24pt;
    padding: 12pt 0;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 16pt;
    font-size: 11pt;
}

.print-meta span {
    white-space: nowrap;
}

/* Section titles (scoped to print template) */
.print-recipe h2 {
    font-size: 14pt;
    font-weight: 700;
    margin: 20pt 0 10pt;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.5pt;
}

/* Ingredient group titles */
.print-recipe h3 {
    font-size: 11pt;
    font-weight: 600;
    margin: 14pt 0 6pt;
    color: var(--color-neutral-700);
}

/* Ingredients list - two columns */
.print-ingredients ul {
    list-style: none;
    padding-left: 0;
    columns: 2;
    column-gap: 24pt;
}

.print-ingredients li {
    padding: 3pt 0 3pt 20pt;
    position: relative;
    font-size: 10pt;
    border-bottom: 1px dotted var(--color-neutral-200);
    break-inside: avoid;
}

/* Checkbox squares */
.print-ingredients li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5pt;
    width: 10pt;
    height: 10pt;
    border: 1.5pt solid var(--color-neutral-500);
}

/* Steps */
.print-steps ol {
    padding-left: 20pt;
    margin: 0;
}

.print-steps li {
    padding: 8pt 0;
    font-size: 11pt;
    page-break-inside: avoid;
}

/* Footer */
.print-footer {
    margin-top: 24pt;
    padding-top: 12pt;
    border-top: 1px solid var(--color-border);
    text-align: center;
}

.print-btn {
    display: inline-block;
    padding: 10pt 24pt;
    background: var(--color-accent);
    color: var(--color-accent-foreground);
    border: none;
    border-radius: var(--radius-md);
    font-size: 11pt;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--transition-fast);
}

.print-btn:hover {
    background: var(--color-accent-hover);
}

/* Print-specific styles */
@media print {
    .print-btn,
    .no-print {
        display: none !important;
    }

    .print-ingredients,
    .print-steps li {
        page-break-inside: avoid;
    }
}
