.recipe-badge{position:relative;cursor:help;transition:all 0.3s ease;font-size:1.1em;background:rgb(255 255 255 / .9);border-radius:50%;padding:8px;box-shadow:0 2px 4px rgb(0 0 0 / .2)}.recipe-badge:hover{transform:scale(1.1)}.recipe-badge-icon{background:rgb(255 255 255 / .95);border-radius:50%;padding:8px;box-shadow:0 2px 6px rgb(0 0 0 / .2);transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px;backdrop-filter:blur(4px)}.recipe-badge-icon:hover{transform:scale(1.15);box-shadow:0 3px 8px rgb(0 0 0 / .3)}.recipe-badge-icon i{font-size:1.1em}[data-theme="dark"] .recipe-badge-icon{background:rgb(33 37 41 / .95);box-shadow:0 2px 6px rgb(0 0 0 / .4)}[data-theme="earth"] .recipe-badge-icon{background:rgb(255 255 255 / .92);box-shadow:0 2px 6px rgb(101 67 33 / .2)}.list-view{display:flex;flex-direction:column}.list-item{width:100%}.list-item .recipe-card{display:flex;flex-direction:row;align-items:flex-start;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);transition:all 0.2s ease;height:auto}.list-item .recipe-card:hover{box-shadow:0 2px 8px rgb(0 0 0 / .1);transform:translateY(-1px)}.list-item .card-img-top,.list-item .position-relative,.list-item .recipe-image-container,.list-item .recipe-description,.list-item .card-text{display:none!important}.list-item .card-body{flex:1;display:flex;flex-direction:column;padding:0}.list-item .recipe-info{padding:0}.list-item .card-footer{width:200px;min-width:200px;display:flex;align-items:center}.list-item .card-footer .btn-group{flex-direction:column;width:100%}.list-item .card-footer .btn{margin-bottom:5px;font-size:.8rem;padding:.25rem .5rem}.list-item .card-title{font-size:1.1rem;margin-bottom:.5rem}.list-item .card-text{font-size:.9rem;margin-bottom:.5rem}.list-item .recipe-meta{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:1rem;align-items:center;font-size:.875rem;color:var(--text-secondary)}.list-item .recipe-meta span{display:inline-flex!important;align-items:center;font-size:.875rem;color:var(--text-secondary);white-space:nowrap;margin-bottom:0}.list-item .recipe-meta .grid-meta{display:none}.list-item .recipe-meta .list-meta{display:block!important}.list-item .meta-line-1{display:flex;flex-wrap:wrap;gap:.5rem;margin-right:.25rem}.list-item .meta-line-1 span{white-space:nowrap}.list-item .meta-line-1 i{margin-right:.25rem;top:10px;width:8px}.recipe-card-wrapper:not(.list-item) .recipe-card{display:block;flex-direction:column;height:100%}.recipe-card-wrapper:not(.list-item) .card-img-top,.recipe-card-wrapper:not(.list-item) .position-relative{width:100%;aspect-ratio:4/3;object-fit:cover}.recipe-card-wrapper:not(.list-item) .position-relative>div{aspect-ratio:4/3}.recipe-card-wrapper:not(.list-item) .card-body{flex:1;display:block}.recipe-card-wrapper:not(.list-item) .card-footer{width:100%;display:block}.recipe-card-wrapper:not(.list-item) .card-footer .btn-group{flex-direction:row;width:100%}.recipe-card-wrapper:not(.list-item) .card-footer .btn{margin-bottom:0;font-size:inherit;padding:.375rem .75rem}.recipe-card-wrapper:not(.list-item) .card-title{font-size:inherit;margin-bottom:1rem}.recipe-card-wrapper:not(.list-item) .card-text{font-size:inherit;margin-bottom:1rem;overflow:hidden;text-overflow:ellipsis;max-height:50px;min-height:50px}.recipe-card-wrapper:not(.list-item) .recipe-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.recipe-card-wrapper:not(.list-item) .recipe-meta span{display:flex;align-items:center}.recipe-card-wrapper:not(.list-item) .recipe-meta i{width:16px;text-align:center}.recipe-card-wrapper:not(.list-item) .list-meta{display:none!important}.recipe-card-wrapper:not(.list-item) .grid-meta{display:block}.recipe-card{display:block;text-decoration:none;color:inherit;background:var(--bg-card);border-radius:15px;overflow:hidden;box-shadow:0 4px 15px rgb(0 0 0 / .1);transition:all 0.3s ease;height:100%;position:relative}.recipe-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgb(0 0 0 / .15);text-decoration:none;color:inherit}.recipe-image{width:100%;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;align-items:center;justify-content:center;color:#6c757d}.recipe-info{padding-left:1rem;padding-right:1rem;padding-top:.5rem;padding-bottom:1rem}.recipe-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary);line-height:1.3}.recipe-description{color:var(--text-secondary);font-size:.9rem;margin-top:1rem;margin-bottom:1rem;line-height:1.4}.recipe-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.recipe-meta span{display:flex;align-items:center}.recipe-meta i{width:16px;text-align:center}[data-theme="dark"] .recipe-card{background:var(--bg-card);border:1px solid var(--border-color)}[data-theme="dark"] .recipe-title{color:var(--text-primary)}[data-theme="dark"] .recipe-description,[data-theme="dark"] .recipe-meta{color:var(--text-secondary)}[data-theme="dark"] .recipe-image{background:linear-gradient(135deg,#21262d,#30363d);color:#8b949e}[data-theme="earth"] .recipe-card{background:var(--bg-card);border:1px solid var(--border-color)}[data-theme="earth"] .recipe-title{color:var(--text-primary)}[data-theme="ocean"] .recipe-card{background:var(--bg-card);border:1px solid var(--border-color)}[data-theme="ocean"] .recipe-title{color:var(--text-primary)}[data-theme="sunset"] .recipe-card{background:var(--bg-card);border:1px solid var(--border-color)}[data-theme="sunset"] .recipe-title{color:var(--text-primary)}[data-theme="forest"] .recipe-card{background:var(--bg-card);border:1px solid var(--border-color)}[data-theme="forest"] .recipe-title{color:var(--text-primary)}[data-theme="lavender"] .recipe-card{background:var(--bg-card);border:1px solid var(--border-color)}[data-theme="lavender"] .recipe-title{color:var(--text-primary)}@media (max-width:768px){.recipe-image{aspect-ratio:4/3}.recipe-info{padding-left:.75rem;padding-right:.75rem;padding-top:.5rem;padding-bottom:.75rem}.recipe-title{font-size:1.1rem}.list-item .recipe-image-container{display:none!important}}.author-link{color:var(--primary-color)!important;text-decoration:none!important;font-weight:500;transition:color 0.2s ease}.author-link:hover{color:var(--primary-dark)!important;text-decoration:underline!important}.recipe-card .author-link{position:relative;z-index:10}[data-theme="dark"] .author-link{color:var(--secondary-accent)!important}[data-theme="dark"] .author-link:hover{color:var(--highlight)!important}.recipe-card-wrapper.list-item .recipe-meta{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:1rem!important;align-items:center!important}.recipe-card-wrapper.list-item .recipe-meta span{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;margin-bottom:0!important}.recipe-card [data-tooltip]:before{word-wrap:break-word;line-height:1.4;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px rgb(0 0 0 / .15)}.recipe-card .badge.preference-info-badge,.recipe-card .badge.allergen-info-badge{position:absolute;top:10px;left:10px;margin-bottom:-20px;z-index:5}.recipe-card{--preference-tooltip-left:150px;--preference-tooltip-max-width:300px;--preference-tooltip-min-width:300px;--allergen-tooltip-left:var(--preference-tooltip-left);--allergen-tooltip-max-width:var(--preference-tooltip-max-width);--allergen-tooltip-min-width:var(--preference-tooltip-min-width)}.recipe-card .badge[data-tooltip]:before{left:var(--preference-tooltip-left);max-width:var(--preference-tooltip-max-width);min-width:var(--preference-tooltip-min-width);white-space:pre-line}.recipe-card .badge.badge-preference-safe[data-tooltip]:before,.recipe-card .badge.badge-allergen-safe[data-tooltip]:before{background:var(--badge-preference-safe-bg);color:var(--badge-preference-safe-text,#0f5132);border:1px solid var(--success-border,#badbcc)}.recipe-card .badge.badge-allergen-moderate[data-tooltip]:before{background:var(--warning-bg,#fff3cd);color:var(--warning-text,#664d03);border:1px solid var(--warning-border,#ffecb5)}.recipe-card .badge.badge-allergen-severe[data-tooltip]:before{background:var(--danger-bg,#f8d7da);color:var(--danger-text,#721c24);border:1px solid var(--danger-border,#f5c2c7)}.recipe-card .badge.badge-allergen-mild[data-tooltip]:before{background:var(--info-bg,#d1ecf1);color:var(--info-text,#055160);border:1px solid var(--info-border,#b6effb)}[data-theme="dark"] .recipe-card .badge.badge-preference-safe[data-tooltip]:before,[data-theme="dark"] .recipe-card .badge.badge-allergen-safe[data-tooltip]:before{background:#1a3d2e;color:#4ade80;border:1px solid #2d5a3d}[data-theme="dark"] .recipe-card .badge.badge-allergen-moderate[data-tooltip]:before{background:#3d2f1a;color:#fbbf24;border:1px solid #5a4a2d}[data-theme="dark"] .recipe-card .badge.badge-allergen-severe[data-tooltip]:before{background:#3d1a1a;color:#f87171;border:1px solid #5a2d2d}[data-theme="dark"] .recipe-card .badge.badge-allergen-mild[data-tooltip]:before{background:#1a2d3d;color:#60a5fa;border:1px solid #2d4a5a}[data-theme="earth"] .recipe-card .badge.badge-preference-safe[data-tooltip]:before,[data-theme="earth"] .recipe-card .badge.badge-allergen-safe[data-tooltip]:before{background:#e8f5e8;color:#2d5016;border:1px solid #c3e6c3}[data-theme="earth"] .recipe-card .badge.badge-allergen-moderate[data-tooltip]:before{background:#f5f0e8;color:#5a4016;border:1px solid #e6d6c3}[data-theme="earth"] .recipe-card .badge.badge-allergen-severe[data-tooltip]:before{background:#f5e8e8;color:#5a1616;border:1px solid #e6c3c3}[data-theme="earth"] .recipe-card .badge.badge-allergen-mild[data-tooltip]:before{background:#e8f0f5;color:#16405a;border:1px solid #c3d6e6}.recipe-card-wrapper{position:relative;z-index:1}.recipe-card-wrapper:hover{z-index:10}.recipe-card-wrapper .nutrition-section{position:relative;z-index:5}.recipe-card-wrapper .nutrition-info:hover{z-index:15}.recipe-card-wrapper:hover .recipe-card{overflow:visible}@supports (-webkit-appearance:none){.recipe-card-wrapper{overflow:visible!important;position:static}.recipe-card-wrapper .recipe-card{overflow:visible!important;position:relative;z-index:1}.recipe-card-wrapper .nutrition-info{position:relative;z-index:10}.recipe-card-wrapper .nutrition-info:hover{z-index:999}}.recipe-card-wrapper .nutrition-section{overflow:visible}@media (min-width:1130px){.recipe-card-wrapper.col-lg-4{flex:0 0 25%;max-width:25%}}@media (min-width:992px){.recipe-card-wrapper{padding-left:.75rem;padding-right:.75rem}}.allergen-note-box{border-radius:.375rem;background-color:var(--bs-warning-bg-subtle,rgb(255 193 7 / .15))!important;border-color:var(--bs-warning-border-subtle,rgb(255 193 7 / .5))!important;line-height:1.4;transition:all 0.2s ease}.allergen-note-box.bg-light-danger{background-color:var(--bs-danger-bg-subtle,rgb(220 53 69 / .15))!important;border-color:var(--bs-danger-border-subtle,rgb(220 53 69 / .5))!important}.allergen-note-box.bg-light-info{background-color:var(--bs-info-bg-subtle,rgb(13 110 253 / .15))!important;border-color:var(--bs-info-border-subtle,rgb(13 110 253 / .5))!important}.allergen-safe-note-box{border-radius:.375rem;background-color:var(--bs-success-bg-subtle,rgb(25 135 84 / .15))!important;border-color:var(--bs-success-border-subtle,rgb(25 135 84 / .5))!important;line-height:1.4;transition:all 0.2s ease}[data-theme="earth"] .allergen-note-box{background-color:rgb(251 218 100 / .15)!important;border-color:rgb(251 218 100 / .5)!important}[data-theme="earth"] .allergen-note-box.bg-light-danger{background-color:rgb(220 53 69 / .15)!important;border-color:rgb(220 53 69 / .5)!important}[data-theme="earth"] .allergen-safe-note-box{background-color:rgb(25 135 84 / .15)!important;border-color:rgb(25 135 84 / .5)!important}[data-theme="light"] .allergen-note-box{background-color:rgb(255 193 7 / .1)!important;border-color:rgb(255 193 7 / .3)!important}[data-theme="dark"] .allergen-note-box{background-color:rgb(255 193 7 / .2)!important;border-color:rgb(255 193 7 / .4)!important;color:#e9ecef!important}[data-theme="dark"] .allergen-safe-note-box{background-color:rgb(25 135 84 / .2)!important;border-color:rgb(25 135 84 / .4)!important;color:#e9ecef!important}[data-theme="dark"] .allergen-note-box .text-muted{color:#adb5bd!important}[data-theme="dark"] .allergen-safe-note-box .text-muted{color:#adb5bd!important}@media (max-width:768px){.allergen-note-box,.allergen-safe-note-box{font-size:0.8rem!important;padding:0.75rem!important}.allergen-note-box i,.allergen-safe-note-box i{font-size:0.7rem!important}}.recipe-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}@media (max-width:1024px){.recipe-card{--allergen-tooltip-left:15px;--allergen-tooltip-max-width:280px;--allergen-tooltip-min-width:280px}}.recipe-image-container{position:relative;overflow:hidden;border-radius:8px;margin-bottom:1rem}.lazy-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:8px;transition:opacity 0.3s ease-in-out}.lazy-load{opacity:0;transition:opacity 0.3s ease-in-out}.lazy-load.loaded{opacity:1}.lazy-load.loaded+.lazy-placeholder{opacity:0;pointer-events:none}