diff --git a/.gitignore b/.gitignore index f69c3e6..dc732bd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ node_modules/* .next next-env.d.ts .yarn/install-state.gz +.env*.local +tsconfig.tsbuildinfo diff --git a/app/collections/[handle]/page.tsx b/app/collections/[handle]/page.tsx index a2a3ba2..1ffd06d 100644 --- a/app/collections/[handle]/page.tsx +++ b/app/collections/[handle]/page.tsx @@ -16,10 +16,7 @@ export default function Page() { > ); diff --git a/app/collections/page.tsx b/app/collections/page.tsx index cf7beef..f371c86 100644 --- a/app/collections/page.tsx +++ b/app/collections/page.tsx @@ -16,10 +16,7 @@ export default function Page() { > ); diff --git a/app/globals.css b/app/globals.css index 5c2d098..62a506f 100644 --- a/app/globals.css +++ b/app/globals.css @@ -33,6 +33,9 @@ --color-destructive: hsl(0 84.2% 60.2%); --color-destructive-foreground: hsl(0 0% 98%); + /* Shop (accelerated checkout) purple */ + --color-shop: #5a31f4; + /* Border */ --color-border: hsl(240 5.9% 90%); --color-input: hsl(240 5.9% 90%); @@ -44,10 +47,12 @@ --radius-lg: 1rem; --radius-xl: 1.25rem; - /* Enhanced typography scale */ - --font-heading: 'Space Grotesk', system-ui, sans-serif; - --font-body: 'Inter', system-ui, sans-serif; - --font-poppins: 'Poppins', system-ui, sans-serif; + /* Typography — Geist Sans / Geist Mono */ + --font-sans: var(--font-geist-sans), system-ui, sans-serif; + --font-mono: var(--font-geist-mono), ui-monospace, SFMono-Regular, monospace; + --font-heading: var(--font-geist-sans), system-ui, sans-serif; + --font-body: var(--font-geist-sans), system-ui, sans-serif; + --font-poppins: var(--font-geist-sans), system-ui, sans-serif; } /* Base styles for light, modern Shopify storefront */ @@ -71,12 +76,70 @@ body { border-color: hsl(240 5.9% 85%); } -/* Bold heading styles */ +/* Heading styles — regular weight, slightly tightened like the Geist reference */ h1, h2, .font-heading { - font-weight: 700; - letter-spacing: -0.025em; + font-weight: 400; + letter-spacing: -0.02em; +} + +/* Swipeable rows (mobile galleries) without a visible scrollbar */ +.no-scrollbar { + scrollbar-width: none; + -ms-overflow-style: none; +} + +.no-scrollbar::-webkit-scrollbar { + display: none; +} + +/* Product description (HTML returned by the Storefront API) */ +.product-description p { + margin-bottom: 1rem; +} + +.product-description > :last-child { + margin-bottom: 0; +} + +/* Shop policy body (HTML returned by the Storefront API) */ +.policy-body p, +.policy-body ul, +.policy-body ol { + margin-bottom: 1.5rem; +} + +.policy-body ul, +.policy-body ol { + padding-left: 1.25rem; + list-style: revert; +} + +.policy-body li { + margin-bottom: 0.5rem; +} + +.policy-body h2, +.policy-body h3, +.policy-body h4 { + margin-top: 2.5rem; + margin-bottom: 1rem; + font-size: 1.25rem; + font-weight: 500; +} + +.policy-body a { + text-decoration: underline; + text-underline-offset: 2px; +} + +.policy-body strong { + font-weight: 500; +} + +.policy-body > :last-child { + margin-bottom: 0; } /* Enhanced button styles */ diff --git a/app/layout.tsx b/app/layout.tsx index 2eda368..554c4c1 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -2,24 +2,16 @@ import React from 'react'; import './globals.css'; -import { Space_Grotesk, Inter, Poppins } from 'next/font/google'; +import { Geist, Geist_Mono } from 'next/font/google'; -const poppins = Poppins({ +const geist = Geist({ subsets: ['latin'], - weight: ['400', '500', '600', '700'], - variable: '--font-poppins', + variable: '--font-geist-sans', }); -const spaceGrotesk = Space_Grotesk({ +const geistMono = Geist_Mono({ subsets: ['latin'], - weight: ['400', '500', '600', '700'], - variable: '--font-heading', -}); - -const inter = Inter({ - subsets: ['latin'], - weight: ['400', '500', '600'], - variable: '--font-body', + variable: '--font-geist-mono', }); export default function RootLayout({ @@ -28,10 +20,7 @@ export default function RootLayout({ children: React.ReactNode; }) { return ( - +