/* Capa de contenido: índice /fermentos, categorías y ficha del fermento (R1) */

/* --- tarjeta de fermento (el componente que más se repite del sitio) --- */
.fcard { display:flex; flex-direction:column; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:22px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out); }
a.fcard:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.fcard__cover { height:150px; background:var(--green-050) center/cover no-repeat; position:relative; }
.fcard__body { padding:16px 18px; display:flex; flex-direction:column; gap:6px; flex:1; }
.fcard__cat { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--ink-400); text-transform:uppercase; letter-spacing:.05em; }
.fcard__cat i { width:9px; height:9px; border-radius:50%; flex:none; }
.fcard__name { font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--ink-900); }
.fcard__meta { margin-top:auto; font-family:var(--font-data); font-size:12.5px; color:var(--ink-500); }
.fcard--pronto { opacity:.72; }
.fcard__tag { position:absolute; top:10px; right:10px; font-size:11px; font-weight:700; letter-spacing:.04em; background:var(--paper-2); color:var(--ink-500); padding:3px 9px; border-radius:999px; }
.fgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }

/* --- estantes del índice --- */
.shelf { margin-bottom:44px; }
.shelf__head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.shelf__head h2 { margin:0; }
.shelf__head p { margin:4px 0 0; color:var(--ink-500); font-size:15px; }
.shelf__more { font-weight:600; color:var(--green-700); text-decoration:none; white-space:nowrap; }

/* --- ficha del fermento --- */
.ficha-wrap { max-width:820px; margin-inline:auto; }
.ficha-crumb { font-size:13px; color:var(--ink-400); margin-bottom:12px; }
.ficha-crumb a { color:var(--ink-500); text-decoration:none; }
.ficha-lede { font-size:1.1rem; line-height:1.65; color:var(--ink-700); margin:14px 0 0; }
.ficha-datos { display:flex; flex-wrap:wrap; gap:8px 22px; margin:18px 0 0; font-family:var(--font-data); font-size:13.5px; color:var(--ink-500); }
.ficha-datos strong { color:var(--ink-900); font-weight:600; }
.ficha-cover { margin-top:24px; border-radius:18px; overflow:hidden; }
.ficha-cover img { display:block; width:100%; max-height:420px; object-fit:cover; }
.ficha-nota { font-size:13.5px; color:var(--ink-400); margin-top:8px; }
.ficha-nota a { color:var(--green-700); }

.ficha h2 { font-family:var(--font-display); font-size:1.5rem; margin:2em 0 .6em; color:var(--ink-900); }
.ing-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:10px 22px; }
.ing-list li { display:flex; justify-content:space-between; gap:12px; padding:10px 14px; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:12px; font-size:15px; }
.ing-list .ing-q { font-family:var(--font-data); font-size:13.5px; color:var(--green-700); white-space:nowrap; }
.ing-papel { display:block; font-size:12px; color:var(--ink-400); text-transform:uppercase; letter-spacing:.05em; }

.paso { position:relative; padding:0 0 26px 54px; }
.paso::before { content:''; position:absolute; left:17px; top:38px; bottom:0; width:2px; background:var(--green-100); }
.paso:last-child::before { display:none; }
.paso__num { position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--green-700); color:#fff; font-family:var(--font-data); font-size:15px; display:flex; align-items:center; justify-content:center; }
.paso h3 { font-family:var(--font-display); font-size:1.15rem; margin:6px 0 6px; color:var(--ink-900); }
.paso__opt { display:inline-block; margin-left:8px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; background:var(--paper-2); color:var(--ink-500); padding:2px 8px; border-radius:999px; vertical-align:middle; }
.paso p { margin:0 0 10px; color:var(--ink-700); line-height:1.65; }
.paso ul { margin:0 0 10px 1.1em; color:var(--ink-700); }
.paso li { margin:.25em 0; }
/* consejo editorial: por qué se hace así. Sin emblema — no es voz del mentor (Voz.md §4) */
.paso__hint { background:var(--green-050); border:1px solid var(--green-100); border-radius:12px; padding:12px 16px; margin:10px 0; font-size:14.5px; line-height:1.6; color:var(--green-800); }
.paso__hint strong { display:block; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--green-700); margin-bottom:3px; }

.ficha-faq details { border-bottom:1px solid var(--border-subtle); }
.ficha-faq summary { cursor:pointer; padding:15px 0; font-weight:600; color:var(--ink-900); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ficha-faq summary::-webkit-details-marker { display:none; }
.ficha-faq summary::after { content:'+'; font-size:20px; color:var(--green-700); flex:none; }
.ficha-faq details[open] summary::after { content:'–'; }
.ficha-faq details p { margin:0 0 16px; color:var(--ink-700); line-height:1.65; }

.ficha-punto { background:var(--green-050); border:1px solid var(--green-100); border-radius:18px; padding:24px 26px; margin-top:8px; }
.ficha-punto p { margin:0 0 14px; color:var(--green-800); line-height:1.65; }

/* --- página de categoría --- */
.cat-intro { max-width:760px; font-size:1.05rem; line-height:1.7; color:var(--ink-700); }
.cat-intro p { margin:0 0 1em; }
.cat-chooser { background:var(--green-050); border:1px solid var(--green-100); border-radius:18px; padding:20px 24px; margin:26px 0; }
.cat-chooser h2 { font-family:var(--font-display); font-size:1.15rem; margin:0 0 8px; color:var(--ink-900); }
.cat-chooser p { margin:0; color:var(--green-800); line-height:1.65; }
.cat-otras { display:flex; flex-wrap:wrap; gap:10px; }
.cat-otras a { font-size:14px; font-weight:600; padding:8px 16px; border-radius:999px; text-decoration:none; color:var(--text-secondary); border:1px solid var(--border-subtle); background:var(--surface-card); }
.cat-otras a:hover { color:var(--green-700); border-color:var(--green-200); }
