.recipe-page{background-color:var(--bg-color);min-height:100vh}.recipe-main{padding-top:var(--header-height)}.recipe-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.loader{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--text-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.recipe-loading p{font-size:.9rem;opacity:.6}.recipe-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px;text-align:center;padding:20px}.recipe-error p{font-size:1.2rem;opacity:.7}.back-btn{padding:12px 24px;background:var(--text-color);color:var(--bg-color);text-decoration:none;border-radius:8px;font-family:var(--font-display);text-transform:uppercase;font-size:.85rem;transition:opacity .3s ease}.back-btn:hover{opacity:.85}.recipe-hero{position:relative;height:60vh;min-height:400px;overflow:hidden}.recipe-hero-image{position:absolute;inset:0}.recipe-hero-image img{width:100%;height:100%;object-fit:cover}.recipe-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000c,#0003,#0000004d);display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:#fff}.recipe-back{color:#fff;text-decoration:none;font-size:.9rem;opacity:.8;transition:opacity .3s ease;align-self:flex-start}.recipe-back:hover{opacity:1}.recipe-hero-info{max-width:800px}.recipe-tag{display:inline-block;background:var(--bg-color);color:var(--text-color);padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:12px}.recipe-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,4rem);text-transform:uppercase;line-height:1;margin-bottom:12px}.recipe-description{font-size:clamp(.95rem,2vw,1.1rem);opacity:.9;line-height:1.5}.recipe-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#0000001a;border-bottom:1px solid rgba(0,0,0,.1)}.meta-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:var(--bg-color);text-align:center;gap:4px}.meta-icon{font-size:1.5rem;margin-bottom:4px}.meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;opacity:.5}.meta-value{font-family:var(--font-display);font-size:1rem;text-transform:uppercase}.recipe-body{max-width:900px;margin:0 auto;padding:40px 20px 60px}.recipe-section{margin-bottom:40px}.section-title{font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--text-color)}.ingredient-group+.ingredient-group{margin-top:20px}.ingredient-group-name{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;opacity:.4;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid currentColor}.ingredients-list{list-style:none;padding:0;display:grid;gap:12px}.ingredient-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d}.ingredient-quantity{font-weight:600;min-width:80px;color:var(--text-color)}.ingredient-name{flex:1;opacity:.8}.steps-list{list-style:none;padding:0;counter-reset:step-counter;display:grid;gap:20px}.step-item{display:flex;gap:16px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d}.step-number{flex-shrink:0;width:36px;height:36px;background:var(--text-color);color:var(--bg-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.9rem}.step-text{flex:1;line-height:1.6;padding-top:6px}.recipe-rating{max-width:900px;margin:0 auto;padding:0 20px 60px;text-align:center}.rating-title{font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;margin-bottom:20px}.rating-stars{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.star-btn{background:none;border:none;cursor:pointer;padding:4px;transition:transform .2s ease}.star-btn svg{fill:#d4d4d4;stroke:#d4d4d4;transition:fill .15s ease,stroke .15s ease}.star-btn:hover{transform:scale(1.15)}.star-btn.hovered svg,.star-btn.active svg{fill:#f59e0b;stroke:#f59e0b}.rating-stars.voted .star-btn{cursor:default}.rating-stars.voted .star-btn:hover{transform:none}.rating-info{font-size:.95rem;display:flex;justify-content:center;gap:6px}.rating-average{font-weight:700}.rating-count{opacity:.5}.rating-feedback{font-size:.85rem;margin-top:8px;min-height:1.2em}.rating-feedback-success{color:#16a34a}.rating-feedback-error{color:#dc2626}.servings-adjuster{display:flex;align-items:center;gap:10px}.servings-btn{width:28px;height:28px;border:2px solid rgba(0,0,0,.2);border-radius:50%;background:var(--bg-color);color:var(--text-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;padding:0;transition:all .2s ease;flex-shrink:0}.servings-btn:hover:not(:disabled){background:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.servings-btn:disabled{opacity:.25;cursor:default}.ingredient-item{cursor:pointer;user-select:none;transition:opacity .2s ease}.ingredient-item.checked{opacity:.4}.ingredient-item.checked .ingredient-name,.ingredient-item.checked .ingredient-quantity{text-decoration:line-through}.similar-recipes-section{max-width:900px;margin:0 auto;padding:0 20px 80px}.similar-recipes-title{font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--text-color)}.similar-recipes-grid{display:grid;grid-template-columns:1fr;gap:16px}.similar-recipe-card{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 15px #00000014;transition:all .3s ease}.similar-recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.similar-recipe-image{aspect-ratio:16 / 9;overflow:hidden}.similar-recipe-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.similar-recipe-card:hover .similar-recipe-image img{transform:scale(1.05)}.similar-recipe-info{padding:14px 16px}.similar-recipe-category{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.5;margin-bottom:4px}.similar-recipe-title{font-family:var(--font-display);font-size:1rem;text-transform:uppercase;line-height:1.2;margin-bottom:6px}.similar-recipe-time{font-size:.75rem;opacity:.5}@media(min-width:768px){.recipe-hero{height:70vh}.recipe-hero-overlay{padding:30px 40px}.recipe-meta{grid-template-columns:repeat(4,1fr)}.meta-item{padding:30px}.recipe-body{padding:60px 40px 80px}.ingredients-list{grid-template-columns:repeat(2,1fr)}.similar-recipes-section{padding:0 40px 80px}.similar-recipes-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.recipe-hero-overlay{padding:40px 60px}.recipe-body{padding:80px 20px 100px}.section-title{font-size:1.8rem}.similar-recipes-section{padding:0 20px 100px}}
