
:root{
  --primary:#DA70D6; /* Orchid Purple */
  --secondary:#FFD1DC; /* Pastel Pink */
  --bg:#F0F4F0; /* Sage White */
  --text:#2D2D2D;
  --muted:#666666;
  --success:#52C41A;
  --warning:#FAAD14;
}
html,body{height:100%;background:var(--bg);color:var(--text);}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;padding:.75rem 1.25rem;font-weight:700;border:2px solid transparent;transition:.2s;}
.btn-primary{background:var(--primary);color:white;}
.btn-primary:hover{filter:brightness(.95);}
.btn-secondary{background:white;border-color:var(--primary);color:var(--primary);}
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:9999px;background:#fff;border:1px solid rgba(0,0,0,.06);font-size:.8rem;}
.card{background:white;border-radius:1.25rem;box-shadow:0 8px 30px rgba(0,0,0,.06);overflow:hidden;border:1px solid rgba(0,0,0,.04);}
.sticky-cart{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;background:#2D2D2D;color:white;border-radius:9999px;padding:.6rem 1rem;display:flex;gap:.8rem;align-items:center;box-shadow:0 10px 40px rgba(0,0,0,.25);z-index:50;}
.grid-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:20px;z-index:60;}
.modal.active{display:flex;}
.modal-panel{background:white;border-radius:1rem;max-width:720px;width:100%;padding:1rem;box-shadow:0 10px 40px rgba(0,0,0,.25);}
.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700;}
.hero{background:linear-gradient(180deg, rgba(218,112,214,.06), transparent 40%), radial-gradient(1000px 400px at 100% 0%, rgba(255,209,220,.35), transparent 60%), radial-gradient(700px 300px at 0% 100%, rgba(240,244,240,.6), transparent 60%);border-bottom:1px solid rgba(0,0,0,.06);}
.toast{position:fixed;right:16px;bottom:16px;background:#2D2D2D;color:white;padding:.75rem 1rem;border-radius:.75rem;display:none;z-index:70;}
.toast.show{display:block;}
footer{color:#555;}
.small{font-size:.92rem;color:var(--muted);}
.product-img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block;}
@media (max-width: 640px){
  .grid-products{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;}
}
