@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#1d2b24;--muted:#67756d;--green:#1d6648;--green-dark:#15533a;--lime:#d8f078;--paper:#fafbf7;--line:#e5e9e2;--white:#fff;--red:#a93232;--shadow:0 14px 42px #1932230d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.site-header{height:78px;padding:0 max(calc((100% - 1160px)/2),32px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eef0eb}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:800 20px Manrope,sans-serif;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand-mark{width:30px;height:30px;border-radius:10px;background:var(--green);display:grid;place-items:center;color:#fff;font-size:16px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.site-header nav form{margin:0}.nav-user{color:var(--muted);font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:0 21px;border:0;border-radius:9px;background:var(--green);color:#fff;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.button:hover{background:var(--green-dark);text-decoration:none;transform:translateY(-1px)}.button-small{min-height:40px;padding:0 16px}.button-quiet{min-height:38px;padding:0 12px;background:transparent;color:var(--green)}.button-quiet:hover{background:#f1f6e5;color:var(--green-dark)}.button-full{width:100%;margin-top:9px}.button-light{background:var(--lime);color:var(--ink)}.button-light:hover{background:#e5f799;color:var(--ink)}.hero{max-width:1160px;margin:0 auto;padding:79px 24px 86px;min-height:456px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:32px}.hero-copy{max-width:590px}.eyebrow{margin:0 0 13px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:1.5px}.hero h1{margin:0;font:800 clamp(36px,5vw,59px)/1.1 Manrope,sans-serif;letter-spacing:-2.8px}.hero h1 span{color:var(--green)}.hero-lede{max-width:480px;margin:19px 0 27px;color:var(--muted);font-size:17px;line-height:1.6}.zip-form{max-width:445px}.zip-form label,.form-stack>label{display:block;margin:0 0 8px;font-size:13px;font-weight:700}.zip-controls{display:flex;gap:9px}.zip-controls input{flex:1;min-width:0}.zip-form input,.form-stack input:not([type=checkbox]){height:49px;padding:0 14px;border:1px solid #dce2d9;border-radius:8px;background:#fff;color:var(--ink);outline:none}.zip-form input:focus,.form-stack input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d66481a}.zip-form small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.hero-art{height:300px;position:relative;display:grid;place-items:center}.hero-orbit{position:absolute;border:1px solid #d9e7c7;border-radius:50%;transform:rotate(-20deg)}.orbit-one{width:355px;height:235px}.orbit-two{width:300px;height:180px;transform:rotate(36deg)}.hero-bag{position:relative;z-index:1;width:175px;height:208px;background:#dff183;border-radius:22px 22px 34px 34px;transform:rotate(-7deg);box-shadow:0 20px 55px #42783824;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green-dark)}.hero-bag:before{content:'';position:absolute;top:-26px;width:75px;height:48px;border:8px solid #dff183;border-bottom:0;border-radius:50% 50% 0 0}.hero-bag span{font-size:34px}.hero-bag strong{font:800 18px/1.2 Manrope,sans-serif;text-align:center;letter-spacing:.5px}.hero-bag i{font-style:normal;font-size:30px}.hero-price{position:absolute;z-index:2;display:grid;place-items:center;border-radius:50%;font-weight:800;box-shadow:var(--shadow)}.price-one{top:35px;right:16%;width:65px;height:65px;background:#fff;color:var(--green);transform:rotate(12deg)}.price-two{bottom:31px;left:18%;width:51px;height:51px;background:#1d6648;color:#fff;font-size:20px}.retailers-section{max-width:1160px;margin:0 auto;padding:25px 24px 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:21px}.section-heading h2,.join-banner h2{margin:0;font:800 29px/1.2 Manrope,sans-serif;letter-spacing:-1px}.section-heading .eyebrow{margin-bottom:7px}.sort-note{margin:0;color:var(--muted);font-size:13px}.loading-state{min-height:25px;color:var(--muted);font-size:14px}.location-button{margin:0 0 18px;padding:0;border:0;background:transparent;color:var(--green);font-size:13px;font-weight:700;cursor:pointer}.location-button:hover{text-decoration:underline}.location-button:disabled{opacity:.65;cursor:wait}.retailer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.retailer-card{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.retailer-toggle{width:100%;min-height:86px;padding:15px 17px;display:flex;align-items:center;gap:14px;border:0;background:#fff;text-align:left;color:var(--ink);cursor:pointer}.retailer-toggle:hover{background:#fcfdf9}.retailer-identity{display:flex;align-items:center;gap:13px;flex:1;min-width:0}.retailer-logo{width:43px;height:43px;flex:none;border-radius:12px;background:#eff5e8;display:grid;place-items:center;color:var(--green);font:800 19px Manrope,sans-serif}.retailer-lidl{background:#ffe5eb;color:#0050aa}.retailer-aldi-nord,.retailer-aldi-sued{background:#e5f0ff;color:#0064a8}.retailer-kaufland{background:#ffe7e7;color:#c12631}.retailer-rewe{background:#ffe6e6;color:#cc2529}.retailer-penny{background:#ffe8eb;color:#d21d40}.retailer-netto-marken-discount{background:#fff0df;color:#db5c12}.retailer-text{display:flex;flex-direction:column;gap:5px;min-width:0}.retailer-text strong{font-size:15px}.retailer-text small{color:var(--muted);font-size:12px}.retailer-distance{white-space:nowrap;color:var(--green);font-size:12px;font-weight:700}.retailer-chevron{color:#8a958d;font-size:21px;transition:transform .2s}.retailer-toggle[aria-expanded=true] .retailer-chevron{transform:rotate(180deg)}.retailer-details{border-top:1px solid var(--line)}.offer-list{padding:0 16px}.offer-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #edf0eb}.offer-item:last-child{border-bottom:0}.offer-copy{min-width:0}.offer-copy h3{margin:0;font-size:14px;font-weight:700}.offer-description,.offer-validity{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.offer-price{display:flex;align-items:flex-end;flex-direction:column;gap:3px;white-space:nowrap}.offer-price strong{font-size:15px}.offer-price del{color:#8b958f;font-size:11px}.discount-pill{padding:3px 6px;border-radius:5px;background:#e9f6cf;color:#346122;font-size:10px;font-weight:800}.empty-offers{padding:17px;color:var(--muted);font-size:13px}.join-banner{max-width:1112px;margin:0 auto 70px;padding:33px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:17px;background:var(--green);color:#fff}.join-banner .eyebrow{color:var(--lime)}.join-banner p:not(.eyebrow){max-width:530px;margin:9px 0 0;color:#d3e5db;font-size:14px}.join-banner h2{font-size:25px}.site-footer{max-width:1160px;margin:0 auto;padding:22px 24px 29px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.notice{max-width:1112px;margin:0 auto 22px;padding:14px 17px;border:1px solid #d6e3cb;border-radius:9px;background:#f0f7e8;color:#35572b;font-size:14px}.notice form{display:inline;margin-left:6px}.notice-success{border-color:#c8e0cc;background:#eef8ef;color:#225b34}.notice-error{border-color:#efcece;background:#fff1f1;color:var(--red)}.text-button{padding:0;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}.text-button:hover{text-decoration:underline}.auth-wrap{min-height:calc(100vh - 160px);padding:55px 20px 70px;display:flex;justify-content:center;align-items:flex-start}.auth-card{width:min(100%,450px);padding:34px 36px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.auth-card h1{margin:0;font:800 30px/1.2 Manrope,sans-serif;letter-spacing:-1.1px}.auth-intro{margin:11px 0 25px;color:var(--muted);font-size:14px;line-height:1.55}.form-stack{display:flex;flex-direction:column;gap:10px}.form-stack>label{margin:4px 0 -4px}.form-stack input:not([type=checkbox]){width:100%}.label-row{display:flex;justify-content:space-between;align-items:center;margin:4px 0 -4px}.label-row label{font-size:13px;font-weight:700}.label-row a,.auth-switch a{font-size:12px;font-weight:700}.check-row{display:flex;align-items:center;gap:8px;margin:4px 0 3px;color:var(--muted);font-size:13px}.check-row input{accent-color:var(--green)}.auth-switch{margin:22px 0 0;text-align:center;color:var(--muted);font-size:13px}.auth-switch a{font-size:13px}.label-hint{margin-left:3px;color:var(--muted);font-size:11px;font-weight:500}.auth-card-centered{text-align:center}.auth-card-centered .auth-intro{margin:15px 0 23px}.logout-link{margin-top:17px}

@media(max-width:760px){.site-header{height:66px;padding:0 18px}.site-header nav{gap:15px;font-size:13px}.site-header nav>a:first-child,.nav-user{display:none}.brand{font-size:18px}.hero{padding:50px 21px 40px;grid-template-columns:1fr;gap:5px}.hero h1{font-size:43px}.hero-lede{font-size:15px}.hero-art{height:245px;grid-row:1}.hero-copy{grid-row:2}.hero-bag{transform:scale(.83) rotate(-7deg)}.orbit-one{width:300px;height:190px}.orbit-two{width:245px;height:145px}.price-one{right:23%}.price-two{left:23%}.retailers-section{padding:25px 18px 55px}.section-heading{align-items:flex-start;flex-direction:column;gap:7px}.section-heading h2{font-size:25px}.retailer-grid{grid-template-columns:1fr}.join-banner{margin:0 18px 48px;padding:27px 23px;align-items:flex-start;flex-direction:column}.site-footer{padding:20px 18px}.auth-wrap{padding:35px 15px 55px}.auth-card{padding:28px 23px}.zip-controls{gap:7px}.zip-controls .button{padding:0 12px;font-size:13px}.notice{margin-left:18px;margin-right:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.location-consent{padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#fbfcf8}.location-consent strong{font-size:13px}.location-consent p{margin:6px 0 8px;color:var(--muted);font-size:12px;line-height:1.5}.location-status{margin-left:8px;color:var(--muted);font-size:11px}
.offer-filters{margin:0 0 20px;padding:17px 19px;border:1px solid var(--line);border-radius:13px;background:#fff}.filter-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.filter-heading>div{display:flex;flex-direction:column;gap:4px}.filter-heading strong{font-size:14px}.filter-heading small,.filter-heading>span{color:var(--muted);font-size:11px}.filter-groups{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px;margin-top:16px}.filter-group{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px 12px;margin:0;padding:0;border:0}.filter-group legend{width:100%;margin-bottom:7px;font-size:12px;font-weight:700}.filter-group label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;cursor:pointer}.filter-group input{accent-color:var(--green)}.offer-category{padding:13px 0 0}.offer-category-title{margin:0;padding:0 0 8px;border-bottom:1px solid var(--line);font:700 13px Manrope,sans-serif;color:var(--green)}.offer-category-list{padding:0}.offer-guidance{margin:5px 0 0;color:var(--green);font-size:11px;font-weight:600}
.bio-filter{margin:13px 0 0}
.discount-pill{padding:4px 7px;font-size:11px}
.offer-item-title{display:flex;align-items:center;gap:7px}.offer-category-icon{width:22px;height:22px;flex:none;display:inline-grid;place-items:center;border-radius:6px;background:#f0f5e9;font-size:14px}
.personal-lists{max-width:1160px;margin:0 auto;padding:0 24px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.personal-list{min-width:0;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff}.personal-list-heading{margin-bottom:11px}.personal-list-heading .eyebrow{margin-bottom:5px}.personal-list-heading h2{margin:0;font:800 19px/1.25 Manrope,sans-serif;letter-spacing:-.4px}.personal-list-items{display:flex;flex-direction:column}.personal-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #edf0eb}.personal-list-item>div{display:flex;flex-direction:column;gap:4px;min-width:0}.personal-list-item strong{font-size:13px}.personal-list-item small,.personal-list-empty{color:var(--muted);font-size:11px}.personal-list-empty{margin:7px 0 3px}.personal-list-item.is-checked strong{text-decoration:line-through;color:var(--muted)}.shopping-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 16px}.shopping-toolbar [role=status]{color:var(--muted);font-size:12px}.offer-item-actions{display:flex;align-items:center;gap:5px}.favorite-toggle,.select-offer{width:29px;height:29px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:17px;cursor:pointer}.favorite-toggle:hover,.select-offer:hover{border-color:#b7c5b8;background:#f7faf3}.favorite-toggle.is-favorite{border-color:#f0d66f;background:#fff7d8;color:#9c7100}.favorite-toggle:disabled{opacity:.55;cursor:wait}.select-offer[aria-pressed=true]{border-color:#8fb4e8;background:#e9f2ff;color:#205b9e;font-weight:800}.offer-item.is-favorite{background:#fffdf5}.offer-item.is-selected{background:#eef5ff;box-shadow:inset 3px 0 #4783c5}.favorite-offers .offer-category-title{color:#8a6900}
@media(max-width:760px){.personal-lists{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.shopping-toolbar{align-items:flex-start;flex-direction:column}.offer-item{flex-wrap:wrap}.offer-item-actions{order:3}.offer-price{margin-left:auto}}
.offer-item{padding-left:10px;padding-right:10px;border-radius:7px}.offer-category-title{padding-left:10px;padding-right:10px}
@media(max-width:760px){.filter-groups{grid-template-columns:1fr;gap:14px}.filter-heading{align-items:flex-start;flex-direction:column;gap:5px}}
.personal-lists{grid-template-columns:repeat(3,minmax(0,1fr))}.shopping-retailer-group+.shopping-retailer-group{margin-top:10px}.shopping-retailer-title{margin:0;padding:7px 0;border-bottom:1px solid var(--line);color:var(--green);font:700 12px Manrope,sans-serif}.shopping-row{gap:8px}.shopping-item-copy{display:flex;align-items:flex-start;gap:7px;min-width:0;flex:1}.shopping-item-copy>div{display:flex;flex-direction:column;gap:4px;min-width:0}.shopping-row.shopping-expired strong,.shopping-row.shopping-expired small{text-decoration:line-through;text-decoration-color:var(--red);color:var(--muted)}.expired-icon{width:17px;height:17px;flex:none;display:grid;place-items:center;border-radius:50%;background:#ffe9e9;color:var(--red);font-size:12px;font-weight:800}.shopping-toast-stack{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;flex-direction:column;gap:8px}.shopping-toast{min-width:270px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cbd9cc;border-radius:10px;background:#fff;box-shadow:0 8px 28px #19322324;color:var(--ink);font-size:13px}.shopping-undo{padding:4px 0;border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer}.shopping-undo:hover{text-decoration:underline}
@media(max-width:980px){.personal-lists{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.personal-lists{grid-template-columns:1fr}}
.personal-list-item>.shopping-item-copy{flex-direction:row}
