/* Demo Store - small additions on top of Tailwind (CDN). */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
:focus-visible { outline: 2px solid var(--brand, #4f46e5); outline-offset: 2px; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.snap-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .75rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.snap-row::-webkit-scrollbar { display: none; }
.snap-row > * { scroll-snap-align: start; flex: 0 0 auto; }
.prose-ds p { margin-bottom: .9rem; line-height: 1.7; }
.prose-ds ul { list-style: disc; padding-left: 1.25rem; margin-bottom: .9rem; }
.btn-loading { position: relative; color: transparent !important; pointer-events: none; }
.btn-loading::after { content: ""; position: absolute; inset: 0; margin: auto; width: 1.1rem; height: 1.1rem; border: 2px solid #fff; border-top-color: transparent; border-radius: 50%; animation: ds-spin .7s linear infinite; }
@keyframes ds-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; scroll-behavior: auto !important; } }

/* ===== Cream / editorial storefront style ===== */
:root { --heading: #1e2a5e; --ink: #2b2b22; --line: rgba(70, 60, 30, .28); --edge: #1c1c14; --serif: 'Merriweather', Georgia, 'Times New Roman', serif; }

/* serif headings in the heading colour (classes with their own colour still win) */
main h1, main h2, main h3, footer h2 { font-family: var(--serif); color: var(--heading); letter-spacing: -.01em; }
main .pcard h3 { font-family: inherit; letter-spacing: .01em; }

/* soft, translucent panels on the cream background */
main .rounded-2xl.bg-white, main .rounded-3xl.bg-white { background-color: rgba(255, 255, 255, .5) !important; }
footer.border-t { background-color: rgba(255, 255, 255, .35) !important; }

/* banner slider: big rounded box with a hard offset shadow */
[data-slider] { padding: 4px 12px 14px 4px; }
.slide { border: 2px solid var(--edge); border-radius: 1.75rem; box-shadow: 5px 6px 0 var(--edge); background: var(--brand-tint, #fdf1cf); }

/* category chips: outlined pills */
.chip { background: transparent !important; border-color: var(--line) !important; color: var(--ink); white-space: nowrap; }

/* product cards */
article.pcard { background-color: rgba(255, 255, 255, .35); border: 1px solid var(--line); border-radius: 1.15rem; box-shadow: none; }
article.pcard:hover { box-shadow: 3px 4px 0 var(--line); }
.pcard h3 { text-transform: uppercase; font-weight: 800; color: var(--heading); }
.pcard .pcard-cat { color: var(--ink) !important; font-weight: 500; letter-spacing: .03em; }
.pcard button[data-wish-toggle] { background: transparent; border-color: var(--line); }
.pcard .bg-indigo-600 { border-radius: .8rem; }

/* bottom navigation: serif labels, quiet icons */
.ds-bottomnav a { font-family: var(--serif); font-weight: 400; }
.ds-bottomnav a[aria-current] { font-weight: 700; }

/* floating button */
a[aria-label="Contact"] { overflow: hidden; }
