.recipe-card{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 4px 10px #0000000d}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.recipe-image-wrapper{background:#eee;height:200px;position:relative}.recipe-placeholder-img{opacity:.8;width:100%;height:100%}.pin-btn{color:#fff;cursor:pointer;opacity:0;background:#e60023;border:none;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-5px)}.recipe-card:hover .pin-btn{opacity:1;transform:translateY(0)}.cook-time-badge{color:#fff;background:#000000b3;border-radius:4px;padding:4px 8px;font-size:.8rem;position:absolute;bottom:10px;left:10px}.recipe-content{flex-direction:column;flex:1;padding:1.25rem;display:flex}.recipe-meta{text-transform:uppercase;opacity:.7;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;display:flex}.recipe-category{color:var(--color-secondary);font-weight:700}.recipe-title{margin-bottom:1rem;font-size:1.25rem;line-height:1.3}.recipe-title a:hover{text-decoration:underline}.recipe-macros{gap:.5rem;margin-bottom:1rem;display:flex}.macro-pill{background:var(--background);text-align:center;border:1px solid var(--border-color);border-radius:4px;flex:1;padding:.25rem;font-size:.8rem}.macro-pill.carbs{color:var(--color-accent);font-weight:700}.macro-pill .val{font-weight:700;display:block}.macro-pill .unit{opacity:.7;font-size:.7rem}.recipe-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.8rem;display:flex}.btn-print,.btn-save{cursor:pointer;opacity:.5;background:0 0;border:none;font-size:1.2rem;transition:opacity .2s}.btn-print:hover,.btn-save:hover{opacity:1}@media print{.pin-btn,.recipe-actions{display:none}}
.recipe-hub-container{gap:2rem;padding:2rem 0;display:flex}.recipe-sidebar{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-shrink:0;width:250px;height:fit-content;padding:1.5rem;position:sticky;top:100px}.filter-group{margin-bottom:2rem}.filter-group h3{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.8rem;font-size:1rem}.filter-group button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--foreground);background:0 0;border:none;margin-bottom:.2rem;padding:.5rem .8rem;transition:all .2s;display:block}.filter-group button:hover{background:#0000000d}.filter-group button.active{background:var(--color-secondary);color:#fff;font-weight:600}.recipe-grid-wrapper{flex:1}.results-count{opacity:.7;margin-bottom:1rem;font-size:.9rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.no-recipes{text-align:center;background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:4rem}.no-recipes button{margin-top:1rem}@media (max-width:768px){.recipe-hub-container{flex-direction:column}.recipe-sidebar{width:100%;position:static}.filter-group{flex-wrap:wrap;gap:.5rem;display:flex}.filter-group h3{width:100%}.filter-group button{border:1px solid var(--border-color);width:auto}}
