.recipe-hero{position:relative;padding:0;overflow:hidden;color:var(--text);border:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel2))}.recipe-hero.has-image{color:#fff!important}.recipe-hero.has-image:before{content:"";position:absolute;inset:0;background-image:var(--bg-image);background-size:cover;background-position:center;z-index:0}.recipe-hero-content{position:relative;z-index:1;padding:32px}.recipe-hero.has-image .recipe-hero-content{background:linear-gradient(to top,#000000d9,#0006,#0003)}.recipe-hero h1{margin:0;font-size:clamp(2rem,3vw,3.1rem);font-weight:950;letter-spacing:-.02em}.recipe-hero.has-image h1{text-shadow:0 2px 4px rgba(0,0,0,.5)}.recipe-hero .crumb{font-weight:850;opacity:.9;margin-bottom:8px}.recipe-hero.has-image .crumb{text-shadow:0 1px 2px rgba(0,0,0,.5)}.recipe-hero .sub{margin:10px 0 0;opacity:.95;font-weight:650}.recipe-hero.has-image .sub{text-shadow:0 1px 2px rgba(0,0,0,.5)}.recipe-hero .meta{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;opacity:1;font-weight:850}.recipe-hero .meta span,.edit-link{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-weight:850;line-height:1.2;height:36px;box-sizing:border-box}.recipe-hero .meta span{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.edit-link{background:var(--accent);color:#000!important;font-weight:900;text-decoration:none;transition:transform .2s;border:1px solid rgba(0,0,0,.1)}.edit-link:hover{transform:scale(1.05)}.recipe-hero.has-image .edit-link{background:var(--accent);box-shadow:0 2px 10px #0000004d}.recipe-hero.has-image .meta span{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.servings-bar{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#ffffff1a;padding:10px 16px;border-radius:16px;width:fit-content;border:1px solid var(--border)}.recipe-hero.has-image .servings-bar{background:#ffffff1a;border:1px solid rgba(255,255,255,.15)}.serv-btn{width:34px;height:34px;border-radius:10px;background:var(--chip);border:1px solid var(--border);color:var(--text);font-weight:950;cursor:pointer;transition:all .2s}.recipe-hero.has-image .serv-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff}.serv-btn:hover{opacity:.8}.serv-input{width:60px;height:34px;border-radius:10px;background:var(--chip);border:1px solid var(--border);color:var(--text);padding:0;outline:none;text-align:center;font-weight:900;font-size:1.1rem}.recipe-hero.has-image .serv-input{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.recipe-hero .muted{color:var(--muted);font-weight:700}.recipe-hero.has-image .muted{color:#ffffffb3}.detail-grid{margin-top:14px;display:grid;grid-template-columns:.7fr 1.3fr;gap:14px;align-items:start}.panel{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);padding:16px}.panel-title{font-weight:950;font-size:1.15rem;margin-bottom:10px}.ingredients{display:grid;gap:6px}.ing-row{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center;padding:6px 12px;border-radius:12px;background:#ffffff0d;border:1px solid var(--border);font-size:.9rem}.ing-amt{font-weight:500;color:var(--accent)}.ing-name{font-weight:500}.ing-note{opacity:.75;font-weight:600;margin-top:2px;font-size:.85rem}.steps{list-style:none;padding:0;margin:0;display:grid;gap:10px}.step{position:relative;padding:14px 14px 14px 54px;border-radius:16px;background:#ffffff0d;border:1px solid var(--border)}.step-badge{position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:999px;background:#ffffff0f;border:1px solid var(--border);display:grid;place-items:center;font-weight:950}.step-text{font-weight:650;line-height:1.45}.ing-inline{display:inline-flex;align-items:center;gap:4px;padding:0 4px;border-radius:4px;background:#ffffff0a;font-weight:800;color:var(--text);white-space:nowrap}.ing-inline b{color:var(--accent);font-weight:850}.source{margin-top:12px;opacity:.85}.source a{text-decoration:underline}@media (max-width: 980px){.detail-grid{grid-template-columns:1fr}}
