/* Recipe layout is independent of the catalog's list and navigation styles. */
.recipe-page{max-width:1120px;padding:32px 0 64px}
.recipe-page .back{margin-bottom:24px}
.recipe-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:center}
.recipe-header h1{font-size:clamp(34px,4vw,52px);line-height:1.2;margin:20px 0;overflow-wrap:break-word}
.recipe-header-description{font-size:17px;line-height:1.8;color:var(--muted)}
.recipe-header-photo{margin:0;min-width:0}
.recipe-header-photo img{display:block;width:100%;height:auto;border-radius:12px}
.recipe-page .detail-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0;padding:16px 0;font-size:14px}
.recipe-page .actions{display:flex;flex-wrap:wrap;gap:12px}
.recipe-page .actions .pill{min-height:48px}
.recipe-page .recipe-share{margin:24px 0;padding:16px 20px;border:1px solid var(--line);background:var(--cream);border-radius:10px}
.recipe-share summary{font-size:15px;cursor:pointer}
.recipe-share .share-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.recipe-share .share-options .pill{min-height:44px}
.recipe-share .share-url{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.recipe-page .recipe-jumpnav{display:flex;order:initial;width:100%;max-width:816px;position:sticky;top:0;z-index:5;gap:8px;padding:12px 0;margin:30px auto 10px;background:var(--paper);border:0;justify-content:flex-start}
.recipe-jumpnav a{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;padding:10px 16px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-weight:600;background:var(--paper);line-height:1.5;text-align:center}
.recipe-jumpnav a:hover{background:var(--ink);color:white}
.recipe-page .ai-disclosure{max-width:816px;margin:0 auto 28px;font-size:12px;line-height:1.7;color:var(--muted)}
.recipe-page .recipe-guide{display:block;width:100%;max-width:816px;margin:0 auto}
.recipe-guide h2{font-size:34px;line-height:1.3;margin:10px 0 16px;overflow-wrap:break-word}
.recipe-guide section{scroll-margin-top:88px;min-width:0}
.recipe-ingredient-section{padding:28px;background:var(--cream);border:1px solid var(--line);border-radius:12px;margin-bottom:48px}
.recipe-ingredients-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.recipe-ingredient-photo{margin:0}
.recipe-ingredient-photo img{display:block;width:100%;height:auto;border-radius:8px}
.recipe-ingredient-photo figcaption{font-size:13px;color:var(--muted);line-height:1.7;margin-top:10px}
.recipe-ingredients{list-style:none;margin:0;padding:0}
.recipe-ingredients li{padding:10px 0;border-bottom:1px solid var(--line)}
.recipe-ingredients label{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.7;cursor:pointer;min-height:28px}
.recipe-ingredients input,.recipe-step__done input{flex:none;width:20px;height:20px;margin:4px 0 0;accent-color:var(--red)}
.recipe-ingredients input:checked+span{text-decoration:line-through;color:var(--muted)}
.recipe-page .measurement-note{font-size:14px;line-height:1.8;padding:14px 16px;margin:24px 0 12px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.recipe-ingredient-section .hint{font-size:13px;line-height:1.8;margin-bottom:20px}
.recipe-step-list{display:block;list-style:none;margin:24px 0 0;padding:0;counter-reset:recipe-step}
.recipe-step-list>.recipe-step{display:block;padding:26px;margin:0 0 24px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;min-width:0}
.recipe-step__heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.recipe-step__number{display:flex;align-items:center;justify-content:center;flex:none;min-width:40px;height:40px;border-radius:50%;background:var(--red);color:white;font:600 16px/1 Arial,sans-serif}
.recipe-step__heading h3{margin:0;font-family:inherit;font-size:21px;font-weight:600;line-height:1.5}
.recipe-step__media{display:block;width:100%;max-width:480px;margin:0 auto 22px}
.recipe-step__media img{display:block;position:static;width:100%;max-width:100%;height:auto;border-radius:8px}
.recipe-step>.recipe-step__text{display:block;float:none;width:100%;max-width:none;min-width:0;height:auto;max-height:none;margin:0 0 20px;padding:0;font-size:18px;line-height:1.85;white-space:normal;overflow:visible;overflow-wrap:break-word}
.recipe-step__done{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;background:var(--cream);border-radius:6px;font-size:14px;cursor:pointer}
.recipe-step__done input{margin:0}
.recipe-step__done:has(input:checked){background:#dce7d6}
.recipe-step__done input:checked+span{text-decoration:line-through}
.recipe-finished{margin:40px 0}
.recipe-finished figure{max-width:480px;margin:20px auto 0}
.recipe-finished img{display:block;width:100%;height:auto;border-radius:8px}
.recipe-finished figcaption{font-size:15px;line-height:1.7;margin-top:12px;color:var(--muted)}
.recipe-page .cooking-tips,.recipe-page .source-reference,.recipe-page .trend-note{border:1px solid var(--line);border-radius:10px;padding:22px;margin:24px 0;background:var(--cream)}
.recipe-page .cooking-tips p,.recipe-page .source-reference p,.recipe-page .trend-note p{font-size:15px;line-height:1.85;margin:12px 0 0}
.recipe-page .source-reference a,.recipe-page .trend-note a{display:inline-block;font-size:14px;line-height:1.7;margin-top:12px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.recipe-page .source-reference strong,.recipe-page .trend-note summary{font-size:15px}
.recipe-page .trend-note summary{cursor:pointer}
html[lang=km] .recipe-page h1,html[lang=km] .recipe-guide h2,html[lang=th] .recipe-page h1,html[lang=th] .recipe-guide h2{font-family:inherit;letter-spacing:0;line-height:1.6}
@media(max-width:800px){
 .recipe-header{grid-template-columns:1fr;gap:24px}
 .recipe-header-photo{max-width:480px;width:100%;margin:0 auto}
 .recipe-page .recipe-jumpnav{gap:6px}
 .recipe-jumpnav a{font-size:13px;padding:10px 8px}
}
@media(max-width:600px){
 .recipe-page{width:calc(100% - 32px);padding-top:24px}
 .recipe-header h1{font-size:36px}
 .recipe-header-description{font-size:16px}
 .recipe-ingredient-section{padding:20px;margin-bottom:36px}
 .recipe-ingredients-layout{grid-template-columns:1fr;gap:24px}
 .recipe-ingredient-photo{max-width:380px;width:100%;margin:0 auto}
 .recipe-guide h2{font-size:29px}
 .recipe-step-list>.recipe-step{padding:18px;margin-bottom:20px}
 .recipe-step__heading{margin-bottom:16px}
 .recipe-step__heading h3{font-size:20px}
 .recipe-step__media{max-width:none;margin-bottom:20px}
 .recipe-step>.recipe-step__text{font-size:17px;line-height:1.85}
 .recipe-page .cooking-tips,.recipe-page .source-reference,.recipe-page .trend-note{padding:18px}
}
@media print{
 .recipe-page{width:100%;max-width:none;padding:0}
 .recipe-share,.recipe-jumpnav,.recipe-step__done,.ai-disclosure{display:none!important}
 .recipe-header{grid-template-columns:1fr 220px}
 .recipe-header h1{font-size:30px}
 .recipe-guide{max-width:none!important}
 .recipe-ingredient-section{padding:16px;margin:20px 0}
 .recipe-step-list>.recipe-step{break-inside:avoid;padding:16px}
 .recipe-step__media,.recipe-finished figure{max-width:220px}
 .recipe-step>.recipe-step__text{font-size:13px;line-height:1.6}
}
