:root{color-scheme:light;--bg: #f6f1ea;--surface: #fffdf9;--ink: #1f1a17;--muted: #6d6258;--accent: #8b4f2a;--accent-soft: #ead8c8;--border: #e4d7cb;--shadow: 0 18px 40px rgba(47, 34, 22, .08);font-family:DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background:radial-gradient(circle at top left,#fff8ef 0%,transparent 45%),radial-gradient(circle at bottom right,#efe4d7 0%,transparent 40%),var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px}h1,h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;line-height:1.1;margin:0}.app{max-width:1280px;margin:0 auto;padding:2rem 1.25rem 4rem}.hero{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;margin-bottom:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--accent);margin:0 0 .5rem}.hero h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:.75rem}.hero__lead{max-width:42rem;color:var(--muted);margin:0}.hero__stats{display:flex;gap:1rem}.hero__stats div{min-width:7rem;padding:1rem 1.1rem;border-radius:1rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}.hero__stats span{display:block;font-size:1.8rem;font-family:Cormorant Garamond,Georgia,serif}.hero__stats small{color:var(--muted)}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.75rem}.filter-bar__search label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.filter-bar__search input{width:100%;border:1px solid var(--border);border-radius:.8rem;padding:.8rem 1rem;font:inherit;background:#fff}.filter-group{margin-top:1rem}.filter-group__label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.45rem}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip-row--scroll{max-height:6.5rem;overflow:auto;padding-right:.25rem}.chip,.btn-ghost,.btn-primary{border-radius:999px;border:1px solid var(--border);background:#fff;padding:.45rem .9rem;font:inherit;cursor:pointer}.chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-bar__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.92rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:1.2rem;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.product-card__media{position:relative;aspect-ratio:1;background:#f0e7dd}.product-card__media img{width:100%;height:100%;object-fit:cover}.product-card__placeholder{height:100%;display:grid;place-items:center;color:var(--muted)}.badge{position:absolute;top:.75rem;left:.75rem;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.badge--warn{background:#fff3cd;color:#7a5b00}.product-card__body{padding:1rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.65rem;flex:1}.product-card__body h2{font-size:1.25rem}.product-card__meta{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.85rem}.product-card__meta span{background:var(--accent-soft);color:var(--accent);padding:.15rem .55rem;border-radius:999px}.product-card__notes{margin:0;color:var(--muted);font-size:.92rem}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem}.tag{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border)}.tag--occasion{background:#f8efe7}.tag--season{background:#eef4f0}.product-card__pricing{margin-top:auto;display:flex;flex-direction:column;gap:.15rem}.price-old{color:var(--muted);font-size:.85rem;text-decoration:line-through}.price-sale{font-size:1.1rem;color:var(--accent)}.price-sale--missing{color:var(--muted)}.product-card__sources summary{cursor:pointer;color:var(--muted);font-size:.82rem}.product-card__sources ul{margin:.35rem 0 0;padding-left:1rem}.product-card__sources a{color:var(--accent);font-size:.82rem}.empty-state{text-align:center;padding:3rem 1rem;background:var(--surface);border-radius:1.2rem;border:1px dashed var(--border)}.empty-state p{color:var(--muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;margin-top:1rem}@media(max-width:768px){.hero{flex-direction:column;align-items:stretch}.hero__stats{width:100%}.hero__stats div{flex:1}}
