/* One reading column and one body scale throughout a recipe. */
.rio-single-recipe,.rio-recipe { --rio-recipe-text-size:var(--rio-content-size,16px); --rio-recipe-line-height:1.8; }
.rio-recipe { --rio-recipe-section-padding:clamp(20px,3cqi,32px); --rio-choice-font-size:var(--rio-recipe-text-size); --rio-choice-line-height:var(--rio-recipe-line-height); --rio-badge-font-size:var(--rio-recipe-text-size); color:var(--rio-ink,#20344b); font:var(--rio-content-weight,400) var(--rio-recipe-text-size)/var(--rio-recipe-line-height) var(--rio-font,'Poppins',system-ui,sans-serif); margin:32px 0 36px; container-type:inline-size; text-transform:var(--rio-content-transform,none); }
.rio-recipe * { box-sizing:border-box; }
.rio-recipe h2,.rio-recipe h3 { color:inherit; font-family:var(--rio-heading,'Rajdhani',system-ui,sans-serif); line-height:1.2; font-weight:var(--rio-heading-weight,700); text-transform:var(--rio-heading-transform,uppercase); }
.rio-recipe h2 { font-size:var(--rio-heading-current-size,var(--rio-heading-size,30px)); margin:0; }
.rio-recipe h3 { font-size:var(--rio-heading-current-size,var(--rio-heading-size,24px)); }
.rio-recipe p { font-size:inherit; line-height:inherit; }
.rio-recipe-overview,.rio-recipe-section { min-width:0; border:1px solid var(--rio-line,#dce2e7); background:var(--rio-paper,#fff); }
.rio-recipe-overview { display:grid; grid-template-columns:minmax(0,1fr); border-top:3px solid var(--rio-accent,#00fe01); background:var(--rio-section-tint,#eef1f3); }
.rio-recipe-overview.has-image { grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
.rio-recipe-overview-visual { min-width:0; overflow:hidden; }
.rio-recipe-overview-image { display:block; width:100%; max-width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; margin:0; }
.rio-recipe-overview-content { min-width:0; padding:var(--rio-recipe-section-padding); }
.rio-recipe-overview-title { margin-bottom:24px; }
.rio-recipe-section { padding:var(--rio-recipe-section-padding); margin-top:28px; }
.rio-recipe-section-head { margin-bottom:24px; }
.rio-recipe-facts { display:flex; flex-wrap:wrap; gap:20px 36px; margin:0; }
.rio-recipe-facts>div { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.rio-recipe-facts dt { margin-bottom:4px; }
.rio-recipe-facts dd { margin:0; font-weight:600; }
.rio-recipe-categories { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.rio-recipe-categories>* { padding:5px 10px; background:var(--rio-paper,#fff); color:inherit; font-size:inherit; text-decoration:none; }
.rio-recipe-categories a:hover { text-decoration:underline; text-underline-offset:3px; }
.rio-recipe-nutrition dl { margin:0; }
.rio-recipe-nutrition dl>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px 28px; padding:12px 0; border-bottom:1px solid var(--rio-line,#dce2e7); }
.rio-recipe-nutrition dl>div:first-child { padding-top:0; }
.rio-recipe-nutrition dl>div:last-child { border-bottom:0; padding-bottom:0; }
.rio-recipe-nutrition dt { min-width:0; overflow-wrap:anywhere; }
.rio-recipe-nutrition dd { margin:0; flex-shrink:0; font-weight:600; }
.rio-recipe-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:24px; }
.rio-serving-control { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-width:0; }
.rio-serving-control>label { font-weight:600; }
.rio-serving-stepper { display:grid; grid-template-columns:50px 64px 50px; flex:0 0 auto; width:max-content; align-items:stretch; }
.rio-serving-stepper>.rio-button { width:50px; min-width:50px; padding:0; font-size:22px; }
.rio-recipe .rio-serving-stepper input { display:block; box-sizing:border-box; width:64px; min-width:0; max-width:64px; height:50px; min-height:50px; margin:0; padding:8px 4px; border:1px solid var(--rio-line,#dce2e7); border-inline:0; border-radius:0; text-align:center; appearance:textfield; font:500 var(--rio-recipe-text-size)/1.5 var(--rio-font,system-ui,sans-serif); background:var(--rio-paper,#fff); color:inherit; }
.rio-serving-stepper input::-webkit-inner-spin-button,.rio-serving-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.rio-recipe .rio-serving-stepper input:focus-visible { outline:2px solid var(--rio-focus,var(--rio-ink,#20344b)); outline-offset:-2px; }
.rio-recipe .rio-serving-stepper input[aria-invalid=true] { outline:2px solid #8f1d1a; outline-offset:-2px; }
.rio-recipe-action-buttons { display:flex; align-items:stretch; flex-wrap:wrap; gap:10px; }
.rio-bring-link .rio-bring-logo { display:block; width:auto; max-width:none; height:20px; margin:0; flex:0 0 auto; }
.rio-recipe-print-portions { display:none; }
.rio-recipe-group-title { margin:26px 0 14px; }
.rio-ingredient-list { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; list-style:none; margin:0; padding:0; }
.rio-ingredient-list>li { margin:0; min-width:0; }
.rio-ingredient-copy { min-width:0; overflow-wrap:anywhere; }
.rio-ingredient-copy small { display:block; font-size:inherit; font-weight:400; margin-top:4px; }
.rio-ingredient:has(input:checked) .rio-ingredient-copy,.rio-step-content:has([data-rio-step-check]:checked)>:is(h3,.rio-step-text,.rio-step-tip) { text-decoration:line-through; text-decoration-thickness:1px; }
.rio-recipe-fixed { font-style:italic; }
.rio-recipe-utensils ul { list-style:disc; margin:0; padding-left:24px; }
.rio-recipe-utensils li { padding-left:4px; margin:0 0 10px; }
.rio-recipe-utensils li:last-child { margin-bottom:0; }
.rio-recipe-progress { margin:0 0 24px; }
.rio-recipe-steps { list-style:none; padding:0; margin:0; }
.rio-recipe-step { padding:0 0 28px; margin:0 0 28px; border-bottom:1px solid var(--rio-line,#dce2e7); scroll-margin-top:120px; }
.rio-recipe-step:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.rio-step-content { min-width:0; }
.rio-step-content h3 { margin:0 0 14px; }
.rio-step-text,.rio-recipe-tips-copy { overflow-wrap:anywhere; }
.rio-step-text p,.rio-recipe-tips-copy :is(p,ul,ol) { margin:0 0 16px; }
.rio-step-text p:last-child,.rio-recipe-tips-copy :last-child { margin-bottom:0; }
.rio-step-image { display:block; width:100%; height:auto; margin:20px 0; }
.rio-step-tip { background:var(--rio-soft,#f4f6f7); border-left:2px solid var(--rio-accent,#00fe01); padding:16px 20px; margin:20px 0; }
.rio-recipe .rio-step-complete.rio-choice { margin-top:20px; }
.rio-recipe-tips-copy :is(ul,ol) { padding-left:24px; }
.rio-recipe-tips-copy li { margin-bottom:12px; }
.rio-recipe-video p { margin:0; overflow-wrap:anywhere; }
.rio-single-recipe .rio-single-top { min-height:260px; }
.rio-single-recipe .rio-single-header { padding-block:34px; }
.rio-single-recipe .rio-single-header h1 { font-size:var(--rio-heading-current-size,var(--rio-heading-size,clamp(36px,4vw,60px))); }
.rio-single-recipe .rio-prose { font-size:var(--rio-recipe-text-size); line-height:var(--rio-recipe-line-height); font-weight:var(--rio-content-weight,400); text-transform:var(--rio-content-transform,none); }
/* Text alternatives remain alongside all traffic-light colours. */
.rio-runner-light>header>p { margin:12px 0 0; }
.rio-runner-light-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.rio-runner-context,.rio-runner-help { min-width:0; padding:24px; border:1px solid var(--rio-line,#dce2e7); }
.rio-runner-context.is-green { --rio-signal:#187b4a; --rio-signal-line:#aed8c2; background:#eaf7ef; border-color:var(--rio-signal-line); }
.rio-runner-context.is-yellow { --rio-signal:#8b6208; --rio-signal-line:#e5d19c; background:#fff8e7; border-color:var(--rio-signal-line); }
.rio-runner-context.is-red { --rio-signal:#a23737; --rio-signal-line:#e5bcbc; background:#fff0ef; border-color:var(--rio-signal-line); }
.rio-runner-context>header { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.rio-runner-context h3,.rio-runner-help h3 { margin:0; }
.rio-runner-signal { width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:var(--rio-signal); }
.rio-runner-verdict { color:var(--rio-signal); background:#fff; padding:4px 10px; font-weight:600; }
.rio-runner-context>p,.rio-runner-help p { margin:18px 0; }
.rio-runner-context dl { margin:0; }
.rio-runner-context dl>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; padding:14px 0; border-top:1px solid var(--rio-signal-line); }
.rio-runner-context dt { display:flex; align-items:center; gap:8px; overflow-wrap:anywhere; }
.rio-runner-context dd { margin:0; font-weight:600; }
.rio-runner-context .rio-runner-metric-note { grid-column:1/-1; font-weight:400; color:var(--rio-metric); }
.rio-runner-context .is-green { --rio-metric:#187b4a; }.rio-runner-context .is-yellow { --rio-metric:#8b6208; }.rio-runner-context .is-red { --rio-metric:#a23737; }
.rio-runner-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--rio-metric); }
.rio-runner-help { background:var(--rio-soft,#f4f6f7); }
.rio-runner-help h3 { display:flex; gap:10px; align-items:center; }
.rio-runner-help h3 .rio-icon { width:20px; height:20px; flex:0 0 20px; }
.rio-runner-note { margin:20px 0 0; }
.rio-runner-help-dialog { width:min(840px,calc(100% - 24px)); }
.rio-runner-help-dialog .rio-dialog-body { font:var(--rio-content-weight,400) var(--rio-content-size,16px)/1.8 var(--rio-font,system-ui,sans-serif); text-transform:var(--rio-content-transform,none); }
.rio-runner-table { overflow-x:auto; }
.rio-runner-table table { width:100%; border-collapse:collapse; font-size:inherit; }
.rio-runner-table :is(th,td) { padding:12px; text-align:left; border:1px solid var(--rio-line,#dce2e7); }
@container (max-width:600px) {
  .rio-recipe-overview.has-image { grid-template-columns:minmax(0,1fr); }
  .rio-recipe-overview-image { height:auto; aspect-ratio:16/10; }
  .rio-recipe-tools { align-items:stretch; }
  .rio-serving-control { width:100%; }
  .rio-serving-control>label { flex-basis:100%; }
  .rio-recipe-action-buttons { width:100%; }
  .rio-recipe-action-buttons>.rio-button { flex:1 1 140px; }
  .rio-runner-context,.rio-runner-help { padding:18px; }
}
@media(max-width:639px) { .rio-recipe { --rio-recipe-section-padding:20px; text-transform:var(--rio-content-transform,none); }.rio-recipe-section { margin-top:24px; } }
@media(prefers-reduced-motion:reduce) { .rio-recipe * { transition:none!important; scroll-behavior:auto; } }
@media print {
  .rio-recipe { --rio-recipe-text-size:10pt; --rio-recipe-line-height:1.65; color:#000; container-type:normal; text-transform:var(--rio-content-transform,none); }
  .rio-recipe-tools,.rio-step-complete,.rio-recipe-progress,.rio-runner-help,.rio-runner-help-dialog { display:none!important; }
  .rio-recipe-print-portions { display:block; }
  .rio-ingredient:has(input:checked) .rio-ingredient-copy,.rio-step-content:has([data-rio-step-check]:checked)>:is(h3,.rio-step-text,.rio-step-tip) { text-decoration:none; }
  .rio-recipe-section { padding:4mm; margin-top:5mm; }
  .rio-runner-light-grid { display:block; }
  .rio-runner-context { break-inside:avoid; margin-bottom:4mm; background:transparent!important; }
}
