/* ── Storefront & Registration Styles ── */
:root {
  --sf-black: #101010;
  --sf-accent: #b8703e;
  --sf-cream: #f5f1eb;
  --sf-linen: #ece6dc;
}

/* ── Vendor Registration ── */
.vendor-reg { max-width: 1100px; margin: 0 auto 4rem; padding: 8.5rem 2rem 0; }
.vendor-reg__hero { text-align: center; margin-bottom: 3rem; }
.vendor-reg__title { font-family: 'Playfair Display', serif; font-size: 2.8rem; color: var(--sf-black); margin-bottom: 0.5rem; }
.vendor-reg__subtitle { font-family: 'DM Sans', sans-serif; font-size: 1.15rem; color: #666; max-width: 500px; margin: 0 auto; }
.vendor-reg__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; align-items: start; }
.vendor-reg__form-col .form-item { margin-bottom: 1.5rem; }
.vendor-reg__form-col label { display: block; font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--sf-black); margin-bottom: 0.4rem; }
.vendor-reg__form-col input[type="text"],
.vendor-reg__form-col input[type="email"],
.vendor-reg__form-col input[type="password"],
.vendor-reg__form-col input[type="number"],
.vendor-reg__form-col textarea,
.vendor-reg__form-col select { width: 100%; padding: 0.75rem 1rem; border: 1px solid #ddd; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; background: #fff; transition: border-color 0.2s; }
.vendor-reg__form-col input:focus,
.vendor-reg__form-col textarea:focus,
.vendor-reg__form-col select:focus { outline: none; border-color: var(--sf-accent); }
.vendor-reg-submit,
.btn-accent { display: inline-block; padding: 0.9rem 2.5rem; background: var(--sf-accent); color: #fff; border: none; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 1rem; cursor: pointer; transition: background 0.3s; text-decoration: none; }
.vendor-reg-submit:hover,
.btn-accent:hover { background: #a0612f; }
.vendor-reg__account-info { padding: 1rem; background: var(--sf-cream); border-radius: 6px; margin-bottom: 1rem; }
.vendor-reg__benefits-col h3 { font-family: 'Playfair Display', serif; font-size: 1.4rem; margin-bottom: 1.5rem; }
.vendor-reg__benefits { list-style: none; padding: 0; margin: 0; }
.vendor-reg__benefits li { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--sf-linen); }
.vendor-reg__benefits li:last-child { border-bottom: none; }
.vendor-reg__benefit-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; background: var(--sf-cream); border-radius: 10px; color: var(--sf-accent); font-family: 'Space Mono', monospace; font-weight: 700; font-size: 0.85rem; }
.vendor-reg__benefits strong { display: block; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; margin-bottom: 0.2rem; }
.vendor-reg__benefits p { font-size: 0.85rem; color: #777; margin: 0; }

/* ── Onboarding Checklist ── */
.vendor-checklist { background: var(--sf-cream); border-radius: 12px; padding: 2rem; margin-bottom: 2rem; }
.vendor-checklist__title { font-family: 'Playfair Display', serif; font-size: 1.3rem; margin-bottom: 0.5rem; }
.vendor-checklist__progress { height: 4px; background: var(--sf-linen); border-radius: 2px; margin-bottom: 1.5rem; overflow: hidden; }
.vendor-checklist__progress-bar { height: 100%; background: var(--sf-accent); border-radius: 2px; transition: width 0.5s ease; }
.vendor-checklist__items { list-style: none; padding: 0; margin: 0; }
.vendor-checklist__item { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid rgba(0,0,0,0.06); }
.vendor-checklist__item:last-child { border-bottom: none; }
.vendor-checklist__check { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #ccc; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
.vendor-checklist__item--done .vendor-checklist__check { background: var(--sf-accent); border-color: var(--sf-accent); color: #fff; }
.vendor-checklist__item--done .vendor-checklist__label { text-decoration: line-through; opacity: 0.6; }
.vendor-checklist__label { flex: 1; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; }
.vendor-checklist__label a { color: var(--sf-accent); text-decoration: none; }
.vendor-checklist__label a:hover { text-decoration: underline; }

/* ── Store List ── */
.storefront-list { max-width: 1100px; margin: 0 auto 3rem; padding: 8.5rem 2rem 0; }
.storefront-list__header { text-align: center; margin-bottom: 3rem; }
.storefront-list__header h1 { font-family: 'Playfair Display', serif; font-size: 2.4rem; color: var(--sf-black); margin-bottom: 0.5rem; }
.storefront-list__header p { font-family: 'DM Sans', sans-serif; color: #666; font-size: 1.1rem; }
.storefront-list__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.store-card { display: block; background: #fff; border: 1px solid var(--sf-linen); border-radius: 12px; padding: 2rem; text-decoration: none; color: var(--sf-black); transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s; }
.store-card:hover { transform: translateY(-4px); border-color: var(--sf-accent); box-shadow: 0 8px 30px rgba(0,0,0,0.08); }
.store-card__initial { width: 50px; height: 50px; border-radius: 12px; background: var(--sf-accent); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; margin-bottom: 1rem; }
.store-card__name { font-family: 'Playfair Display', serif; font-size: 1.2rem; margin-bottom: 0.5rem; }
.store-card__desc { font-family: 'DM Sans', sans-serif; font-size: 0.85rem; color: #777; line-height: 1.5; margin-bottom: 1rem; }
.store-card__meta { display: flex; justify-content: space-between; align-items: center; font-family: 'Space Mono', monospace; font-size: 0.8rem; color: var(--sf-accent); }
.store-card__arrow { font-size: 1.2rem; }
.storefront-list__empty { text-align: center; padding: 4rem 2rem; background: var(--sf-cream); border-radius: 12px; }
.storefront-list__empty p { margin-bottom: 1.5rem; font-size: 1.1rem; color: #666; }

/* ── Store Page ── */
.storefront-page { max-width: 1100px; margin: 0 auto 2rem; padding: 8.5rem 2rem 0; }
.storefront-page__breadcrumb { font-family: 'DM Sans', sans-serif; font-size: 0.85rem; color: #999; margin-bottom: 2rem; }
.storefront-page__breadcrumb a { color: #999; text-decoration: none; }
.storefront-page__breadcrumb a:hover { color: var(--sf-accent); }
.storefront-page__hero-banner { position: relative; margin: 0 0 1.4rem; border-radius: 16px; overflow: hidden; border: 1px solid #e7dccf; min-height: 260px; display: grid; align-items: stretch; }
.storefront-page__hero-banner-media { position: absolute; inset: 0; }
.storefront-page__hero-banner-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.storefront-page__hero-banner-overlay { position: relative; z-index: 2; padding: 1.55rem; color: #fff; background: linear-gradient(120deg, rgba(22,20,18,.76) 0%, rgba(22,20,18,.22) 65%, rgba(22,20,18,.08) 100%); max-width: 680px; }
.storefront-page__hero-kicker { margin: 0 0 0.4rem; font-family: 'Space Mono', monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.11em; opacity: 0.88; }
.storefront-page__hero-banner-overlay h2 { margin: 0; font-family: 'Playfair Display', serif; font-size: clamp(1.4rem, 2.4vw, 2.2rem); }
.storefront-page__hero-banner-overlay p { margin: 0.55rem 0 0.9rem; max-width: 560px; font-family: 'DM Sans', sans-serif; font-size: 0.92rem; line-height: 1.6; color: rgba(255,255,255,.92); }
.storefront-page__hero-banner--centered { display: grid; place-items: center; }
.storefront-page__hero-banner--centered .storefront-page__hero-banner-overlay { margin: 0 auto; text-align: center; max-width: 760px; background: linear-gradient(120deg, rgba(22,20,18,.62) 0%, rgba(22,20,18,.32) 60%, rgba(22,20,18,.18) 100%); }
.storefront-page__hero-banner--centered .storefront-page__hero-banner-overlay p { margin-left: auto; margin-right: auto; }
.storefront-page__hero-banner--full_bleed { min-height: 360px; }
.storefront-page__hero-banner--full_bleed .storefront-page__hero-banner-overlay { height: 100%; max-width: 100%; display: grid; align-content: end; padding: 2.1rem 2rem; background: linear-gradient(180deg, rgba(10,8,7,.05) 0%, rgba(10,8,7,.62) 60%, rgba(10,8,7,.86) 100%); }
.storefront-page__hero-banner--full_bleed .storefront-page__hero-banner-overlay h2 { font-size: clamp(1.55rem, 3vw, 2.45rem); }
.storefront-page__hero-banner--full_bleed .storefront-page__hero-banner-overlay p { max-width: 700px; color: rgba(255,255,255,.95); }
.storefront-page--digital .storefront-page__artist-hero { background: linear-gradient(135deg, #f7f5ff 0%, #f2edff 45%, #fff 100%); }
.storefront-page--services .storefront-page__artist-hero { background: linear-gradient(135deg, #f2faf9 0%, #eef8f5 45%, #fff 100%); }
.storefront-page--education .storefront-page__artist-hero { background: linear-gradient(135deg, #fffaf3 0%, #fff4e5 45%, #fff 100%); }

.storefront-page--preset-minimal .storefront-page__hero-banner-overlay {
  background: linear-gradient(120deg, rgba(17,17,17,.64) 0%, rgba(17,17,17,.2) 70%, rgba(17,17,17,.08) 100%);
}
.storefront-page--preset-minimal .storefront-page__btn--fill,
.storefront-page--preset-minimal .product-card__cta--primary { background: #111; border-color: #111; }
.storefront-page--preset-minimal .storefront-page__btn--fill:hover,
.storefront-page--preset-minimal .product-card__cta--primary:hover { background: #000; border-color: #000; }

.storefront-page--preset-vibrant .storefront-page__hero-banner-overlay {
  background: linear-gradient(120deg, rgba(64,34,110,.76) 0%, rgba(192,66,120,.45) 70%, rgba(255,136,72,.2) 100%);
}
.storefront-page--preset-vibrant .storefront-page__btn--fill,
.storefront-page--preset-vibrant .product-card__cta--primary { background: #c04278; border-color: #c04278; }
.storefront-page--preset-vibrant .storefront-page__btn--fill:hover,
.storefront-page--preset-vibrant .product-card__cta--primary:hover { background: #9d2f5f; border-color: #9d2f5f; }

.storefront-page--preset-luxe .storefront-page__hero-banner-overlay {
  background: linear-gradient(120deg, rgba(21,17,14,.82) 0%, rgba(21,17,14,.35) 75%, rgba(21,17,14,.1) 100%);
}
.storefront-page--preset-luxe .storefront-page__btn--fill,
.storefront-page--preset-luxe .product-card__cta--primary { background: #8e6a3f; border-color: #8e6a3f; }
.storefront-page--preset-luxe .storefront-page__btn--fill:hover,
.storefront-page--preset-luxe .product-card__cta--primary:hover { background: #6f512f; border-color: #6f512f; }

.storefront-page--font-manrope .storefront-page__title,
.storefront-page--font-manrope .storefront-page__hero-banner-overlay h2,
.storefront-page--font-manrope .storefront-page__artist-section-title,
.storefront-page--font-manrope .storefront-page__legal h3,
.storefront-page--font-manrope .storefront-page__landing-content h2,
.storefront-page--font-manrope .storefront-page__landing-content h3 { font-family: 'Manrope', 'DM Sans', sans-serif; }

.storefront-page--font-inter .storefront-page__title,
.storefront-page--font-inter .storefront-page__hero-banner-overlay h2,
.storefront-page--font-inter .storefront-page__artist-section-title,
.storefront-page--font-inter .storefront-page__legal h3,
.storefront-page--font-inter .storefront-page__landing-content h2,
.storefront-page--font-inter .storefront-page__landing-content h3 { font-family: 'Inter', 'DM Sans', sans-serif; }

.storefront-page__artist-hero { display: grid; grid-template-columns: 1.7fr 0.9fr; gap: 2rem; margin-bottom: 2.2rem; padding: 2rem; border: 1px solid var(--sf-linen); border-radius: 16px; background: linear-gradient(135deg, #fff 0%, #f9f6f1 100%); }
.storefront-page__artist-main { display: flex; gap: 1.4rem; align-items: flex-start; }
.storefront-page__artist-avatar { width: 84px; height: 84px; min-width: 84px; border-radius: 16px; background: var(--sf-accent); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; overflow: hidden; }
.storefront-page__artist-avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.storefront-page__eyebrow { font-family: 'Space Mono', monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sf-accent); margin: 0 0 0.55rem; }
.storefront-page__title { font-family: 'Playfair Display', serif; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.2; margin: 0; color: var(--sf-black); }
.storefront-page__tagline { margin: 0.55rem 0 0; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; color: #5f5348; font-weight: 500; }
.storefront-page__artist-meta { margin: 0.65rem 0 0; font-family: 'DM Sans', sans-serif; font-size: 0.88rem; color: #766d64; }
.storefront-page__artist-socials { display: flex; gap: 0.75rem; margin: 0.65rem 0 0; font-family: 'DM Sans', sans-serif; font-size: 0.86rem; }
.storefront-page__artist-socials a { color: #6f4a2d; text-decoration: none; }
.storefront-page__artist-socials a:hover { color: var(--sf-accent); text-decoration: underline; }
.storefront-page__artist-bio { margin: 0.9rem 0 0; font-family: 'DM Sans', sans-serif; font-size: 0.98rem; line-height: 1.75; color: #4a433c; max-width: 680px; }
.storefront-page__artist-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.15rem; }
.storefront-page__btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.7rem 1.2rem; border-radius: 8px; font-family: 'DM Sans', sans-serif; font-size: 0.82rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; }
.storefront-page__btn--fill { background: var(--sf-accent); color: #fff; border: 1px solid var(--sf-accent); }
.storefront-page__btn--fill:hover { background: #a0612f; border-color: #a0612f; }
.storefront-page__btn--ghost { background: #fff; color: var(--sf-black); border: 1px solid #d8cfc2; }
.storefront-page__btn--ghost:hover { border-color: var(--sf-accent); color: var(--sf-accent); }
.storefront-page__artist-stats { display: grid; gap: 0.8rem; align-content: start; }
.storefront-page__stat { border: 1px solid #e6ddd2; background: #fff; border-radius: 10px; padding: 0.9rem 1rem; }
.storefront-page__stat-value { display: block; font-family: 'Playfair Display', serif; font-size: 1.12rem; color: #201d1a; }
.storefront-page__stat-label { display: block; margin-top: 0.2rem; font-family: 'DM Sans', sans-serif; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8b8075; }
.storefront-page__artist-section { margin: 0 0 2rem; border: 1px solid var(--sf-linen); border-radius: 12px; background: #fff; padding: 1.5rem; }
.storefront-page__artist-section h2 { margin: 0 0 0.9rem; font-family: 'Playfair Display', serif; font-size: 1.45rem; color: var(--sf-black); }
.storefront-page__artist-section-body { font-family: 'DM Sans', sans-serif; color: #4a433c; line-height: 1.85; font-size: 0.95rem; }
.storefront-page__artist-section-body p:last-child { margin-bottom: 0; }
.storefront-page__landing { margin: 0 0 2rem; border: 1px solid #e7dccf; border-radius: 12px; background: #fff; padding: 1.3rem 1.45rem; }
.storefront-page__landing-content { font-family: 'DM Sans', sans-serif; color: #453f38; line-height: 1.86; font-size: 0.95rem; }
.storefront-page__landing-content h2,
.storefront-page__landing-content h3 { font-family: 'Playfair Display', serif; color: #1f1c19; margin-top: 0.2rem; }
.storefront-page__landing-content p:last-child { margin-bottom: 0; }
.storefront-page__landing-blocks { margin: 0 0 1.8rem; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.8rem; }
.storefront-page__landing-block { border: 1px solid #e2d5c7; border-radius: 10px; padding: 0.9rem; background: #fff; display: grid; gap: 0.46rem; will-change: transform, opacity; }
.storefront-page__landing-block h3 { margin: 0; font-family: 'Playfair Display', serif; font-size: 1rem; color: #1f1c19; }
.storefront-page__landing-block p { margin: 0; font-family: 'DM Sans', sans-serif; font-size: 0.86rem; line-height: 1.65; color: #403830; }
.storefront-page__landing-block--accent { border-color: rgba(184,112,62,.35); background: #fff7f1; }
.storefront-page__landing-block--contrast { border-color: #ccb89f; background: #f9f2e8; }
.storefront-page__trust-strip { margin: 0 0 1.4rem; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.7rem; }
.storefront-page__trust-item { border: 1px solid #e2d5c7; border-radius: 10px; padding: 0.72rem 0.8rem; background: #fff; display: grid; gap: 0.18rem; }
.storefront-page__trust-item strong { font-family: 'DM Sans', sans-serif; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: #6f5b47; }
.storefront-page__trust-item span { font-family: 'DM Sans', sans-serif; font-size: 0.86rem; color: #3d362f; }
.storefront-page__legal { margin: 0 0 2rem; border: 1px solid var(--sf-linen); border-radius: 12px; background: #fff; padding: 1.2rem 1.5rem; }
.storefront-page__legal h2 { margin: 0 0 0.8rem; font-family: 'Playfair Display', serif; font-size: 1.18rem; color: var(--sf-black); }
.storefront-page__legal-links { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.storefront-page__legal-link { display: inline-flex; align-items: center; padding: 0.5rem 0.85rem; border: 1px solid #ddd1c3; border-radius: 999px; text-decoration: none; font-family: 'DM Sans', sans-serif; font-size: 0.82rem; color: #4a433c; background: #fff; }
.storefront-page__legal-link:hover { border-color: var(--sf-accent); color: var(--sf-accent); }

/* ── Store Legal Pages ── */
.store-legal-page { max-width: 980px; margin: 0 auto 3rem; padding: 8.5rem 2rem 0; }
.store-legal-page__breadcrumb { font-family: 'DM Sans', sans-serif; font-size: 0.84rem; color: #95897f; margin-bottom: 1rem; }
.store-legal-page__breadcrumb a { color: #95897f; text-decoration: none; }
.store-legal-page__breadcrumb a:hover { color: var(--sf-accent); }
.store-legal-page__header { margin-bottom: 1rem; padding: 1.3rem 1.4rem; border: 1px solid var(--sf-linen); border-radius: 12px; background: linear-gradient(135deg, #fff 0%, #f8f4ed 100%); }
.store-legal-page__eyebrow { margin: 0 0 0.35rem; font-family: 'Space Mono', monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--sf-accent); }
.store-legal-page__header h1 { margin: 0; font-family: 'Playfair Display', serif; font-size: 1.95rem; color: var(--sf-black); }
.store-legal-page__header p { margin: 0.4rem 0 0; font-family: 'DM Sans', sans-serif; color: #6f655c; }
.store-legal-page__content { border: 1px solid var(--sf-linen); border-radius: 12px; background: #fff; padding: 1.5rem; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; line-height: 1.85; color: #4a433c; }
.store-legal-page__content h2,
.store-legal-page__content h3 { font-family: 'Playfair Display', serif; color: #1f1c19; margin-top: 0.2rem; }
.store-legal-page__content h2 { font-size: 1.45rem; }
.store-legal-page__content h3 { font-size: 1.15rem; margin-top: 1rem; }
.store-legal-page__content p:last-child { margin-bottom: 0; }
.store-legal-page__footer { margin-top: 0.9rem; }
.store-legal-page__back { display: inline-flex; align-items: center; text-decoration: none; font-family: 'DM Sans', sans-serif; font-size: 0.86rem; color: var(--sf-accent); }
.store-legal-page__back:hover { text-decoration: underline; }

.storefront-page__tools { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 0.75rem; margin: 0 0 1.1rem; }
.storefront-page__search,
.storefront-page__select { width: 100%; border: 1px solid #ddd1c3; border-radius: 8px; background: #fff; padding: 0.68rem 0.85rem; font-family: 'DM Sans', sans-serif; font-size: 0.9rem; color: #2b2520; }
.storefront-page__search:focus,
.storefront-page__select:focus { outline: none; border-color: var(--sf-accent); box-shadow: 0 0 0 3px rgba(184, 112, 62, 0.13); }
.storefront-page__products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.product-card { display: block; background: #fff; border: 1px solid var(--sf-linen); border-radius: 10px; overflow: hidden; text-decoration: none; color: var(--sf-black); transition: transform 0.3s, box-shadow 0.3s; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,0.08); }
.product-card__placeholder { height: 180px; background: var(--sf-cream); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-card__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-card__info { padding: 1.2rem; }
.product-card__title { font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 600; margin-bottom: 0.4rem; }
.product-card__price { font-family: 'Space Mono', monospace; font-size: 0.9rem; color: var(--sf-accent); font-weight: 700; }
.product-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.6rem; margin-top: 0.7rem; }
.product-card__actions { display: inline-flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; justify-content: flex-end; }
.product-card__cta { display: inline-flex; align-items: center; justify-content: center; padding: 0.45rem 0.65rem; border-radius: 8px; border: 1px solid #d6c8b8; text-decoration: none; font-family: 'DM Sans', sans-serif; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; color: #5d5043; font-weight: 700; background: #fff; }
.product-card__cta:hover { border-color: var(--sf-accent); color: var(--sf-accent); }
.product-card__cta--primary { background: var(--sf-accent); border-color: var(--sf-accent); color: #fff; }
.product-card__cta--primary:hover { background: #9c5c2f; border-color: #9c5c2f; color: #fff; }
.storefront-page__empty { text-align: center; padding: 4rem 2rem; background: var(--sf-cream); border-radius: 12px; color: #666; }

.storefront-page [data-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--reveal-duration, .45s) var(--reveal-ease, ease), transform var(--reveal-duration, .45s) var(--reveal-ease, ease);
  transition-delay: var(--reveal-delay, 0ms);
}
.storefront-page [data-reveal][data-reveal-style="slide_left"] { transform: translateX(-22px); }
.storefront-page [data-reveal][data-reveal-style="slide_right"] { transform: translateX(22px); }
.storefront-page [data-reveal][data-reveal-style="zoom_in"] { transform: scale(.94); }
.storefront-page [data-reveal][data-reveal-style="fade_up"] { transform: translateY(18px); }
.storefront-page [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

.storefront-page--anim-lift [data-reveal] {
  transform: translateY(20px) scale(.985);
  transition: opacity .5s ease, transform .5s ease;
}

.storefront-page--anim-cinematic [data-reveal] {
  transform: translateY(28px);
  transition: opacity .65s cubic-bezier(.17,.84,.44,1), transform .65s cubic-bezier(.17,.84,.44,1);
}

.storefront-page--anim-none [data-reveal] {
  opacity: 1;
  transform: none;
  transition: none;
}

/* ── Simple Product Form ── */
.simple-product-form { max-width: 600px; margin: 0 auto 2rem; padding: 2rem; background: #fff; border-radius: 12px; border: 1px solid var(--sf-linen); }

/* ── Vendor Store Settings ── */
.vendor-store-settings { max-width: 980px; margin: 0 auto 3rem; padding: 8.5rem 2rem 0; }
.vendor-store-settings__intro { margin-bottom: 1.2rem; padding: 1.4rem; border: 1px solid var(--sf-linen); border-radius: 12px; background: linear-gradient(135deg, #fff 0%, #f8f4ed 100%); }
.vendor-store-settings__intro h2 { margin: 0 0 0.4rem; font-family: 'Playfair Display', serif; font-size: 1.9rem; color: var(--sf-black); }
.vendor-store-settings__intro p { margin: 0 0 0.6rem; font-family: 'DM Sans', sans-serif; color: #6f655c; line-height: 1.7; }
.vendor-store-settings__meta { font-family: 'Space Mono', monospace; font-size: 0.76rem; color: #8b7f73; margin-bottom: 0.6rem; }
.vendor-store-settings__wizard { margin-bottom: 1rem; padding: 0.95rem 1rem; border: 1px solid #e5d7c8; border-radius: 10px; background: #fff; }
.vendor-store-settings__wizard-head { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; margin-bottom: 0.55rem; font-family: 'DM Sans', sans-serif; }
.vendor-store-settings__status { display: inline-flex; align-items: center; padding: 0.3rem 0.62rem; border-radius: 999px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.vendor-store-settings__status--draft { background: #f2eee9; color: #75695d; }
.vendor-store-settings__status--profile_complete,
.vendor-store-settings__status--payment_pending { background: #faeee3; color: #996235; }
.vendor-store-settings__status--ready { background: #e9f5ea; color: #2e7757; }
.vendor-store-settings__status--live { background: #e4f7f1; color: #1f7a5f; }
.vendor-store-settings__wizard-progress { height: 8px; border-radius: 999px; background: #efe3d6; overflow: hidden; }
.vendor-store-settings__wizard-progress > span { display: block; height: 100%; background: linear-gradient(90deg, #b8703e 0%, #8f633f 100%); }
.vendor-store-settings__wizard-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.45rem; margin-top: 0.68rem; }
.vendor-store-settings__wizard-step { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; color: #7c6f62; background: #f8f3ec; border: 1px solid #eaded2; border-radius: 8px; padding: 0.42rem 0.56rem; text-align: center; }
.vendor-store-settings__wizard-step.is-active { border-color: #c88f66; background: #fff5ed; color: #8f582f; font-weight: 700; }
.vendor-store-settings__wizard-step.is-done { border-color: #b9ddc8; background: #edf8f1; color: #2d7958; font-weight: 600; }
.vendor-store-settings__wizard-note { margin: 0.6rem 0 0; font-family: 'DM Sans', sans-serif; font-size: 0.8rem; color: #72675c; }
.vendor-store-settings__hero-preview { margin-top: 0.9rem; }
.vendor-store-settings__hero-preview-kicker { margin: 0 0 0.35rem; font-family: 'Space Mono', monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: #7f7266; }
.vendor-store-settings__hero-preview-card { --preview-accent: #b8703e; --preview-surface: #f5f1eb; border: 1px solid #dccdbb; border-radius: 10px; background: linear-gradient(130deg, var(--preview-surface) 0%, #fff 100%); padding: 0.85rem; display: grid; gap: 0.45rem; }
.vendor-store-settings__hero-preview-title { font-family: 'Playfair Display', serif; font-size: 1.05rem; color: #1f1b17; }
.vendor-store-settings__hero-preview-subtitle { margin: 0; font-family: 'DM Sans', sans-serif; font-size: 0.82rem; line-height: 1.5; color: #544a40; }
.vendor-store-settings__hero-preview-cta { display: inline-flex; align-items: center; justify-content: center; width: fit-content; padding: 0.38rem 0.65rem; border-radius: 999px; background: var(--preview-accent); color: #fff; font-family: 'DM Sans', sans-serif; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.vendor-store-settings__editor-hint { margin: 0.5rem 0 0.7rem; padding: 0.58rem 0.7rem; border-radius: 8px; border: 1px solid #e8dbc8; background: #fffaf4; color: #7a6a5a; font-family: 'DM Sans', sans-serif; font-size: 0.76rem; line-height: 1.5; }
.vendor-store-settings__section-card--draggable { cursor: default; transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease; }
.vendor-store-settings__section-card--draggable > summary { display: flex; align-items: center; gap: 0.4rem; }
.vendor-store-settings__section-card--draggable > summary::marker { color: #8d7e70; }
.vendor-store-settings__section-drag-handle { border: 1px solid #d8c7b6; background: #fff; color: #8a5f3f; border-radius: 6px; min-width: 1.8rem; height: 1.8rem; display: inline-flex; align-items: center; justify-content: center; font-size: 0.78rem; line-height: 1; cursor: grab; }
.vendor-store-settings__section-drag-handle:hover { border-color: #bc8a64; color: #8f582f; }
.vendor-store-settings__section-drag-handle:focus-visible { outline: 2px solid rgba(184,112,62,.38); outline-offset: 1px; }
.vendor-store-settings__section-drag-handle:active { cursor: grabbing; transform: scale(.98); }
.vendor-store-settings__section-card--draggable.is-dragging { opacity: .58; border-color: #c58b60; background: #fff9f3; transform: scale(.995); box-shadow: 0 12px 24px rgba(152,97,55,.12); }
.vendor-store-settings__section-card--draggable.is-drop-target { border-color: #bd8a63; box-shadow: 0 0 0 3px rgba(189,138,99,.16); }
.vendor-store-settings__section-card--draggable.is-keyboard-grabbed { border-color: #bc8b63; box-shadow: 0 0 0 3px rgba(188,139,99,.2); }
.vendor-store-settings__section-placeholder { border: 1px dashed #bc8b63; border-radius: 10px; min-height: 52px; margin: 0.4rem 0; background: rgba(255,244,231,0.75); color: #8f5b35; font-family: 'DM Sans', sans-serif; font-size: 0.76rem; display: flex; align-items: center; justify-content: center; }
.vendor-store-settings__section-move-controls { display: inline-flex; align-items: center; gap: 0.2rem; margin-left: auto; }
.vendor-store-settings__section-move-btn { border: 1px solid #d9c8b7; background: #fff; color: #835b3d; border-radius: 6px; width: 1.65rem; height: 1.65rem; display: inline-flex; align-items: center; justify-content: center; font-size: 0.72rem; line-height: 1; padding: 0; }
.vendor-store-settings__section-move-btn:hover { border-color: #be8d67; color: #8f582f; }
.vendor-store-settings__section-move-btn:focus-visible { outline: 2px solid rgba(184,112,62,.34); outline-offset: 1px; }
.vendor-store-settings__section-order-badge { margin-left: 0.35rem; padding: 0.1rem 0.4rem; border-radius: 999px; background: rgba(184,112,62,0.12); color: #8f582f; font-family: 'Space Mono', monospace; font-size: 0.66rem; letter-spacing: 0.04em; }
.vendor-store-settings__section-autosave-badge { margin-left: 0.35rem; padding: 0.1rem 0.38rem; border-radius: 999px; font-family: 'Space Mono', monospace; font-size: 0.62rem; letter-spacing: 0.04em; text-transform: uppercase; border: 1px solid transparent; }
.vendor-store-settings__section-autosave-badge.is-synced { background: #f4f0eb; color: #6e6054; border-color: #e2d4c5; }
.vendor-store-settings__section-autosave-badge.is-dirty { background: #fff5e9; color: #94582e; border-color: #e8c7a8; }
.vendor-store-settings__section-autosave-badge.is-syncing { background: #eef4ff; color: #3f62a4; border-color: #c7d6f4; }
.vendor-store-settings__section-autosave-badge.is-saved { background: #ecfbf2; color: #2f7f59; border-color: #b8e8cf; }
.vendor-store-settings__section-autosave-badge.is-error { background: #fff0f0; color: #a24545; border-color: #f2c4c4; }
.vendor-store-settings__sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.js-apply-landing-preset.is-applied { border-color: #2f8f60 !important; color: #2f8f60 !important; box-shadow: 0 0 0 3px rgba(47,143,96,.16); }
.is-landing-dnd-ready .vendor-store-settings__section-order-input { max-width: 160px; }
.vendor-store-settings__switcher { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.7rem; border: 1px solid #ddd1c3; border-radius: 8px; background: #fff; margin-right: 0.5rem; }
.vendor-store-settings__switcher label { font-family: 'DM Sans', sans-serif; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: #5a5048; font-weight: 700; }
.vendor-store-settings__switcher select { border: 1px solid #ddd1c3; border-radius: 7px; padding: 0.4rem 0.5rem; min-width: 220px; font-size: 0.86rem; }
.vendor-store-settings__new-store { display: inline-flex; align-items: center; padding: 0.48rem 0.72rem; border-radius: 999px; border: 1px solid rgba(184,112,62,0.35); background: rgba(184,112,62,0.08); color: #8c5a34; text-decoration: none; font-family: 'DM Sans', sans-serif; font-size: 0.82rem; font-weight: 600; }
.vendor-store-settings__new-store:hover { border-color: var(--sf-accent); color: var(--sf-accent); }
.vendor-store-settings__card { margin: 0 0 1rem; border: 1px solid var(--sf-linen); border-radius: 12px; background: #fff; padding: 0.25rem 1rem 0.8rem; }
.vendor-store-settings__card > summary { cursor: pointer; font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 0.95rem; letter-spacing: 0.04em; text-transform: uppercase; color: #4d453e; padding: 0.85rem 0.2rem; }
.vendor-store-settings .form-item { margin-bottom: 1rem; }
.vendor-store-settings label { font-family: 'DM Sans', sans-serif; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.06em; color: #534b43; font-weight: 700; }
.vendor-store-settings input[type="text"],
.vendor-store-settings input[type="email"],
.vendor-store-settings textarea,
.vendor-store-settings select { width: 100%; border: 1px solid #ddd1c3; border-radius: 8px; background: #fff; padding: 0.72rem 0.85rem; font-family: 'DM Sans', sans-serif; font-size: 0.92rem; color: #2b2520; }
.vendor-store-settings input:focus,
.vendor-store-settings textarea:focus,
.vendor-store-settings select:focus { outline: none; border-color: var(--sf-accent); box-shadow: 0 0 0 3px rgba(184, 112, 62, 0.13); }
.vendor-store-settings .description,
.vendor-store-settings .form-item__description { font-size: 0.78rem; color: #80756b; line-height: 1.5; }
.vendor-store-settings__hint { margin-top: 0.35rem; padding: 0.75rem 0.85rem; border-radius: 8px; background: #f8f4ed; color: #6b6056; font-size: 0.82rem; font-family: 'DM Sans', sans-serif; }
.vendor-store-settings__launch-requirements { margin-top: 0.65rem; padding: 0.75rem 0.85rem; border-radius: 8px; border: 1px solid #ecc9ce; background: #fff4f5; color: #7f2f3b; font-family: 'DM Sans', sans-serif; font-size: 0.82rem; }
.vendor-store-settings__launch-requirements p { margin: 0 0 0.38rem; }
.vendor-store-settings__launch-requirements ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.25rem; }
.vendor-store-settings__autosave-status { margin: 0 0 0.9rem; padding: 0.62rem 0.74rem; border: 1px solid #ebdfd3; border-radius: 8px; background: #fdf9f5; color: #75675b; font-family: 'DM Sans', sans-serif; font-size: 0.8rem; display: flex; align-items: center; gap: 0.52rem; transition: border-color .18s ease, background-color .18s ease, color .18s ease; }
.vendor-store-settings__autosave-status::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: #9c8f82; box-shadow: 0 0 0 2px rgba(156,143,130,.18); }
.vendor-store-settings__autosave-status.is-idle::before { background: #9c8f82; }
.vendor-store-settings__autosave-status.is-dirty { border-color: #d1b08c; background: #fff5ea; color: #8e5c2d; }
.vendor-store-settings__autosave-status.is-dirty::before { background: #c67f3a; box-shadow: 0 0 0 2px rgba(198,127,58,.22); }
.vendor-store-settings__autosave-status.is-syncing { border-color: #c6d7e8; background: #eef6ff; color: #2d5d8e; }
.vendor-store-settings__autosave-status.is-syncing::before { background: #3c82d5; box-shadow: 0 0 0 2px rgba(60,130,213,.2); animation: vendor-autosave-pulse 1.1s ease-in-out infinite; }
.vendor-store-settings__autosave-status.is-saved { border-color: #bfdac9; background: #eef9f2; color: #276d4c; }
.vendor-store-settings__autosave-status.is-saved::before { background: #2f8f60; box-shadow: 0 0 0 2px rgba(47,143,96,.2); }
.vendor-store-settings__autosave-status.is-error { border-color: #e2b5ba; background: #fff1f3; color: #9a3040; }
.vendor-store-settings__autosave-status.is-error::before { background: #cf3f57; box-shadow: 0 0 0 2px rgba(207,63,87,.22); }
@keyframes vendor-autosave-pulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.35); opacity: .76; }
}
.vendor-store-settings__autosave-log { margin: 0 0 0.95rem; border: 1px solid #e7ddd1; border-radius: 8px; background: #fffdf9; padding: 0.62rem 0.72rem; }
.vendor-store-settings__autosave-log-title { margin: 0 0 0.45rem; font-family: 'DM Sans', sans-serif; font-size: 0.76rem; letter-spacing: 0.04em; text-transform: uppercase; color: #7a6e62; font-weight: 700; }
.vendor-store-settings__autosave-log-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.36rem; }
.vendor-store-settings__autosave-log-item { display: grid; grid-template-columns: auto 1fr; gap: 0.5rem; align-items: start; font-family: 'DM Sans', sans-serif; font-size: 0.78rem; color: #5f554c; }
.vendor-store-settings__autosave-log-time { font-family: 'Space Mono', monospace; font-size: 0.72rem; color: #8a7c70; }
.vendor-store-settings__autosave-log-item--saved .vendor-store-settings__autosave-log-text { color: #2f7a57; }
.vendor-store-settings__autosave-log-item--error .vendor-store-settings__autosave-log-text { color: #a03042; }
.vendor-store-settings__autosave-log-item--syncing .vendor-store-settings__autosave-log-text { color: #2e6094; }
.vendor-store-settings__autosave-log-empty { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; color: #84786d; }
.vendor-store-settings__draft-tools { margin: 0 0 0.95rem; display: flex; align-items: center; flex-wrap: wrap; gap: 0.45rem; }
.vendor-store-settings__draft-btn { border: 1px solid #dbcab9; background: #fff; color: #5f5247; border-radius: 999px; padding: 0.38rem 0.72rem; font-family: 'DM Sans', sans-serif; font-size: 0.77rem; font-weight: 600; cursor: pointer; }
.vendor-store-settings__draft-btn:hover { border-color: #bd9f81; color: #8f582f; }
.vendor-store-settings__toast { position: fixed; right: 1rem; bottom: 1rem; z-index: 40; background: #2f2721; color: #fff; border-radius: 8px; padding: 0.58rem 0.74rem; font-family: 'DM Sans', sans-serif; font-size: 0.78rem; opacity: 0; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease; pointer-events: none; }
.vendor-store-settings__toast.is-visible { opacity: 0.96; transform: translateY(0); }
.vendor-store-settings__actions { display: flex; align-items: center; justify-content: space-between; gap: 0.7rem; margin-top: 0.4rem; }
.vendor-store-settings__autosave-trigger { display: none !important; }
.vendor-store-settings__submit { padding: 0.85rem 1.4rem !important; background: var(--sf-accent) !important; border: 1px solid var(--sf-accent) !important; color: #fff !important; border-radius: 8px !important; font-family: 'DM Sans', sans-serif !important; font-size: 0.84rem !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; font-weight: 700 !important; }
.vendor-store-settings__submit:hover { background: #a0612f !important; border-color: #a0612f !important; }
.vendor-store-settings__back { padding: 0.76rem 1.1rem !important; border-radius: 8px !important; border: 1px solid #dbcab9 !important; background: #fff !important; color: #5d5044 !important; font-family: 'DM Sans', sans-serif !important; font-size: 0.82rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
.vendor-store-settings__back:hover { border-color: #bfa284 !important; color: #8f582f !important; }
.vendor-store-settings__empty { max-width: 760px; margin: 8.5rem auto 2rem; padding: 1rem 1.2rem; border-radius: 10px; border: 1px solid #eadfd4; background: #fff8f0; color: #745f48; font-family: 'DM Sans', sans-serif; }

/* ── Responsive ── */
@media (max-width: 960px) {
  .vendor-reg__grid { grid-template-columns: 1fr; gap: 2rem; }
  .storefront-list__grid { grid-template-columns: repeat(2, 1fr); }
  .storefront-page__hero-banner { min-height: 220px; }
  .storefront-page__hero-banner-overlay { max-width: 100%; }
  .storefront-page__hero-banner--full_bleed { min-height: 280px; }
  .storefront-page__hero-banner--full_bleed .storefront-page__hero-banner-overlay { padding: 1.4rem; }
  .storefront-page__artist-hero { grid-template-columns: 1fr; padding: 1.4rem; }
  .storefront-page__trust-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .storefront-page__landing-blocks { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .storefront-page__tools { grid-template-columns: 1fr; }
  .storefront-page__products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .vendor-reg,
  .storefront-list,
  .storefront-page,
  .vendor-store-settings,
  .store-legal-page { padding-top: 7rem; }
  .vendor-reg__title { font-size: 2rem; }
  .vendor-store-settings,
  .store-legal-page { padding-left: 1rem; padding-right: 1rem; }
  .vendor-store-settings__switcher { width: 100%; margin-right: 0; margin-bottom: 0.55rem; }
  .vendor-store-settings__switcher select { min-width: 0; width: 100%; }
  .vendor-store-settings__new-store { width: 100%; justify-content: center; }
  .vendor-store-settings__wizard-head { flex-direction: column; align-items: flex-start; }
  .vendor-store-settings__wizard-steps { grid-template-columns: 1fr; }
  .vendor-store-settings__actions { flex-direction: column-reverse; align-items: stretch; }
  .vendor-store-settings__autosave-log-item { grid-template-columns: 1fr; gap: 0.18rem; }
  .vendor-store-settings__draft-tools { flex-direction: column; align-items: stretch; }
  .vendor-store-settings__draft-btn { width: 100%; text-align: center; }
  .vendor-store-settings__editor-hint { font-size: 0.72rem; }
  .vendor-store-settings__section-move-btn { width: 1.9rem; height: 1.9rem; font-size: 0.8rem; }
  .vendor-store-settings__section-drag-handle { width: 1.9rem; height: 1.9rem; }
  .vendor-store-settings__back,
  .vendor-store-settings__submit { width: 100%; }
  .storefront-list__grid { grid-template-columns: 1fr; }
  .storefront-page__hero-banner { min-height: 190px; }
  .storefront-page__hero-banner-overlay { padding: 1rem; }
  .storefront-page__hero-banner--centered .storefront-page__hero-banner-overlay { text-align: left; }
  .storefront-page__hero-banner--full_bleed { min-height: 240px; }
  .storefront-page__hero-banner--full_bleed .storefront-page__hero-banner-overlay { padding: 1rem; }
  .storefront-page__hero-banner-overlay h2 { font-size: 1.35rem; }
  .storefront-page__hero-banner-overlay p { font-size: 0.84rem; }
  .storefront-page__artist-main { flex-direction: column; gap: 0.9rem; }
  .storefront-page__artist-avatar { width: 72px; height: 72px; min-width: 72px; }
  .storefront-page__artist-actions { flex-direction: column; }
  .storefront-page__btn { width: 100%; }
  .storefront-page__legal-links { flex-direction: column; }
  .storefront-page__legal-link { width: 100%; justify-content: center; }
  .storefront-page__trust-strip { grid-template-columns: 1fr; }
  .storefront-page__landing-blocks { grid-template-columns: 1fr; }
  .storefront-page__products { grid-template-columns: 1fr; }
  .product-card__footer { flex-direction: column; align-items: flex-start; }
  .product-card__actions { width: 100%; justify-content: flex-start; }
}
