:root {
  --background: #ffffff;
  --foreground: #111111;
  --primary: #ffa31e;
  --font-display: "Jacques Francois", Georgia, serif;
  --font-sans: "Varela Round", system-ui, sans-serif;
  --font-script: "Covered By Your Grace", cursive;
  --color-background: #ffffff;
  --color-foreground: #111111;
  --color-primary: #ffa31e;
  --color-primary-foreground: #ffffff;
  --color-primary-soft: #fff6e8;
  --color-muted: #f5f5f5;
  --color-muted-foreground: #999999;
  --color-border: #eeeeee;
  --color-card: #ffffff;
  --color-danger: #e53935;
  --color-success: #1f7a4d;
  --color-ink: #111111;
  --color-accent: #ffa31e;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: #111;
  font-family: var(--font-sans), system-ui, sans-serif;
  min-height: 100vh;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
.font-display { font-family: var(--font-display), serif; }
.font-script { font-family: var(--font-script), cursive; }
.object-cover { object-fit: cover; width: 100%; height: 100%; }
.h-full { height: 100%; }
.min-h-full { min-height: 100%; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-1 { flex: 1 1 auto; }
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
[hidden] { display: none !important; }
.h-5 { width: 1.25rem; height: 1.25rem; }
.w-5 { width: 1.25rem; height: 1.25rem; }
.h-4 { width: 1rem; height: 1rem; }
.w-4 { width: 1rem; height: 1rem; }

/* Framer-less float animations matching Hero */
@keyframes feelFloatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.feelHeroPlate { animation: feelFloatY 5s ease-in-out infinite; }
.feelFloatLadoo { animation: feelFloatY 4.2s ease-in-out infinite; }
.feelFloatDiya { animation: feelFloatY 3.8s ease-in-out infinite; animation-delay: .3s; }
.feelFloatFlower { animation: feelFloatY 4.6s ease-in-out infinite; animation-delay: .5s; }
.feelPriceChip { animation: feelFloatY 3.5s ease-in-out infinite; animation-delay: .2s; }

/* Simple lucide-like icon sizing for inline SVG */
.feelTrustIcon svg, .floatContactItemIcon svg, .lb-cart svg, .feelAdd svg, .floatContactFab svg {
  width: 1.25rem; height: 1.25rem; display: block;
}
.floatContactItemIcon svg { width: 1rem; height: 1rem; }

/* Admin keeps previous dark theme via app-admin.css if needed */
.alert { padding:.8rem 1rem; border-radius:10px; margin:1rem auto; width:min(1120px, calc(100% - 2rem)); }
.alert-ok { background:#e8f7ee; border:1px solid #1f7a4d55; color:#1f7a4d; }
.alert-err { background:#fdecec; border:1px solid #e5393555; color:#e53935; }