:root {
  --store-cream: #fffdf8;
  --store-warm: #f5a623;
  --store-leaf: #4d8a59;
  --store-earth-700: #4d483d;
  --store-earth-900: #252219;
}

.store-card { transition: transform 160ms ease, box-shadow 160ms ease; }
.store-card:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(37, 34, 25, .09); }
.store-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: .75rem; padding: .75rem 1.25rem; font-weight: 600; transition: background 160ms ease, color 160ms ease; }
.store-button-primary { background: var(--store-leaf); color: white; }
.store-button-primary:hover { background: #3d6e47; }
.store-button-secondary { border: 1px solid #c5dcc9; background: white; color: #32573a; }
.store-button-secondary:hover { background: #f4f8f5; }
.store-carousel { scrollbar-width: thin; scroll-snap-type: x mandatory; }
.store-carousel > * { scroll-snap-align: center; }
.store-sticky { padding-bottom: max(.75rem, env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .store-sticky { display: none; } }
@media (max-width: 767px) { body { padding-bottom: 84px; } }
.day-nutrition-row { animation: dayNutritionFadeIn 500ms ease both; }
@keyframes dayNutritionFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .day-nutrition-row { animation: none; } }

/* ================= Store shop: covers, spotlight, trust ================= */

/* Bookshelf grid */
.book-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
@media (min-width: 640px) { .book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem 1.25rem; } }
@media (min-width: 1024px) { .book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Cover tile */
.book-cover { display: block; text-decoration: none; color: inherit; transition: transform .18s ease; }
a.book-cover:hover { transform: translateY(-4px); }
a.book-cover:hover .book-cover-art { box-shadow: 0 16px 34px rgba(37, 34, 25, .24); }

/* Art box reserves space via aspect-ratio (CLS-safe) */
.book-cover-art { position: relative; aspect-ratio: 3 / 4; border-radius: .85rem; overflow: hidden; background: #E8E6DF; box-shadow: 0 8px 22px rgba(37, 34, 25, .16); }
.book-cover-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.book-cover-scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,18,12,.9) 0%, rgba(20,18,12,.48) 34%, rgba(20,18,12,.06) 62%, rgba(20,18,12,0) 100%); }
.book-cover-overlay { position: absolute; left: 0; right: 0; bottom: 0; padding: .9rem .9rem 1rem; color: #fff; }
.book-cover-eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #EAE5D7; margin-bottom: .25rem; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.book-cover-titletext { font-size: 1.35rem; line-height: 1.12; color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.book-cover-format { font-size: .74rem; color: #DCD6C8; margin-top: .4rem; text-shadow: 0 1px 3px rgba(0,0,0,.5); }

/* No-photo covers (gift card): branded gradient */
.book-tint-leaf { background: linear-gradient(155deg, #4D8A59, #32573A); }
.book-tint-amber { background: linear-gradient(155deg, #E6A817, #B57A08); }
.book-tint-earth { background: linear-gradient(155deg, #6B6456, #363329); }
.book-cover-art.book-tint-leaf .book-cover-scrim,
.book-cover-art.book-tint-amber .book-cover-scrim,
.book-cover-art.book-tint-earth .book-cover-scrim { background: linear-gradient(to top, rgba(20,18,12,.5), rgba(20,18,12,0) 70%); }

/* Coming-soon: greyed + dimmed, never a dead end */
.book-cover--soon { cursor: default; }
.book-cover--soon .book-cover-photo { filter: grayscale(.7) brightness(.72); }
.book-cover--soon .book-cover-art { box-shadow: 0 6px 16px rgba(37, 34, 25, .12); }

/* Badge */
.book-badge { position: absolute; top: .6rem; right: .6rem; background: rgba(37,34,25,.92); color: #fff; font-size: .7rem; font-weight: 600; letter-spacing: .02em; padding: .28rem .6rem; border-radius: 999px; }
.book-badge--free { background: #4D8A59; }

/* Meta below cover */
.book-cover-meta { padding-top: .6rem; }
.book-cover-price { font-size: 1.05rem; font-weight: 700; color: #252219; }
.book-cover-after { font-size: .78rem; font-weight: 400; color: #8F8778; margin-left: .3rem; }
.book-cover-price--free { color: #3D6E47; }
.book-cover-price--soon { color: #8F8778; font-weight: 600; font-size: .92rem; }

/* Trust bar (below hero) */
.trust-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem .7rem; }
.trust-chip { display: inline-flex; align-items: center; gap: .4rem; background: #fff; border: 1px solid #E8E6DF; border-radius: 999px; padding: .45rem .85rem; font-size: .85rem; color: #4D483D; }
.trust-chip svg { color: #4D8A59; flex-shrink: 0; }

/* Flagship spotlight */
.spotlight { background: #fff; border: 1px solid #E8E6DF; border-radius: 1.25rem; box-shadow: 0 12px 32px rgba(37,34,25,.09); overflow: hidden; }
.spotlight-cover { position: relative; aspect-ratio: 4 / 3; }
@media (min-width: 900px) { .spotlight-cover { aspect-ratio: auto; height: 100%; min-height: 360px; } }
.spotlight-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spotlight-price { font-size: 2.6rem; font-weight: 700; color: #252219; line-height: 1; }
.spotlight-after { font-size: .95rem; font-weight: 400; color: #8F8778; }
.spotlight-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 1.6rem; background: #4D8A59; color: #fff; font-weight: 600; font-size: 1.05rem; border-radius: .75rem; text-decoration: none; transition: background .18s ease; }
.spotlight-cta:hover { background: #3D6E47; }
