:root{--bg: #fef7f5;--ink: #141414;--purple: #8b2fe0;--green: #39ff14}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.stage{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.brand{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.6vh,24px)}.brand-logo{width:clamp(84px,16vw,160px);height:auto;filter:drop-shadow(0 8px 26px color-mix(in srgb,var(--purple) 30%,transparent))}.brand-name{margin:0;line-height:0;font-weight:inherit}.brand-wordmark{display:block;width:clamp(240px,66vw,640px);max-width:100%;height:auto}.tagline{margin-top:clamp(16px,4vh,34px);font-weight:800;letter-spacing:.06em;line-height:1.1;text-transform:uppercase;font-size:clamp(.95rem,3vw,2rem);animation:fd-color 4s steps(1,end) infinite,fd-flicker 3.4s linear infinite;will-change:color,opacity,text-shadow}@keyframes fd-color{0%,49%{color:var(--purple);text-shadow:0 0 6px color-mix(in srgb,var(--purple) 70%,transparent),0 0 22px color-mix(in srgb,var(--purple) 45%,transparent)}50%,to{color:var(--green);text-shadow:0 0 6px color-mix(in srgb,var(--green) 70%,transparent),0 0 22px color-mix(in srgb,var(--green) 45%,transparent)}}@keyframes fd-flicker{0%,18%,22%,25%,53%,57%,to{opacity:1}20%{opacity:.35}23%{opacity:.75}55%{opacity:.3}70%{opacity:.85}72%{opacity:1}}@media (prefers-reduced-motion: reduce){.tagline{animation:none;color:var(--purple);text-shadow:0 0 10px color-mix(in srgb,var(--purple) 40%,transparent)}}.legal-nav a{color:#8a8a8a;text-decoration:none}.legal-nav a:hover{color:var(--purple)}.home-impressum-link{margin-top:clamp(28px,6vh,48px);color:#a8a8a8;font-size:.75rem;text-decoration:none}.home-impressum-link:hover{color:var(--purple)}.legal-page{min-height:100dvh;max-width:720px;margin:0 auto;padding:24px 20px 64px}.legal-header{margin-bottom:24px}.legal-back{color:var(--ink);text-decoration:none;font-size:.9rem;opacity:.7}.legal-back:hover{opacity:1;color:var(--purple)}.legal-content h1{font-size:1.6rem;margin-bottom:20px}.legal-content h2{font-size:1.05rem;margin:28px 0 8px}.legal-content p{font-size:.92rem;line-height:1.65;margin-bottom:10px;color:#2a2a2a}.legal-content a{color:var(--purple)}.legal-form-block{border:1px solid #ececec;border-radius:12px;padding:16px 18px;background:#fbfbfb}.legal-nav{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem;border-top:1px solid #ececec;padding-top:20px}.shop-page{min-height:100dvh;max-width:900px;margin:0 auto;padding:24px 20px 64px}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cart-link{color:var(--ink);text-decoration:none;font-size:.9rem;border:1px solid #e6e6e6;border-radius:999px;padding:8px 16px}.cart-link:hover{border-color:var(--purple);color:var(--purple)}.shop-error{color:#d33;font-size:.9rem}.product-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:20px}.product-card{border:1px solid #ececec;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}.product-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#f2f2f2}.product-desc{font-size:.8rem;color:#666;flex-grow:1}.product-price{font-weight:700}.product-card select{font:inherit;padding:8px;border-radius:8px;border:1px solid #e6e6e6}.btn-add{cursor:pointer;font:inherit;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--purple);background:var(--purple);color:#fff;transition:opacity .15s ease}.btn-add:hover:not(:disabled){opacity:.85}.btn-add:disabled{opacity:.5;cursor:default}.cart-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:16px}.cart-line{display:grid;grid-template-columns:1fr 70px 90px auto;align-items:center;gap:10px;font-size:.9rem}.cart-line input[type=number]{width:100%;padding:6px;border-radius:8px;border:1px solid #e6e6e6;font:inherit}.cart-remove{cursor:pointer;background:none;border:none;color:#999;font-size:.8rem;text-decoration:underline}.cart-total{margin-top:16px;font-weight:700;font-size:1.1rem}.checkout-form{margin-top:24px;display:flex;flex-direction:column;gap:12px;max-width:420px}.checkout-form label{font-size:.85rem;color:#555}.checkout-form input[type=email]{padding:10px 14px;border-radius:8px;border:1px solid #e6e6e6;font:inherit}
