.recipe-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body:has(#view-snacks:not([hidden]) .snack-recipe){overflow:hidden}body:has(#view-snacks:not([hidden]) .snack-recipe)>.topbar,body:has(#view-snacks:not([hidden]) .snack-recipe) main>.module-nav,body:has(#view-snacks:not([hidden]) .snack-recipe) #food-navigation,body:has(#view-snacks:not([hidden]) .snack-recipe) main>.page-heading{display:none!important}
#view-snacks:has(.snack-recipe){position:fixed;inset:0;z-index:80;overflow-y:auto;overscroll-behavior:contain;max-width:none!important;width:100%;margin:0;padding:0 max(18px,calc((100vw - 1040px)/2)) calc(110px + env(safe-area-inset-bottom));background:var(--bg)}
#view-snacks .recipe-detail-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 0 12px;margin:0 0 16px;background:var(--bg);border-bottom:1px solid var(--line)}#view-snacks .recipe-detail-toolbar button{min-height:44px;font-size:13px;padding:8px 0;margin:0;text-align:left}#view-snacks .recipe-detail-toolbar .recipe-quick-log{color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-align:right}
#view-snacks .recipe-detail-actions{position:fixed;bottom:0;left:0;right:0;z-index:4;padding:12px max(18px,calc((100vw - 1040px)/2)) calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}#view-snacks .recipe-detail-actions button{width:100%;min-height:52px;background:var(--lime)!important;color:var(--on-accent)!important;border:1px solid var(--lime);font-size:14px;border-radius:14px}#view-snacks .recipe-detail-actions button:hover{background:var(--lime)!important}
.recipe-family{margin:20px 0;background:var(--surface-2)}.recipe-family>p{font-size:14px}.recipe-family .family-controls{gap:16px}.recipe-family-field{min-width:0}.recipe-family-field label{display:block;font-size:13px;margin-bottom:8px}.recipe-family-stepper{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:5px}.recipe-family-stepper button{flex:0 0 44px;width:44px;min-height:44px;padding:0;border-radius:10px;background:var(--tint);color:var(--brand);font-size:22px}.recipe-family-stepper input{flex:1;width:0;min-width:0;max-width:100%;margin:0!important;padding:8px 0!important;border:0;background:transparent;text-align:center;font-size:19px;appearance:textfield}.recipe-family-stepper input::-webkit-inner-spin-button{appearance:none}.recipe-family #recipe-family-help{font-size:12px;margin-bottom:0}@media(max-width:400px){.recipe-family .family-controls{grid-template-columns:1fr}.recipe-family-field{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:8px}.recipe-family-field label{margin:0}}
#view-snacks .recipe-discovery{margin:14px 0 0}#view-snacks .recipe-discovery .snack-search{display:block;min-width:0;margin:0}#view-snacks .recipe-discovery input[type=search]{width:100%;min-height:50px;margin:0;font-size:16px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:13px 15px}
.recipe-discovery-actions{display:flex;align-items:stretch;gap:10px;margin:0 0 12px}.recipe-discovery-actions .snack-search{flex:1;min-width:0}.recipe-discovery-actions .recipe-favorites{width:50px;flex:0 0 50px;min-height:50px;border:1px solid var(--line);background:var(--surface);border-radius:14px;font-size:23px;padding:8px;margin:0}.recipe-favorites[aria-pressed=true]{background:var(--tint);color:var(--brand)}
/* Kind tabs: one horizontally scrolling pill row (Alles · Maaltijden · Snacks · Ontbijt · Lunch); the active pill is filled. */
#view-snacks .recipe-kind-tabs{position:relative;display:flex;flex-wrap:nowrap;gap:8px;margin:0;padding:2px 0;border:0;border-radius:0;background:none;box-shadow:none;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding:0;mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}#view-snacks .recipe-kind-tabs::-webkit-scrollbar{display:none}#view-snacks .recipe-kind-tabs::after{content:'';flex:0 0 20px}#view-snacks .recipe-kind-tabs button{flex:0 0 auto;width:auto;border:1px solid var(--line);border-radius:999px;padding:10px 16px;min-height:42px;background:var(--surface);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;box-shadow:none}#view-snacks .recipe-kind-tabs button[aria-pressed=true]{background:var(--brand-fill);border-color:var(--brand-fill);color:var(--on-dark);box-shadow:none}#view-snacks .recipe-kind-tabs button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/* Search: icon inside the field on the left, favourites heart on the right. */
#view-snacks .recipe-discovery .snack-search{position:relative}#view-snacks .recipe-discovery .snack-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:flex;color:var(--muted);pointer-events:none}#view-snacks .recipe-discovery input[type=search]{padding-left:42px}#view-snacks .recipe-discovery-actions .recipe-favorites{display:inline-flex;align-items:center;justify-content:center;color:var(--brand)}#view-snacks .recipe-favorites[aria-pressed=true]{background:var(--tint);border-color:var(--line-2);color:var(--heart)}
/* Filters card: header with the filter icon and "Alles wissen", the chip rows (label left, chips right) and the allergen disclosure. */
#view-snacks .recipe-filters{margin:12px 0 0;padding:12px 12px 10px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.recipe-filters-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}.recipe-filters-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink)}.recipe-filters-title svg{color:var(--brand)}#view-snacks .recipe-filters-clear{width:auto;min-height:36px;margin:0;padding:6px 8px;background:none;border:0;box-shadow:none;font-size:12.5px;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
#view-snacks .recipe-filters .recipe-chip-rows{margin:0}#view-snacks .recipe-filters .recipe-chips{padding:3px 0 3px 2px}#view-snacks .recipe-filters .recipe-chip{background:var(--surface-2);border-color:transparent}#view-snacks .recipe-filters .recipe-chip[aria-pressed=true]{background:var(--tint);border-color:var(--line-2);color:var(--brand)}
#view-snacks .recipe-filters .recipe-allergen-filter{margin:8px 0 0;padding:0 12px 0;border-radius:14px;background:var(--surface-2);border:0}#view-snacks .recipe-filters .recipe-allergen-filter summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:11px 0;min-height:44px}#view-snacks .recipe-filters .recipe-allergen-filter summary::-webkit-details-marker{display:none}.recipe-allergen-summary{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}.recipe-allergen-summary svg{color:var(--accent-food)}#view-snacks .recipe-allergen-filter summary>svg{color:var(--muted);transition:transform .2s}#view-snacks .recipe-allergen-filter[open] summary>svg{transform:rotate(90deg)}#view-snacks .recipe-filters .recipe-allergen-filter[open]{padding-bottom:12px}#view-snacks .recipe-filters .recipe-allergen-filter .recipe-chip{background:var(--surface)}
/* Cards: time and kcal pills over a soft scrim at the bottom of the photo, heart top-right, then title and tag pills. */
#view-snacks .recipe-compact .snack-art{position:relative;overflow:hidden;border-radius:17px 17px 0 0}.recipe-card-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:6px;padding:26px 8px 8px;background:linear-gradient(180deg,transparent,var(--scrim));pointer-events:none}.recipe-card-overlay .livu-pill{gap:4px;padding:4px 8px;font-size:10.5px;background:var(--glass-2);color:var(--on-dark);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--glass-2)}.recipe-card-overlay .livu-pill svg{width:12px;height:12px}
/* Same structure on every card: a two-line title box and one fixed row of label pills (no wrapping, extra pills clipped). */
#view-snacks .recipe-compact .snack-card-copy>strong.recipe-card-title{display:block;overflow:visible;min-height:calc(2 * 1.35em);overflow-wrap:anywhere;hyphens:manual}#view-snacks .recipe-compact .recipe-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:2px;height:26px;overflow:hidden;align-content:flex-start}#view-snacks .recipe-compact .recipe-card-tags .livu-pill{flex:none;padding:3px 8px;font-size:10.5px;letter-spacing:0;white-space:nowrap}#view-snacks .recipe-compact .recipe-card-tags .recipe-review-pending{flex:none;align-self:center;white-space:nowrap}
#view-snacks .recipe-compact .recipe-heart{display:inline-flex;align-items:center;justify-content:center;top:8px;right:8px;width:40px;height:40px;min-height:40px;border:1px solid var(--glass-2);background:var(--scrim);color:var(--on-dark);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#view-snacks .recipe-compact .recipe-heart[aria-pressed=true]{color:var(--heart-fill);background:var(--frost);border-color:var(--line)}#view-snacks .recipe-compact .recipe-heart svg{display:block}
.recipe-active-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.recipe-active-filters:empty{display:none}.recipe-active-filters button{min-height:38px;padding:7px 10px;font-size:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:20px;white-space:normal;text-align:left}.recipe-active-filters button.ghost{background:none;border:0;text-decoration:underline}#view-snacks .recipe-results-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 12px}#view-snacks .recipe-results-line #snack-results{font-size:13px;font-weight:600;color:var(--ink)}.recipe-sort-control{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:0;min-width:0;white-space:nowrap}.recipe-sort-control select{margin:0;min-height:40px;padding:8px 32px 8px 12px;font-size:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-width:200px}
/* Quick filters: one horizontally scrolling chip row per question, applied on tap. The label sits inside the row so four rows stay compact on a phone. */
.recipe-chip-rows{display:grid;gap:4px;margin:10px 0 0}.recipe-chip-row{display:flex;align-items:center;gap:6px;min-width:0}.recipe-chip-label{flex:0 0 68px;width:68px;font-size:12px;font-weight:600;color:var(--muted);line-height:1.3;white-space:nowrap}.recipe-chips{display:flex;gap:6px;min-width:0;flex:1;overflow-x:auto;padding:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent)}.recipe-chips::-webkit-scrollbar{display:none}.recipe-chips::after{content:'';flex:0 0 16px}.recipe-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:5px 11px;margin:0;font-size:13px;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:20px;white-space:nowrap;box-shadow:none;width:auto}.recipe-chip[aria-pressed=true]{background:var(--tint);border-color:var(--line-2);color:var(--brand)}.recipe-chip:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.recipe-chip-icon{font-size:15px;line-height:1}.recipe-chip-split{display:inline-flex;margin-left:4px;padding-left:8px;border-left:1px solid var(--line)}.recipe-chip-split .recipe-chip{border-radius:0;font-size:12px;padding:6px 10px}.recipe-chip-split .recipe-chip:first-child{border-radius:20px 0 0 20px}.recipe-chip-split .recipe-chip:last-child{border-radius:0 20px 20px 0;margin-left:-1px}.recipe-chip-rows .recipe-filter-note{margin:4px 0 0;font-size:11px}
#view-snacks .recipe-allergen-filter{margin:10px 0 0}#view-snacks .recipe-allergen-filter .recipe-chips{flex-wrap:wrap;overflow:visible;padding:10px 0 4px}#view-snacks .recipe-allergen-filter .recipe-chip{min-height:36px;font-size:12px}.recipe-allergen-note,.recipe-allergen-warning{font-size:12px;line-height:1.55;margin:6px 0 0}.recipe-allergen-warning{padding:10px 12px;background:var(--surface-2);border-radius:12px;color:var(--ink)}
#view-snacks .recipe-discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px;align-items:stretch}#view-snacks .recipe-compact{border-radius:17px;min-width:0;box-shadow:none;background:var(--surface);border:1px solid var(--line);position:relative}#view-snacks .recipe-compact .snack-card-open{height:100%;display:flex;flex-direction:column;padding:0;border:0;border-radius:0;background:var(--surface);text-align:left;color:var(--ink);width:100%}#view-snacks .recipe-compact .snack-art{aspect-ratio:auto;padding:0;margin:0;height:auto;width:100%;display:block}#view-snacks .recipe-compact .recipe-photo img{aspect-ratio:1.35;height:auto;width:100%;object-fit:cover}#view-snacks .recipe-compact .snack-art>svg{aspect-ratio:1.35;height:auto;width:100%}#view-snacks .recipe-compact .recipe-photo-credit{font-size:11px;line-height:1.4;padding:7px 9px;background:var(--surface-2);color:var(--ink)}#view-snacks .recipe-compact .snack-card-copy{padding:12px;gap:7px;min-width:0;width:100%}#view-snacks .recipe-compact .snack-card-copy>strong{font-size:15px;letter-spacing:0;line-height:1.35;overflow-wrap:anywhere}#view-snacks .recipe-compact-time{font-size:12px;color:var(--muted);line-height:1.4}#view-snacks .recipe-compact .recipe-heart{top:6px;right:6px;width:44px;height:44px;border-radius:50%;min-height:44px;padding:0;box-shadow:none;font-size:22px}#view-snacks .recipe-compact .recipe-diet-labels{display:flex;gap:4px;flex-wrap:wrap}#view-snacks .recipe-compact .recipe-diet-badge{font-size:11px;padding:4px 6px}#view-snacks .recipe-compact .recipe-review-pending{font-size:11px;line-height:1.35}#view-snacks .snack-about .content-disclosure{margin-top:14px}
@media(max-width:1000px){#view-snacks .recipe-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){#view-snacks .recipe-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}#view-snacks .recipe-compact .snack-card-copy{padding:10px;gap:6px}#view-snacks .recipe-compact .snack-card-copy>strong{font-size:14px}.recipe-chip-label{flex-basis:62px;width:62px}.recipe-sort-control>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.recipe-sort-control select{max-width:170px;font-size:12px}}
@media(max-width:360px){.recipe-chip{font-size:12px;padding:7px 10px}}

/* Keep the disclosure on the original image, without a separate caption strip. */
#view-snacks .recipe-photo{position:relative;display:block}#view-snacks .recipe-photo .recipe-photo-ai{position:absolute;left:7px;bottom:7px;right:auto;display:block;max-width:calc(100% - 14px);padding:3px 6px;border-radius:5px;background:var(--scrim);color:var(--on-dark);font-size:10px;font-weight:500;line-height:1.4;text-align:left;white-space:normal;pointer-events:none}#view-snacks .recipe-compact .snack-art{min-height:0}body:has(#view-snacks:not([hidden]) .snack-recipe) main>footer{display:none}
