:root{--accent: #4a8c6a;--accent-light: #5faa82;--accent-bg: rgba(74,140,106,.1);--bg: #1b2b1e;--bg-2: #222f25;--bg-card: #232f26;--bg-card-2: #2b3a2e;--text: #F2EDE5;--text-muted: #a3b5a0;--text-light: #889e8c;--border: rgba(255,255,255,.06);--border-soft: rgba(255,255,255,.03);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 16px 40px rgba(0,0,0,.5);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--green-glow: rgba(74,140,106,.18)}.noten-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.muzieknoot{position:absolute;color:var(--text);opacity:0;animation:drijfNoot linear infinite;-webkit-user-select:none;user-select:none}@keyframes drijfNoot{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.14}90%{opacity:.14}to{transform:translateY(-15vh) rotate(360deg);opacity:0}}header,.screen,.bottom-nav,.menu-overlay,.menu-paneel,#pwa-banner,#ios-banner,#diag-balk,.filter-overlay,.zijbalk,.recepten-grid-wrap{position:relative;z-index:1}header{z-index:50}.bottom-nav{z-index:50}.menu-overlay,.menu-paneel{z-index:200}.stop-knop-zwevend{z-index:100}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,Segoe UI,sans-serif;font-weight:400;letter-spacing:-.01em;background:var(--bg);color:var(--text);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media(display-mode:standalone){body{background:#141f16}}color: var(--text); min-height: 100vh; } header{background:#141f16;color:var(--text);padding:10px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #0000004d;border-bottom:1px solid var(--border);position:relative!important;z-index:100;width:100%;min-height:52px}@media(min-width:900px){header{padding:12px 32px;gap:14px}#header-knoppen{right:32px!important}}header h1{display:none}header>span{font-size:1.6rem}.hamburger{background:none;border:none;cursor:pointer;padding:4px;display:flex;flex-direction:column;gap:5px;flex-shrink:0}.hamburger span{display:block;width:24px;height:2.5px;background:var(--text);border-radius:2px;transition:all .25s;font-size:unset}.menu-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:200}.menu-overlay.open{display:block}.menu-paneel{position:fixed;top:0;left:-280px;width:270px;height:100%;background:var(--bg-card);z-index:300;box-shadow:4px 0 20px #0003;transition:left .3s ease;display:flex;flex-direction:column}.menu-paneel.open{left:0}.menu-header{background:var(--bg);padding:24px 20px 20px;color:var(--text)}.menu-header h2{font-size:1.2rem;font-weight:700}.menu-header p{font-size:.82rem;opacity:.85;margin-top:3px}.menu-items{flex:1;padding:12px 0;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:14px;padding:14px 20px;cursor:pointer;transition:background .15s;font-size:1rem;font-weight:500;color:var(--text);border:none;background:none;width:100%;text-align:left;font-family:inherit}.menu-item:hover{background:#40916c1a;color:var(--accent-light)}.menu-item.actief{background:#40916c1f;color:var(--accent-light);font-weight:500}.menu-item .menu-icon{font-size:1.3rem;width:28px;text-align:center;flex-shrink:0}.menu-scheidslijn{height:1px;background:var(--border);margin:8px 20px}.lijst-layout{display:flex;gap:0;min-height:calc(100vh - 80px)}.zijbalk{width:200px;flex-shrink:0;background:#141f16;border-right:1px solid var(--border);padding:16px 12px 40px;position:sticky;top:0;height:calc(100vh - 80px);overflow-y:scroll;scrollbar-width:thin;scrollbar-color:rgba(64,145,108,.3) transparent}.zijbalk::-webkit-scrollbar{width:4px}.zijbalk::-webkit-scrollbar-thumb{background:#40916c4d;border-radius:4px}.zijbalk::-webkit-scrollbar-track{background:transparent}.zijbalk-titel{font-size:.65rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;padding-left:4px;margin-top:4px}.zijbalk-subtitel{font-size:.78rem;font-weight:600;color:var(--text-muted);padding-left:4px;margin-top:8px;margin-bottom:2px}.zijbalk-sub{padding-left:16px!important}.zijbalk-geen-punt{padding-left:4px!important}.zijbalk-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:.83rem;font-weight:400;color:var(--text-muted);transition:all .12s;margin-bottom:2px;border:none;background:none;width:100%;text-align:left;font-family:inherit}.zijbalk-item:hover{background:#40916c1a;color:var(--accent-light)}.zijbalk-item.actief{background:#40916c1f;color:var(--accent-light);font-weight:500;border-left:3px solid var(--accent-light)}.zijbalk-item .zijbalk-count{margin-left:auto;font-size:.72rem;color:var(--text-light);font-weight:600}.zijbalk-scheidslijn{height:1px;background:var(--border);margin:8px 0}.zijbalk-punt{color:var(--accent);font-size:1.1rem;line-height:1;flex-shrink:0}.zijbalk-check{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;margin-bottom:2px;transition:background .12s}.zijbalk-check:hover{background:#40916c14}.zijbalk-check input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer;flex-shrink:0}.zijbalk-check.actief{background:#40916c1f;color:var(--accent-light)}.recepten-grid-wrap{flex:1;padding:16px;overflow-y:auto;min-width:0}.recepten-grid-header h3{font-size:1rem;font-weight:800;color:var(--text);margin:0}#grid-aantal{font-size:.78rem;color:var(--text-light);font-weight:600}.recepten-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.recepten-grid-header h3{font-size:1rem;font-weight:800;color:var(--text)}.recepten-grid-header span{font-size:.8rem;color:var(--text-light);font-weight:600}.recepten-kaart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.recept-kaart{background:var(--bg-card);border-radius:var(--radius-md);border-color:var(--border);overflow:hidden;box-shadow:0 2px 8px #00000012;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.recept-kaart{position:relative}.recept-kaart:hover{transform:translateY(-3px);box-shadow:0 12px 32px #00000080;border-color:var(--accent-light)!important}.recept-kaart-hart{position:absolute;top:6px;right:6px;background:#40916c40;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s;z-index:2;color:var(--text-muted)}.recept-kaart-hart:hover{transform:scale(1.2)}.recept-kaart-hart.is-favoriet,#recept-hart-btn.is-favoriet{color:#e84848}.recept-kaart-foto{width:100%;aspect-ratio:3/2;object-fit:cover;background:linear-gradient(145deg,#f0f7f4,#e8f5ee);display:flex;align-items:center;justify-content:center;font-size:3rem;flex-shrink:0}.recept-kaart-foto img{width:100%;height:100%;object-fit:cover}.recept-kaart-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:4px}.recept-kaart-naam{font-size:.85rem;font-weight:500;letter-spacing:-.01em;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recept-kaart-meta{font-size:.72rem;color:var(--text-light);font-weight:400;display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.recept-kaart-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:.68rem;font-weight:700}.badge-veg-klein{background:#e8f5e9;color:var(--accent-light)}.badge-moeil-klein-m{background:#e3f2fd;color:#1565c0}.badge-moeil-klein-g{background:#f59e0b1f;color:#f57f17}.badge-moeil-klein-v{background:#fce4ec;color:#c62828}.zijbalk-zoek{display:flex;align-items:center;background:var(--bg-card);border-radius:10px;padding:7px 10px;gap:6px;margin-bottom:12px}.zijbalk-zoek input{border:none;outline:none;background:transparent;font-size:.82rem;font-family:inherit;width:100%;color:var(--text)}.zijbalk-zoek input::placeholder{color:var(--text-light)}@media(max-width:600px){.lijst-layout{flex-direction:column}.zijbalk{width:100%;height:auto;display:flex;flex-direction:column;overflow:visible;padding:10px 12px;gap:8px;border-right:none;border-bottom:1px solid var(--border);position:static}.zijbalk-titel,.zijbalk-scheidslijn{display:none}.zijbalk-subtitel{display:inline-flex;align-items:center;flex-shrink:0;margin:0;padding:7px 4px;font-size:.78rem;color:var(--text-light);white-space:nowrap}.zijbalk-zoek{width:100%;margin-bottom:0;flex-shrink:0}.zijbalk-zoek input{font-size:16px!important}.zijbalk-categorieen{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:6px;width:100%;-webkit-overflow-scrolling:touch}.zijbalk-categorieen .zijbalk-item{white-space:nowrap;flex-shrink:0;width:auto;padding:7px 12px;margin-bottom:0;font-size:.8rem}.zijbalk-categorieen .zijbalk-item .zijbalk-count{display:none}.zijbalk-extra-filters{display:block;width:100%;padding-top:10px;border-top:1px solid var(--border);margin-top:8px}.zijbalk-extra-filters .zijbalk-titel{display:block;font-size:.72rem;margin:8px 0 6px}.zijbalk-extra-filters .zijbalk-scheidslijn{display:none}.zijbalk-extra-filters .zijbalk-check{padding:8px 6px;font-size:.85rem;min-height:36px}.zijbalk-extra-filters .zijbalk-check input[type=checkbox]{width:18px;height:18px;margin-right:8px}.zijbalk-collapse-titel{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;font-size:.75rem;font-weight:800;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.zijbalk-collapse-titel::-webkit-details-marker{display:none}.zijbalk-collapse-titel:after{content:"▾";font-size:.7rem;color:var(--accent-light);transition:transform .2s;margin-left:8px}.zijbalk-collapse[open]>.zijbalk-collapse-titel:after{transform:rotate(180deg)}}@media(min-width:601px){.zijbalk-collapse-titel{font-size:.68rem;font-weight:800;color:var(--text-light);text-transform:uppercase;letter-spacing:.07em;padding:8px 4px 4px;list-style:none}.zijbalk-collapse-titel::-webkit-details-marker{display:none}.recepten-grid-wrap{padding:10px}.recepten-kaart-grid{grid-template-columns:repeat(2,1fr);gap:8px}.recept-kaart-naam{font-size:.75rem}}@media(min-width:900px){.recepten-kaart-grid{grid-template-columns:repeat(3,1fr);gap:18px}}@media(min-width:1400px){.recepten-kaart-grid{grid-template-columns:repeat(4,1fr);gap:20px}}.recepten-layout{display:flex;height:calc(100vh - 60px);margin:-20px;overflow:hidden}.filter-sidebar{width:200px;min-width:180px;flex-shrink:0;background:#141f16;border-right:1px solid var(--border);padding:12px 10px 80px;overflow-y:auto}.filter-sidebar-sectie{margin-bottom:16px}.filter-sidebar-titel{font-size:.68rem;font-weight:800;color:var(--text-light);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;padding:0 4px}.sidebar-chip{display:block;width:100%;text-align:left;padding:7px 10px;margin-bottom:3px;border-radius:10px;border:none;background:transparent;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .12s}.sidebar-chip:hover{background:var(--border);color:var(--accent)}.sidebar-chip.actief{background:var(--accent);color:#fff}.sidebar-zoek{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:7px 10px;gap:6px;margin-bottom:14px}.sidebar-zoek input{border:none;outline:none;flex:1;font-size:.82rem;font-family:inherit;background:transparent;color:var(--text)}.sidebar-zoek input::placeholder{color:var(--text-light)}.sidebar-slider-wrap{padding:0 4px}.sidebar-slider-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-light);margin-bottom:2px}.sidebar-slider{width:100%;accent-color:var(--accent);display:block;margin:0;padding:0}.sidebar-wis-btn{display:block;width:100%;padding:8px;margin-top:12px;background:none;border:1px solid var(--border);border-radius:10px;font-size:.78rem;font-weight:700;color:var(--text-light);cursor:pointer;font-family:inherit;text-align:center}.sidebar-wis-btn:hover{color:var(--accent);border-color:var(--accent)}.recepten-hoofd{flex:1;overflow-y:auto;padding:14px 14px 80px}.recepten-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.recepten-aantal{font-size:.8rem;color:var(--text-light);font-weight:600}.recept-kaart-groot{background:var(--bg-card);border-radius:14px;border:1px solid var(--border);margin-bottom:12px;overflow:hidden;cursor:pointer;display:flex;transition:box-shadow .15s}.recept-kaart-groot:hover{box-shadow:0 4px 16px #0000001a}.recept-kaart-foto-wrap{width:110px;min-width:110px;height:110px;background:linear-gradient(135deg,#f5e6d3,#ede0ce);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:2.8rem}.recept-kaart-foto-wrap img{width:100%;height:100%;object-fit:cover}.recept-kaart-info{flex:1;padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.recept-kaart-naam{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recept-kaart-meta{font-size:.73rem;color:var(--text-light);display:flex;gap:10px;flex-wrap:wrap}.recept-kaart-badges{margin-top:4px}.recept-kaart-acties{display:flex;gap:6px;padding:0 12px 10px;align-items:center}.filter-chip{display:inline-flex;align-items:center;padding:7px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card-2);font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text-muted);transition:all .12s;-webkit-user-select:none;user-select:none;margin:3px}.filter-chip:hover{border-color:var(--accent);color:var(--accent)}.filter-chip.actief{background:var(--accent);border-color:var(--accent);color:#fff}.filter-groep{padding:14px 0 8px;border-bottom:1px solid var(--border)}.filter-groep:last-of-type{border-bottom:none}.filter-groep-titel{font-size:.68rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.filter-subtitel{font-size:.78rem;font-weight:600;color:var(--text-muted);margin-top:10px;margin-bottom:4px;padding-left:2px}.filter-zoek-balk{display:flex;align-items:center;background:var(--bg-card);border:1.5px solid var(--border);border-radius:14px;padding:10px 14px;gap:8px;margin-bottom:14px}.filter-zoek-balk input{border:none;outline:none;flex:1;font-size:.95rem;font-family:inherit;background:transparent}.filter-zoek-balk input::placeholder{color:var(--text-light)}.filter-slider-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-bottom:4px;font-weight:600}.filter-slider{width:100%;display:block;margin:0;padding:0;accent-color:var(--accent);cursor:pointer;box-sizing:border-box}.filter-toon-btn{font-family:DM Sans,sans-serif;letter-spacing:.02em;border-radius:100px!important;position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;border:none;border-radius:30px;padding:15px 40px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 20px #e8732a66;z-index:100;white-space:nowrap;min-width:200px;text-align:center}.filter-scherm-inhoud{padding-bottom:120px}.filter-actief-chip{display:inline-flex;align-items:center;background:#40916c1f;color:var(--accent);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:600;margin:2px}.screen{display:none;padding:20px;max-width:1000px;margin:0 auto;background:var(--bg)}#scherm-lijst{max-width:100%}.screen.active{display:block}.home-hero{text-align:center;padding:36px 16px 28px;margin-bottom:18px;background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--accent-bg) 0%,transparent 70%)}.home-hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-bg);color:var(--accent-light);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px}.home-hero-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-light)}.home-hero-titel{font-family:Playfair Display,serif;font-size:2.4rem;line-height:1.05;font-weight:700;color:var(--text);margin:0 0 18px;letter-spacing:-.02em}.home-hero-titel em{color:var(--accent-light);font-style:italic;font-weight:600}.home-hero-sub{color:var(--text-muted);font-size:.98rem;line-height:1.6;margin:0 0 22px}.home-hero-knoppen{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.home-hero-knop{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:10px 20px;font-size:.92rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,transform .15s}.home-hero-knop:hover{background:var(--accent-light);transform:translateY(-1px)}.home-hero-knop.actief{background:var(--accent-light)}.home-info{background:var(--bg-card);border-radius:14px;border:1px solid var(--border);padding:16px 18px;margin-bottom:14px}.home-kaart{background:var(--bg-card);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 8px #00000012;cursor:pointer;transition:transform .15s,box-shadow .15s;border-left:4px solid var(--accent-light)}.home-kaart:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001a}.home-kaart-icon{font-size:1.8rem;flex-shrink:0}.home-kaart-titel{font-weight:700;font-size:1rem}.home-kaart-sub{font-size:.82rem;color:var(--text-muted);margin-top:2px}.home-kaart>div:nth-child(2){flex:1}.weekdag{margin-bottom:20px}.weekdag-naam{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:10px}.weekdag-recept{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-card);border-radius:10px;margin-bottom:6px;font-size:.95rem;box-shadow:0 1px 4px #0000000f}.weekdag-recept select{flex:1;border:none;background:transparent;font-family:inherit;font-size:.9rem;color:var(--text);cursor:pointer;outline:none}.weekdag-recept select option{background:#1a2e1c;color:#fff;font-weight:500}.weekdag-trigger{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;border:none;background:transparent;font-family:inherit;font-size:.9rem;color:var(--text);cursor:pointer;outline:none;text-align:left;padding:4px 6px;border-radius:6px;min-width:0}.weekdag-trigger:hover{background:var(--bg-2)}.weekdag-trigger-tekst{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.weekdag-trigger-leeg{color:var(--text-muted)}.weekdag-trigger-pijl{color:var(--text-muted);font-size:.75rem;flex-shrink:0}.weekdag-play{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--accent-light);padding:4px 8px}.weekdag-wis{background:none;border:none;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--text-muted);padding:4px 8px}.weekdag-wis:hover{color:#ff8a8a}.weekmenu-kiezer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:none;align-items:center;justify-content:center;z-index:9999;padding:16px}.weekmenu-kiezer-paneel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.weekmenu-kiezer-kop{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.weekmenu-zoek{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:1rem;outline:none}.weekmenu-zoek:focus{border-color:var(--accent)}.weekmenu-kiezer-sluit{width:36px;height:36px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1.4rem;cursor:pointer;flex-shrink:0}.weekmenu-kiezer-sluit:hover{background:var(--bg-2)}.weekmenu-kiezer-lijst{overflow-y:auto;padding:8px;flex:1}.weekmenu-kiezer-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;color:var(--text);font-family:inherit;font-size:.95rem;cursor:pointer;border-radius:var(--radius-sm)}.weekmenu-kiezer-item:hover{background:var(--bg-2)}.weekmenu-kiezer-item-leeg{color:var(--text-muted);font-style:italic}.weekmenu-kiezer-leeg-melding{text-align:center;padding:16px;color:var(--text-muted)}.weekdag-maaltijd{font-size:.75rem;color:var(--text-light);min-width:55px;font-weight:600}.favoriet-btn{background:none;border:none;cursor:pointer;padding:4px;line-height:1;transition:transform .15s;color:var(--text-muted)}.favoriet-btn.is-favoriet{color:#e84848}.favoriet-btn:active{transform:scale(1.3)}.recipe-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.categorie-header{display:flex;align-items:center;gap:8px;margin-top:20px;margin-bottom:4px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent)}.categorie-header:first-child{margin-top:4px}.categorie-lijn{flex:1;height:2px;background:linear-gradient(to right,rgba(64,145,108,.15),transparent);border-radius:2px}.recipe-card{background:var(--bg-card);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;align-items:stretch}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001f}.recipe-card-foto{width:90px;min-height:80px;object-fit:cover;flex-shrink:0;background:#f0e9e0}.recipe-card-body{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;flex:1;border-left:4px solid var(--accent-light);gap:8px}.recipe-card-body>div:first-child{flex:1;min-width:0}.recipe-card-acties{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.recipe-card h3{color:#f5f0e8;font-size:1rem;font-weight:600}.recipe-card p{font-size:.82rem;color:var(--text-muted);margin-top:3px}.recipe-card .arrow{font-size:1.3rem;color:var(--accent)}.sterren-klein{display:flex;gap:1px;font-size:.75rem;line-height:1}.ster{color:var(--text-light);cursor:default}.ster.aan,.ster.half{color:#f59e0b}.sterren-groot{display:flex;gap:4px;font-size:1.8rem;margin:8px 0}.sterren-groot .ster{color:var(--text-light);cursor:pointer;transition:color .1s,transform .1s}.sterren-groot .ster:hover,.sterren-groot .ster.aan{color:#f59e0b}.sterren-groot .ster:active{transform:scale(1.3)}.score-label{font-size:.78rem;color:var(--text-light);text-align:center}.score-label span{color:#f59e0b;font-weight:700}.badge-rij{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.badge{letter-spacing:.01em;display:inline-block;font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:20px;white-space:nowrap}.badge-veg{background:#22c55e26;color:#86efac;font-size:.72rem}.badge-land{background:#8b5cf626;color:#c4b5fd;font-size:.72rem}.badge-tag{background:#40916c1f;color:var(--accent)}.badge-allergen{background:#f9731626;color:#fdba74}.badge-makkelijk{background:#05966926;color:#6ee7b7;font-weight:500;font-size:.72rem}.badge-gemiddeld{background:#f59e0b26;color:#fcd34d;font-weight:500;font-size:.72rem}.badge-gevorderd{background:#ef444426;color:#fca5a5;font-weight:500;font-size:.72rem}.apparatuur-blok{background:#f9f6f2;border-radius:12px;border:1px solid var(--border);padding:12px 16px;margin-bottom:14px}.apparatuur-blok-titel{font-size:.82rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.apparatuur-lijst{display:flex;flex-wrap:wrap;gap:6px}.apparatuur-item{display:flex;align-items:center;gap:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:.8rem;font-weight:600;color:var(--text-muted)}.recept-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.filter-balk{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filter-btn{padding:6px 14px;border-radius:20px;border:2px solid #e0d5c8;background:var(--bg-card);font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text-muted);transition:all .15s}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.actief{background:var(--accent);border-color:var(--accent);color:#fff}.help-intro{background:linear-gradient(135deg,#40916c1f,#40916c0f);border-radius:14px;padding:20px;margin-bottom:20px;border-left:4px solid var(--accent-light)}.help-intro p{font-size:.93rem;color:var(--text-muted);line-height:1.6;margin:0}.shop-kaart{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 18px;text-align:center}.shop-kaart-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--accent-bg);border-radius:12px;color:var(--accent-light);margin-bottom:12px}.shop-kaart-titel{font-weight:700;color:var(--text);font-size:1rem;margin-bottom:6px}.shop-kaart-tekst{color:var(--text-muted);font-size:.88rem;line-height:1.55;margin-bottom:12px}.shop-kaart-badge{display:inline-block;background:var(--accent-bg);color:var(--accent-light);font-size:.8rem;font-weight:600;padding:6px 16px;border-radius:20px}.faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden;cursor:pointer;transition:border-color .2s}.faq-item:hover{border-color:var(--accent)}.faq-vraag{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:600;color:var(--text);font-size:.93rem;gap:12px}.faq-chevron{flex-shrink:0;transition:transform .25s;color:var(--text-muted)}.faq-open .faq-chevron{transform:rotate(180deg)}.faq-antwoord{max-height:0;overflow:hidden;padding:0 16px;color:var(--text-muted);font-size:.88rem;line-height:1.6;transition:max-height .3s ease,padding .3s ease}.faq-open .faq-antwoord{max-height:300px;padding:0 16px 14px}.woordenlijst-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:8px}.woordenlijst-woord{font-weight:700;color:var(--text);font-size:.95rem;margin-bottom:4px}.woordenlijst-uitleg{color:var(--text-muted);font-size:.88rem;line-height:1.55}.help-sectie{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;background:var(--bg-card)}.help-sectie-kop{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px}.help-sectie-kop:hover{background:var(--bg-card)}.help-sectie-kop-links{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.95rem;color:var(--text)}.help-sectie-icon{font-size:1.2rem;width:28px;text-align:center}.help-chevron{color:var(--accent);font-size:.9rem;transition:transform .2s;flex-shrink:0}.help-sectie.open .help-chevron{transform:rotate(180deg)}.help-body{display:none;padding:0 16px 16px;font-size:.88rem;color:var(--text-muted);line-height:1.7;border-top:1px solid var(--border)}.help-sectie.open .help-body{display:block}.help-body ul{margin:8px 0 0;padding-left:20px}.help-body li{margin-bottom:5px}.help-body strong{color:var(--accent)}.help-badge-demo{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:20px;margin:2px}.help-tip{color:var(--text-muted);background:#e8f5e9;border-radius:8px;padding:10px 14px;margin-top:10px;font-size:.84rem;color:var(--accent-light)}.recept-foto{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin-bottom:16px;display:block}.scan-recept-sectie{text-align:center;margin-bottom:8px}.btn-scan-recept{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 24px;background:var(--accent);color:#fff;border:none;border-radius:14px;font-size:1.05rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s}.btn-scan-recept:hover{background:var(--accent-light)}.btn-scan-recept:active{transform:scale(.98)}.btn-scan-recept:disabled{opacity:.5;cursor:not-allowed}.scan-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;margin-top:12px;background:var(--accent-bg);border-radius:10px;color:var(--accent);font-weight:600}.scan-spinner{width:20px;height:20px;border:3px solid var(--accent-bg);border-top:3px solid var(--accent);border-radius:50%;animation:scanSpin .8s linear infinite}@keyframes scanSpin{to{transform:rotate(360deg)}}.scan-scheiding{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--text-muted);font-size:.85rem}.scan-scheiding:before,.scan-scheiding:after{content:"";flex:1;height:1px;background:var(--border)}.foto-upload-knop{display:inline-block;padding:12px 20px;background:#40916c1f;border:2px dashed var(--accent);border-radius:10px;color:var(--accent);font-weight:600;font-size:.95rem;cursor:pointer;width:100%;text-align:center;box-sizing:border-box;transition:background .15s}.foto-upload-knop:hover{background:#ffe8d6}width: 100%; margin-top: 16px; padding: 14px; background: var(--bg-card); border: 2px dashed var(--accent); border-radius: 14px; color: var(--accent); font-size: 1rem; font-weight: 600; cursor: pointer; transition: background .15s; } .btn-add:hover{background:#40916c1f}.form-group{margin-bottom:16px}label{display:block;font-weight:600;margin-bottom:6px;color:var(--text-muted);font-size:.9rem}input[type=text],input[type=number],input[type=email],input[type=password],textarea{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--bg-card);color:var(--text);transition:border-color .2s;resize:vertical}input[type=text]::placeholder,input[type=number]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--text-light);opacity:.7}input[type=text]:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{min-height:160px}.hint{font-size:.78rem;color:var(--text-muted);margin-top:4px}.btn{padding:13px 22px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s,opacity .2s;font-family:inherit}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#f0e9e0;color:var(--text-muted)}.btn-danger{background:#ef44441f;color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.btn-danger:hover{background:#ef444433}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.top-bar{display:flex;align-items:center;gap:10px;margin-bottom:20px}.top-bar h2{font-size:1.15rem;font-weight:700}.top-bar-back{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--accent);padding:0;line-height:1}.player{background:var(--bg-card);border-radius:16px;padding:18px;box-shadow:0 3px 16px #0000001a;margin-bottom:20px}.player-status{text-align:center;font-size:.88rem;color:var(--text-muted);margin-bottom:14px;min-height:20px}.player-status span{color:var(--accent);font-weight:600}.player-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.btn-play{background:var(--accent);color:#fff;padding:16px 32px;font-size:1.1rem;border-radius:50px;border:none;cursor:pointer;font-weight:700;font-family:inherit;transition:transform .1s,background .2s;display:flex;align-items:center;gap:8px}.btn-play:hover{background:var(--accent)}.btn-play:active{transform:scale(.97)}.btn-play:disabled{opacity:.4;cursor:not-allowed}.btn-spotify{background:var(--accent);color:#fff;padding:16px 24px;font-size:1rem;border-radius:50px;border:none;cursor:pointer;font-weight:700;font-family:inherit;transition:transform .1s,background .2s;display:flex;align-items:center;gap:8px}.btn-spotify:hover{background:var(--accent)}.btn-spotify:active{transform:scale(.97)}.btn-stop-speler{background:var(--bg-card-2);color:var(--text-muted);padding:16px 28px;font-size:1rem;border-radius:50px;border:1px solid var(--border);cursor:pointer;font-weight:500;font-family:inherit;transition:background .2s}.btn-stop-speler:hover{background:var(--bg-card);color:var(--text)}.btn-stop-speler:disabled{opacity:.35;cursor:not-allowed}.btn-stop-groot{background:#ef44441f;color:#fca5a5;border:1px solid rgba(239,68,68,.25);border:none;border-radius:50px;padding:20px 48px;font-size:1.4rem;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px #e8484866;transition:transform .1s,background .2s;letter-spacing:1px}.btn-stop-groot:hover{background:#ef444433}.btn-stop-groot:active{transform:scale(.95)}.stop-knop-zwevend{letter-spacing:.02em;display:none;position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:9999;background:var(--accent);color:#fff;border:none;border-radius:100px;padding:16px 48px;font-size:1rem;font-weight:500;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 24px var(--green-glow);letter-spacing:.01em;transition:all .25s;white-space:nowrap}.stop-knop-zwevend:active{transform:translate(-50%) scale(.95)}.stop-knop-zwevend:hover{background:var(--accent-light);color:#fff;transform:translate(-50%) translateY(-2px);box-shadow:0 8px 32px var(--green-glow)}.snelheid-row{display:flex;align-items:center;gap:10px;margin-top:14px;justify-content:center}.snelheid-row label{font-size:.85rem;color:var(--text-muted);margin:0}input[type=range]{-webkit-appearance:none;width:120px;height:6px;border-radius:3px;background:#e0d5c8;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer}.snelheid-val{font-size:.85rem;font-weight:600;color:var(--accent);min-width:28px}.progress-bar-wrap{height:6px;background:#eee;border-radius:3px;margin-bottom:14px;overflow:hidden}.progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .4s;width:0%}.sectie-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:10px}.steps-container{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.stap{background:var(--bg-card);border-radius:12px;padding:14px 16px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 1px 5px #00000012;transition:background .3s,box-shadow .3s;border:2px solid transparent}.stap.actief{background:#40916c14;border-color:var(--accent);box-shadow:0 3px 14px #e8732a33}.stap.gelezen{opacity:.45}.stap-nr{min-width:30px;height:30px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.stap.actief .stap-nr{background:var(--accent);animation:pulse 1s infinite}.stap.gelezen .stap-nr{background:#bbb}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.stap-tekst{color:#f5f0e8;font-size:.97rem;line-height:1.55}.recept-voeding{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:14px}.wekkers-sectie{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:14px;margin:14px 0}.wekkers-label{font-size:.82rem;color:var(--accent);font-weight:600;margin-bottom:10px;display:flex;align-items:center}.wekkers-container{display:flex;flex-direction:column;gap:10px}.wekker-leeg{font-size:.85rem;color:var(--text-muted);text-align:center;padding:8px 0}.wekker-add-btn{background:#40916c1f;color:var(--accent-light);border:1px dashed rgba(64,145,108,.45);border-radius:10px;padding:10px 14px;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit;width:100%;transition:background .15s,border-color .15s}.wekker-add-btn:hover{background:#40916c38;border-color:var(--accent)}.wekker-kaart{background:var(--bg-card-2);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,box-shadow .2s}.wekker-kaart.wekker-lopend{border-color:#52b7888c;box-shadow:0 0 0 1px #52b78840,0 0 12px #40916c2e}.wekker-kaart.wekker-klaar{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b66,0 0 14px #f59e0b59;animation:wekkerKnipper 1s ease-in-out infinite}@keyframes wekkerKnipper{0%,to{box-shadow:0 0 0 1px #f59e0b66,0 0 14px #f59e0b59}50%{box-shadow:0 0 0 2px #f59e0bb3,0 0 22px #f59e0b8c}}.wekker-kaart-header{display:flex;align-items:center;gap:8px}.wekker-naam{flex:1;background:#40916c14;border:1px solid rgba(82,183,136,.28);border-radius:8px;padding:8px 10px;color:var(--text);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .15s,background .15s}.wekker-naam:focus{border-color:var(--accent-light);background:#40916c24}.wekker-naam::placeholder{color:var(--text-muted)}.wekker-tijd-instel{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 0}.wekker-tijd-veld{width:82px;background:#f5f0e8;border:2px solid var(--accent);border-radius:10px;padding:10px 8px;color:#1a3a2a;font-family:inherit;font-size:1.95rem;font-weight:800;text-align:center;outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:border-color .15s,background .15s,box-shadow .15s;caret-color:var(--accent)}.wekker-tijd-veld::-webkit-outer-spin-button,.wekker-tijd-veld::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wekker-tijd-veld:focus{border-color:var(--accent-light);background:#fff;box-shadow:0 0 0 4px #52b78859}.wekker-dubbelpunt{font-size:1.95rem;font-weight:800;color:var(--accent-light)}.wekker-tijd-display{font-size:2.2rem;font-weight:700;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;padding:4px 0;letter-spacing:.04em}.wekker-kaart.wekker-lopend .wekker-tijd-display{color:var(--accent-light)}.wekker-kaart.wekker-klaar .wekker-tijd-display{color:#f59e0b}.wekker-status-rij{display:flex;align-items:center;justify-content:space-between;gap:10px}.wekker-status{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.wekker-kaart.wekker-lopend .wekker-status{color:var(--accent-light)}.wekker-kaart.wekker-klaar .wekker-status{color:#f59e0b}.wekker-knoppen{display:flex;gap:6px}.wekker-knop{background:#40916c26;color:var(--accent-light);border:1px solid rgba(64,145,108,.3);border-radius:8px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;padding:0;transition:background .15s,transform .1s}.wekker-knop:hover{background:#40916c47}.wekker-knop:active{transform:scale(.94)}.wekker-knop.wekker-start{background:var(--accent);color:#fff;border-color:var(--accent)}.wekker-knop.wekker-start:hover{background:var(--accent-light)}.wekker-knop.wekker-pauze{background:#f59e0b;color:#1a1a1a;border-color:#f59e0b}.wekker-knop.wekker-pauze:hover{background:#fbbf24}.wekker-knop.wekker-verwijder{background:#dc3c3c1f;color:#ef9a9a;border-color:#dc3c3c40;width:30px;height:30px}.wekker-knop.wekker-verwijder:hover{background:#dc3c3c38}.wekker-fab{position:fixed;right:16px;bottom:90px;z-index:9998;background:var(--accent);color:#fff;border:none;border-radius:999px;min-width:60px;height:60px;padding:0 16px;box-shadow:0 6px 20px #0006,0 0 0 1px #52b7884d;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:1rem;font-weight:700;letter-spacing:.02em;transition:transform .15s,box-shadow .2s,background .2s}.wekker-fab:hover{background:var(--accent-light);transform:scale(1.05)}.wekker-fab:active{transform:scale(.96)}.wekker-fab-icon{flex-shrink:0}.wekker-fab-tijd{font-variant-numeric:tabular-nums;white-space:nowrap}.wekker-fab-tijd:empty{display:none}.wekker-fab.wekker-fab-lopend{background:var(--accent-light)}.wekker-fab.wekker-fab-klaar{background:#f59e0b;animation:wekkerFabKnipper .8s ease-in-out infinite}@keyframes wekkerFabKnipper{0%,to{box-shadow:0 6px 20px #0006,0 0 0 1px #f59e0b66,0 0 #f59e0b99}50%{box-shadow:0 6px 20px #0006,0 0 0 4px #f59e0b80,0 0 18px 8px #f59e0b66}}.wekker-fab-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;border:2px solid var(--bg);border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.wekker-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9998;opacity:0;transition:opacity .25s ease}.wekker-sheet-overlay.open{opacity:1}.wekker-sheet{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--bg-2);border-top:1px solid var(--border);border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #00000080;padding:8px 16px 24px;max-height:80vh;overflow-y:auto;flex-direction:column;gap:10px;transform:translateY(100%);transition:transform .25s ease}.wekker-sheet.open{transform:translateY(0)}.wekker-sheet-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:6px auto 4px;flex-shrink:0}.wekker-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0 8px;border-bottom:1px solid var(--border-soft);margin-bottom:8px;flex-shrink:0}.wekker-sheet-titel{font-size:1rem;font-weight:700;color:var(--accent-light);display:flex;align-items:center}.wekker-sheet-sluit{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.wekker-sheet-sluit:hover{background:#ffffff0f;color:var(--text)}.voeding-label{font-size:.82rem;color:var(--text-muted);font-weight:600;margin-bottom:8px;display:flex;align-items:center;color:var(--accent)}.voeding-waarden{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.voeding-item{display:flex;flex-direction:column;align-items:center;padding:6px 4px;background:var(--bg-card-2);border-radius:8px}.voeding-getal{font-weight:700;font-size:1.05rem;color:var(--text);line-height:1.1}.voeding-eenheid{font-size:.7rem;color:var(--text-muted);margin-top:2px;text-align:center}.recept-paring{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:14px}.paring-label{font-size:.82rem;font-weight:600;margin-bottom:10px;display:flex;align-items:center;color:var(--accent)}.paring-kaarten{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.paring-kaart{background:var(--bg-card-2);border-radius:10px;padding:8px;cursor:pointer;transition:transform .15s,border-color .15s;border:1px solid var(--border-soft);display:flex;flex-direction:column;min-height:100px}.paring-kaart:hover{transform:translateY(-2px);border-color:var(--accent)}.paring-kaart-foto{width:100%;aspect-ratio:4/3;border-radius:6px;overflow:hidden;margin-bottom:6px;background:var(--bg-2)}.paring-kaart-foto img{width:100%;height:100%;object-fit:cover}.paring-kaart-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.paring-kaart-slot{font-size:.68rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.paring-kaart-naam{font-size:.82rem;color:var(--text);font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ingredienten-kaart{background:var(--bg-card);border:1.5px solid #f0dfc8;border-radius:14px;margin-bottom:18px;overflow:hidden}.ingredienten-header{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.ingredienten-header:hover{background:#40916c14}.ingredienten-header-links{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--accent)}.ingredienten-pijl{font-size:.75rem;color:var(--text-light);transition:transform .2s}.ingredienten-kaart.open .ingredienten-pijl{transform:rotate(180deg)}.ingredienten-lijst-weergave{display:none;padding:0 16px 14px;border-top:1px solid #f0dfc8}.ingredienten-kaart.open .ingredienten-lijst-weergave{display:block}.ingredient-item{display:flex;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid #f5ede0;font-size:.93rem}.ingredient-item:last-child{border-bottom:none}.ingredient-bullet{color:var(--accent);font-weight:700;font-size:.8rem;flex-shrink:0}.leeg{text-align:center;padding:60px 20px;color:var(--text-light)}.leeg .leeg-icon{font-size:3rem;margin-bottom:12px}.leeg p{font-size:.95rem}.recept-info-balk{color:var(--text-muted);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.info-chip{background:var(--bg-card);border:1.5px solid #f0dfc8;border-radius:20px;padding:6px 12px;font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:5px}.info-chip strong{color:var(--text)}.portie-sectie{background:var(--bg-card);border:1.5px solid #f0dfc8;border-radius:14px;padding:12px 16px;margin-bottom:16px}.portie-label{font-size:.82rem;font-weight:700;color:var(--text-muted);margin-bottom:8px}.portie-knoppen{display:flex;gap:8px}.portie-btn{flex:1;padding:10px 4px;border:2px solid #e0d5c8;border-radius:10px;background:var(--bg-card);font-size:.95rem;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}.portie-btn:hover{border-color:var(--accent);color:var(--accent)}.portie-btn.actief{background:var(--accent);border-color:var(--accent);color:#fff}.portie-schaal-note{font-size:.75rem;color:var(--text-light);margin-top:8px;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.header-cart-btn{background:var(--accent);border:none;border-radius:10px;color:#fff;font-size:1.4rem;padding:6px 10px;cursor:pointer;position:relative;display:flex;align-items:center;gap:4px;transition:background .15s}.header-cart-btn:hover{background:var(--accent-light)}.header-account-btn{background:var(--accent);border:none;border-radius:50px;color:#fff;padding:8px 16px;height:auto;cursor:pointer;display:flex;align-items:center;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s;white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow-md)}.header-account-btn:hover{background:var(--accent-light)}.header-account-btn.ingelogd{background:#40916c80;border:1px solid rgba(82,183,136,.4)}.header-account-btn.ingelogd:hover{background:#40916cb3}.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--bg-card);color:var(--accent);border-radius:50%;font-size:.65rem;font-weight:800;width:18px;height:18px;display:flex;align-items:center;justify-content:center;display:none}.ingredient-item{cursor:pointer;transition:background .1s;border-radius:6px;padding:6px 4px}.ingredient-item:hover{background:#40916c14}.ingredient-item.sectie-header{cursor:default;font-weight:700;color:var(--accent);font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;padding-top:12px;background:none!important}.ingredient-item.sectie-header .ingredient-bullet{display:none}.ing-checkbox{width:20px;height:20px;border:2px solid #ddd;border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .15s;background:var(--bg-card)}.ingredient-item.aangevinkt .ing-checkbox{background:var(--accent);border-color:var(--accent);color:#fff}.ingredient-item.aangevinkt .ing-tekst{color:var(--text-light);text-decoration:line-through}.cart-sectie{margin-bottom:20px}.cart-recept-naam{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid #fde8d6;display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.cart-recept-naam-tekst{flex:1;min-width:0}.cart-recept-meta{font-size:.72rem;font-weight:600;letter-spacing:.4px;color:var(--text-muted);background:var(--bg-card-2);padding:2px 8px;border-radius:999px;white-space:nowrap}.cart-chevron{flex-shrink:0;transition:transform .18s ease;color:var(--text-muted)}.cart-sectie.uitgeklapt .cart-chevron{transform:rotate(180deg)}.cart-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-card);border-radius:10px;margin-bottom:6px;box-shadow:0 1px 4px #0000000f;font-size:.93rem}.cart-item.afgestreept{opacity:.45}.cart-item.afgestreept .cart-item-tekst{text-decoration:line-through}.cart-sectie-eigen .cart-recept-naam{color:var(--accent-light);border-bottom-color:var(--accent-light)}.cart-vinkje{width:24px;height:24px;border:2px solid #e0d5c8;border-radius:6px;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .15s;background:var(--bg-card)}.cart-item.afgestreept .cart-vinkje{background:#4caf50;border-color:#4caf50;color:#fff}.cart-item-tekst{color:var(--text);flex:1}.cart-verwijder{background:none;border:none;color:var(--text-light);font-size:1rem;cursor:pointer;padding:4px;line-height:1}.cart-verwijder:hover{color:#fca5a5}.cart-leeg{text-align:center;padding:50px 20px;color:var(--text-light)}.cart-leeg .leeg-icon{font-size:3rem;margin-bottom:12px}.cart-acties{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.verzamellijst-blok{margin-top:28px;padding-bottom:30px}.verzamellijst-header{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid #e0d5c8}.verzamellijst-categorie{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-light);margin:14px 0 6px 4px;padding-bottom:4px;border-bottom:1px solid var(--border-soft)}.verzamellijst-categorie:first-child{margin-top:4px}.verzamellijst-item{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--bg-card);border-radius:10px;margin-bottom:6px;box-shadow:0 1px 4px #0000000f;font-size:.93rem}.verzamellijst-item.gecombineerd{border-left:3px solid var(--accent-light)}.verzamellijst-item-tekst{flex:1}.verzamellijst-item.afgestreept .verzamellijst-item-tekst{text-decoration:line-through;opacity:.5}.verzamellijst-item.afgestreept .verzamellijst-badge{opacity:.5}.verzamellijst-badge{font-size:.72rem;background:#40916c14;color:var(--accent);border-radius:20px;padding:2px 8px;font-weight:600;white-space:nowrap}@media(max-width:480px){.btn-play{padding:14px 24px;font-size:1rem}.btn-stop-speler{padding:14px 20px}}#scherm-lezen *{color:var(--text)!important}#scherm-lezen .stap-nummer{color:var(--accent-light)!important;background:var(--bg-card-2)!important}#scherm-lezen .stap-item.actief .stap-nummer{background:var(--accent)!important;color:#fff!important}#scherm-lezen .badge,#scherm-lezen .badge-makkelijk,#scherm-lezen .badge-gemiddeld,#scherm-lezen .badge-gevorderd,#scherm-lezen .badge-veg,#scherm-lezen .badge-land,#scherm-lezen .badge-allergen,#scherm-lezen .badge-tag{color:inherit!important}#scherm-lezen .badge-makkelijk{color:#6ee7b7!important}#scherm-lezen .badge-gemiddeld{color:#fcd34d!important}#scherm-lezen .badge-gevorderd{color:#fca5a5!important}#scherm-lezen .badge-veg{color:#86efac!important}#scherm-lezen .badge-land{color:#c4b5fd!important}#scherm-lezen .badge-allergen{color:#fdba74!important}#scherm-lezen .ster{color:var(--text-light)!important}#scherm-lezen .ster.aan{color:#f59e0b!important}#scherm-lezen .apparatuur-item,#scherm-lezen .btn-play,#scherm-lezen .btn-stop-speler{color:var(--text-muted)!important}#scherm-lezen input[type=range]{accent-color:var(--accent-light)}.ingredienten-kaart *,.ingredienten-header{color:var(--text)!important}.recept-info-balk,.recept-info-balk *{color:var(--text-muted)!important}#scherm-lezen .lees-titel,#scherm-lezen .stap-tekst,#scherm-lezen .stap-nr,#scherm-lezen .sectie-label,#scherm-lezen .portie-label,#scherm-lezen .portie-schaal-note,#scherm-lezen .player-status,#scherm-lezen .snelheid-row,#scherm-lezen .snelheid-val,#scherm-lezen .recept-info-item,#scherm-lezen h3,#scherm-lezen p,#scherm-lezen label,#scherm-lezen span:not(.badge):not(.ster):not(.stap-nr){color:var(--text)!important}#scherm-lezen .stap-nr,#scherm-lezen .stap-item.actief .stap-nr{color:var(--text)!important}#scherm-lezen .score-label,#scherm-lezen .recept-info-item,#scherm-lezen .portie-schaal-note{color:var(--text-muted)!important}.ingredienten-lijst-weergave li,.ingredienten-lijst-weergave span,.ingredienten-lijst-weergave div{color:var(--text)!important}.muziek-speler{position:fixed;bottom:80px;right:16px;z-index:90;display:flex;align-items:center;gap:10px;background:#0f1410eb;border:1px solid rgba(64,145,108,.3);border-radius:100px;padding:8px 14px 8px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 20px #0006;transition:all .3s}.muziek-speler:hover{border-color:#40916c99}.muziek-btn{width:32px;height:32px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#fff;flex-shrink:0;transition:background .2s}.muziek-btn:hover{background:var(--accent-light)}.muziek-label{font-size:.72rem;color:var(--text-muted);font-family:DM Sans,sans-serif;white-space:nowrap;letter-spacing:.02em;max-width:130px;overflow:hidden;text-overflow:ellipsis}.muziek-label strong{display:block;color:var(--text);font-weight:500;font-size:.75rem}.muziek-volume{width:60px;accent-color:var(--accent);cursor:pointer}.muziek-noot{font-size:.85rem;animation:nootDans 2s ease infinite;color:var(--accent-light)}@keyframes nootDans{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}#auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0a140cf2;display:flex;align-items:center;justify-content:center;padding:20px}#auth-overlay.verborgen{display:none}.auth-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:36px 28px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.auth-logo{font-family:Playfair Display,serif;font-size:1.6rem;font-weight:700;color:var(--text);text-align:center;margin-bottom:6px}.auth-logo span{color:var(--accent-light);font-style:italic}.auth-tagline{text-align:center;color:var(--text-muted);font-size:.85rem;margin-bottom:28px}.auth-tabs{display:flex;gap:4px;background:var(--bg);border-radius:10px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:8px;border:none;background:transparent;color:var(--text-muted);border-radius:8px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.9rem;transition:all .2s}.auth-tab.actief{background:var(--accent);color:#fff;font-weight:600}.auth-veld{margin-bottom:14px}.auth-veld label{display:block;color:var(--text-muted);font-size:.8rem;margin-bottom:5px}.auth-veld input{width:100%;padding:11px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem;box-sizing:border-box;outline:none;transition:border-color .2s}.auth-veld input:focus{border-color:var(--accent)}.auth-submit-btn{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;margin-top:6px;transition:background .2s,transform .1s}.auth-submit-btn:hover{background:var(--accent-light)}.auth-submit-btn:active{transform:scale(.98)}.auth-melding{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.85rem;text-align:center;display:none}.auth-melding.fout{background:#dc262626;color:#fca5a5;display:block}.auth-melding.ok{background:#40916c33;color:var(--accent-light);display:block}.auth-overslaan{display:block;text-align:center;margin-top:16px;color:var(--text-muted);font-size:.82rem;cursor:pointer;text-decoration:underline;background:none;border:none;font-family:DM Sans,sans-serif}.menu-account{padding:14px 16px;background:var(--bg);border-top:1px solid var(--border);margin-top:auto}.menu-account-ingelogd{display:flex;align-items:center;gap:10px}.menu-account-avatar{width:34px;height:34px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff;flex-shrink:0}.menu-account-info{flex:1;min-width:0}.menu-account-naam{color:var(--text);font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-account-sync{color:var(--text-muted);font-size:.72rem}.menu-account-uitlogbtn{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:4px 8px;border-radius:6px;white-space:nowrap;font-family:DM Sans,sans-serif;transition:color .2s}.menu-account-uitlogbtn:hover{color:#fca5a5}.menu-account-login-btn{width:100%;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.menu-account-login-btn:hover{background:var(--accent-light)}
