.re-card{--ink:#21352b;--muted:#64756b;--line:#e1e8e1;--accent:#bd5d3b;max-width:840px;margin:28px auto 45px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 36px rgba(27,45,34,.07);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
.re-card *{box-sizing:border-box}.re-card .re-hero-wrap{max-height:380px;overflow:hidden}.re-card .re-hero{width:100%;height:380px;object-fit:cover;display:block}.re-card .re-inner{padding:32px 40px}.re-card .re-kicker{color:var(--accent);letter-spacing:.16em;font-size:11px;font-weight:800}.re-card h2{font-size:clamp(27px,4vw,40px);margin:9px 0 12px;color:var(--ink);line-height:1.15}.re-card .re-intro{font-size:16px;line-height:1.65;color:var(--muted)}.re-card .re-facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.re-card .re-facts span{background:#f2f6f1;border-radius:10px;padding:10px 12px;font-size:13px}.re-card .re-toolbar{border:1px solid var(--line);padding:13px 15px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.re-card .re-counter{display:flex;align-items:center;gap:12px}.re-card button{border:1px solid #cad8cc;border-radius:9px;background:#fff;color:var(--ink);font-weight:700;padding:7px 13px;cursor:pointer}.re-card button:hover{background:#f0f6f1}.re-card .re-counter button{font-size:18px}.re-card h3{color:var(--ink);font-size:23px;margin:30px 0 14px}.re-card .re-ingredients{list-style:none;padding:0;margin:0}.re-card .re-ingredients li{border-bottom:1px solid var(--line);padding:11px 1px}.re-card .re-ingredients label{display:flex;gap:11px;align-items:start;cursor:pointer}.re-card .re-ingredients input{accent-color:#567a60;margin-top:5px}.re-card .re-ingredients input:checked+span{text-decoration:line-through;color:#819087}.re-card .re-steps{padding-left:29px;line-height:1.75}.re-card .re-steps li{padding:3px 0 15px 6px}.re-card .re-steps li::marker{color:var(--accent);font-weight:900}.re-card .re-note{background:#f5f8f1;padding:5px 20px 18px;border-radius:13px;margin:20px 0}.re-card .re-note h3{font-size:18px;margin-top:18px}.re-card .re-note p{line-height:1.65}.re-card .re-allergens{color:var(--muted);font-size:13px;margin-top:22px}@media(max-width:620px){.re-card{border-radius:12px}.re-card .re-inner{padding:22px}.re-card .re-hero{height:250px}.re-card .re-facts{gap:6px}.re-card .re-facts span{font-size:12px}}@media print{body *{visibility:hidden!important}.re-card,.re-card *{visibility:visible!important}.re-card{position:absolute;left:0;top:0;width:100%;margin:0;border:0;box-shadow:none}.re-card .re-inner{padding:14px}.re-card .re-toolbar,.re-card input{display:none!important}.re-card li{break-inside:avoid}.re-card .re-hero{height:180px}}

/* Recipe Engine 0.2: variaciones editoriales. */
.re-card .re-variations{margin-top:34px;padding-top:5px;border-top:1px solid var(--line)}
.re-card .re-variations-intro{color:var(--muted);font-size:15px;line-height:1.65;margin-top:-4px}
.re-card .re-variations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:15px;margin:18px 0}
.re-card .re-variation{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fdfefd}
.re-card .re-variation-image{height:180px;display:block;width:100%;object-fit:cover}
.re-card .re-variation-body{padding:17px 19px}
.re-card .re-variation h4{font-size:18px;margin:0 0 10px;color:var(--ink);line-height:1.3}
.re-card .re-variation p{font-size:14px;line-height:1.6;margin:9px 0;color:var(--ink)}
.re-card .re-variation-link{display:inline-block;margin-top:8px;color:#995039;font-weight:750;text-decoration:underline;text-underline-offset:3px}
@media print{.re-card .re-variations-grid{display:block}.re-card .re-variation{break-inside:avoid;margin-bottom:10px}.re-card .re-variation-image{max-height:105px;object-fit:contain}}
.re-step-photo{display:block;width:100%;max-width:640px;height:auto;margin:12px 0 18px;border-radius:10px}

/* Recipe Engine 0.5: estructura semántica y navegación accesible. */
.re-card .re-quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 6px}
.re-card .re-quicklinks a{display:inline-flex;align-items:center;padding:9px 13px;border-radius:9px;background:#edf4ee;color:#28593c;font-size:14px;font-weight:650;text-decoration:none}
.re-card .re-quicklinks a:hover,.re-card .re-quicklinks a:focus-visible{background:#dcebdd;text-decoration:underline}
.re-card h2{font-size:clamp(22px,2.8vw,27px);line-height:1.3;margin:30px 0 14px}
.re-card .re-note h2{font-size:21px;margin:15px 0 9px}
.re-card .re-variation h3{font-size:18px;margin:0 0 10px;color:var(--ink);line-height:1.3}
.re-card [id$="-ingredientes"],.re-card [id$="-preparacion"]{scroll-margin-top:95px}
.re-card button:focus-visible,.re-card a:focus-visible{outline:3px solid #256e55;outline-offset:3px}
@media(max-width:620px){.re-card .re-quicklinks a{flex:1 1 auto;justify-content:center;text-align:center}.re-card .re-counter{gap:8px}}
@media print{.re-card .re-quicklinks{display:none!important}.re-card [id$="-ingredientes"],.re-card [id$="-preparacion"]{scroll-margin-top:0}}

/* RE 0.7 — ajustes de impresión, móvil y accesibilidad */
.re-card .re-print-title{display:none}
.re-card .re-qty{font-variant-numeric:tabular-nums}
.re-card .re-counter output{font-variant-numeric:tabular-nums;min-width:2ch;text-align:center;font-weight:700}
.re-card .re-counter button:disabled{opacity:.4;cursor:not-allowed;background:#f5f5f5}
.re-card .re-steps li img{max-width:100%;height:auto;border-radius:10px}
.re-card .re-ingredients label{overflow-wrap:anywhere}
@media(max-width:620px){
 .re-card .re-toolbar{padding:12px;gap:14px}
 .re-card .re-counter{justify-content:center;flex-wrap:wrap}
 .re-card .re-counter button{min-width:42px;min-height:42px}
 .re-card .re-print{min-height:42px}
 .re-card .re-inner{padding:18px 16px}
 .re-card .re-steps{padding-left:24px}
}
@media print{
 @page{size:auto;margin:13mm}
 .re-card .re-print-title{display:block!important;font-size:24pt;color:#111;margin:0 0 12px;line-height:1.2}
 .re-card .re-hero-wrap,.re-card .re-quicklinks,.re-card .re-toolbar{display:none!important}
 .re-card .re-inner{padding:0!important}
 .re-card .re-ingredients input[type=checkbox]{display:none!important}
 .re-card .re-ingredients input:checked+span{text-decoration:none!important;color:#111!important}
 .re-card .re-steps img{max-height:160px;width:auto}
 .re-card h2{font-size:15pt!important;margin:15px 0 6px!important}
 .re-card .re-variation h3{font-size:12pt!important}
 .re-card .re-facts span{padding:4px 7px!important}
 .re-card .re-note,.re-card .re-variation{break-inside:avoid;page-break-inside:avoid}
}

.re-card .re-ingredient-hint{font-size:.9rem;opacity:.76;margin:-4px 0 13px}
@media print{.re-card .re-ingredient-hint{display:none!important}}
