:root { --rio-ink:#20344b; --rio-muted:#20344b; --rio-accent:#00fe01; --rio-soft:#f4f6f7; --rio-section-tint:#eef1f3; --rio-line:#dce2e7; --rio-font:'Poppins',system-ui,sans-serif; --rio-heading:'Rajdhani',system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--rio-ink); background:#eef1f3; font:400 14px/1.7 var(--rio-font); }
a { color:inherit; }
h1,h2,h3 { font-family:var(--rio-heading); }
[hidden] { display:none!important; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.rio-print-toolbar { max-width:900px; margin:24px auto 16px; display:flex; gap:20px; justify-content:space-between; font-size:12px; padding-inline:20px; }
.rio-print-document { max-width:900px; margin:0 auto 36px; background:#fff; padding:36px; }
.rio-print-header { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:28px; padding-bottom:26px; margin-bottom:26px; border-bottom:2px solid #20344b; }
.rio-print-brand { font:700 20px var(--rio-heading); letter-spacing:.04em; text-transform:uppercase; }
.rio-print-header h1 { font-size:36px; line-height:1.1; margin:12px 0; text-transform:uppercase; }
.rio-print-header p { font-size:12px; line-height:1.65; margin:8px 0 0; }
.rio-print-qr { margin:0; }
.rio-print-qr svg { display:block; width:112px; height:112px; }
.rio-print-qr figcaption { text-align:center; font-size:10px; margin-top:5px; }
.rio-print-source { border-top:1px solid #dce2e7; padding-top:18px; font-size:10px; overflow-wrap:anywhere; }
.rio-recipe-overview-title { display:none; }
.rio-icon { width:20px; height:20px; fill:currentColor; }
@media(max-width:599px) { .rio-print-document { padding:20px; }.rio-print-header { grid-template-columns:1fr; gap:18px; }.rio-print-qr { width:112px; }.rio-print-toolbar { flex-wrap:wrap; }.rio-print-header h1 { font-size:30px; } }
@page { size:A4; margin:14mm 14mm 16mm; }
@media print {
    body { background:#fff; color:#000; font-size:10pt; }
    .rio-print-toolbar { display:none; }
    .rio-print-document { margin:0; padding:0; width:auto; max-width:none; }
    .rio-print-header { grid-template-columns:minmax(0,1fr) 28mm; gap:8mm; padding-bottom:5mm; margin-bottom:5mm; break-inside:avoid; }
    .rio-print-header h1 { font-size:22pt; }
    .rio-print-header p { font-size:9pt; }
    .rio-print-qr,.rio-print-qr svg { width:28mm; height:auto; }
    .rio-recipe { margin:0; }
    .rio-recipe-section { border-color:#aaa; }
    .rio-recipe-nutrition dl>div { padding-block:2mm; }
    .rio-recipe-overview { background:#fff; border:1px solid #aaa; padding:4mm; gap:5mm; break-inside:avoid; }
    .rio-recipe-overview.has-image { grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
    .rio-recipe-overview-content { padding:0; }
    .rio-recipe-overview-visual { align-self:center; }
    .rio-recipe-overview-image { height:auto; max-height:55mm; aspect-ratio:auto; object-fit:contain; }
    .rio-recipe-facts { gap:4mm 8mm; }
    .rio-recipe-categories>* { padding:0; background:none; }
    .rio-recipe-print-portions { margin:5mm 0; font-size:11pt; }
    .rio-recipe-section-head { margin-bottom:3mm; break-after:avoid; }
    .rio-recipe-section-head h2 { font-size:17pt; }
    .rio-ingredient-list { display:block; }
    .rio-ingredient-list li { break-inside:avoid; }
    .rio-ingredient { padding:2mm 0; font-size:10pt; }
    .rio-recipe-group-title { font-size:13pt; margin:4mm 0 2mm; break-after:avoid; }
    .rio-recipe-utensils { break-inside:avoid; }
    .rio-recipe-step { padding:0 0 4mm; margin-bottom:4mm; break-inside:avoid; }
    .rio-step-content h3 { font-size:14pt; break-after:avoid; }
    .rio-step-image { max-width:75mm; max-height:55mm; width:auto; height:auto; margin:3mm 0; }
    .rio-step-tip { padding:3mm; background:none; border-color:#aaa; }
    .rio-recipe-tips-copy p,.rio-recipe-tips-copy ul,.rio-recipe-tips-copy ol { break-inside:avoid; }
    .rio-recipe-nutrition { break-inside:avoid; margin-bottom:5mm; }
    .rio-print-source { padding-top:3mm; font-size:8pt; }
    .rio-recipe a { text-decoration:none; }
}
