.library-page{margin:auto;max-width:1440px;padding:48px 5.3vw 90px}
.library-heading{max-width:700px;margin-bottom:32px}
.library-heading h1{font-size:clamp(44px,5vw,68px);line-height:.95;margin:8px 0 14px}
.library-heading>p:last-child{color:#747d77;font-size:16px;line-height:1.6;margin:0}
.library-toolbar{align-items:end;background:#fffefa;border:1px solid #dfe3d8;border-radius:18px;display:grid;gap:12px;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(130px,1fr)) auto;padding:14px}
.library-toolbar label{color:#173b30;font-size:11px;font-weight:800}
.library-toolbar label span{display:block;margin:0 0 7px 4px}
.library-toolbar input,.library-toolbar select{border:1px solid #dfe3d8;border-radius:10px;height:46px;width:100%;padding:0 13px;background:#fff;color:#173b30;outline:none}
.library-toolbar input:focus,.library-toolbar select:focus{border-color:#153f2f;box-shadow:0 0 0 3px rgba(21,63,47,.08)}
.library-toolbar button{background:#153f2f;border:0;border-radius:999px;color:white;font-size:12px;font-weight:800;height:46px;padding:0 20px;white-space:nowrap}
.library-results-count{color:#747d77;font-size:12px;margin:24px 2px 14px}
.library-grid{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.library-card{background:#fffefa;border:1px solid #dfe3d8;border-radius:20px;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.library-card:hover{box-shadow:0 18px 40px rgba(21,63,47,.1);transform:translateY(-5px)}
.library-card-image{height:220px;overflow:hidden;position:relative}
.library-card-image img{height:100%;object-fit:cover;width:100%}
.library-card-image>span{background:#fffefa;border-radius:999px;font-size:10px;font-weight:800;left:12px;padding:7px 10px;position:absolute;top:12px}
.library-card-body{display:flex;flex-direction:column;flex:1;padding:18px}
.library-category{color:#f47760;font-size:10px;font-weight:800;margin:0 0 7px;text-transform:uppercase}
.library-card h2{font-size:21px;line-height:1.1;margin:0 0 9px;overflow-wrap:anywhere}
.library-description{color:#747d77;font-size:13px;line-height:1.55;margin:0 0 16px}
.library-nutrition{align-items:center;display:flex;justify-content:space-between;margin-top:auto}
.library-nutrition strong{color:#153f2f;font-size:18px}
.library-nutrition span{color:#747d77;font-size:11px}
.library-ingredients{border-top:1px solid #e5e7df;color:#747d77;font-size:11px;line-height:1.5;margin:14px 0;padding-top:12px}
.library-card-body>a{align-items:center;background:#153f2f;border-radius:999px;color:white;display:flex;font-size:12px;font-weight:800;justify-content:center;margin-top:4px;padding:11px;text-decoration:none}
.library-card-body>a span{font-size:17px;margin-left:8px}
.library-empty{background:#fffefa;border:1px dashed #cbd0c6;border-radius:20px;padding:50px;text-align:center}
.library-empty h2{margin-bottom:8px}.library-empty p{color:#747d77}.library-empty a{color:#f47760;font-weight:800}
.meal-detail-page{margin:auto;max-width:1180px;padding:45px 5.3vw 90px}
.meal-detail-back{color:#153f2f;font-size:13px;font-weight:800;text-decoration:none}
.meal-detail-card{background:#fffefa;border:1px solid #dfe3d8;border-radius:24px;display:grid;grid-template-columns:1fr 1fr;margin-top:22px;overflow:hidden}
.meal-detail-image{min-height:560px}.meal-detail-image img{height:100%;object-fit:cover;width:100%}
.meal-detail-copy{padding:42px}
.meal-detail-copy h1{font-size:clamp(38px,5vw,58px);line-height:.98;margin:10px 0 18px}
.meal-detail-description{color:#747d77;font-size:15px;line-height:1.65}
.meal-detail-meta{align-items:center;display:flex;justify-content:space-between;margin:22px 0}
.meal-detail-meta strong{color:#153f2f;font-size:28px}.meal-detail-meta span{color:#747d77;font-weight:700}
.nutrition-facts{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}
.nutrition-facts div{background:#f5f4ec;border-radius:14px;padding:15px;text-align:center}
.nutrition-facts strong,.nutrition-facts span{display:block}.nutrition-facts strong{font-size:20px}.nutrition-facts span{color:#747d77;font-size:10px;margin-top:3px;text-transform:uppercase}
.meal-detail-info{border-top:1px solid #e5e7df;margin-top:18px;padding-top:16px}.meal-detail-info strong{font-size:12px;text-transform:uppercase}.meal-detail-info p{color:#747d77;font-size:13px;line-height:1.55;margin:7px 0 0}
@media(max-width:1100px){.library-grid{grid-template-columns:repeat(2,1fr)}.library-toolbar{grid-template-columns:repeat(2,1fr)}.library-toolbar button{width:100%}}
@media(max-width:600px){.library-page{padding:38px 20px 65px}.library-heading h1{font-size:43px}.library-toolbar{grid-template-columns:1fr}.library-grid{grid-template-columns:1fr}.library-card-image{height:235px}}
@media(max-width:800px){.meal-detail-card{grid-template-columns:1fr}.meal-detail-image{min-height:300px;height:300px}.meal-detail-copy{padding:28px}}
