diff --git a/parfum-shop/public/icon-arrow-left.svg b/parfum-shop/public/icon-arrow-left.svg new file mode 100644 index 0000000..d506bed --- /dev/null +++ b/parfum-shop/public/icon-arrow-left.svg @@ -0,0 +1 @@ + diff --git a/parfum-shop/public/icon-chat.svg b/parfum-shop/public/icon-chat.svg new file mode 100644 index 0000000..e8fe4ee --- /dev/null +++ b/parfum-shop/public/icon-chat.svg @@ -0,0 +1 @@ + diff --git a/parfum-shop/public/icon-x.svg b/parfum-shop/public/icon-x.svg new file mode 100644 index 0000000..cbf2f19 --- /dev/null +++ b/parfum-shop/public/icon-x.svg @@ -0,0 +1 @@ + diff --git a/parfum-shop/src/App.css b/parfum-shop/src/App.css index d540006..9e9bf2b 100644 --- a/parfum-shop/src/App.css +++ b/parfum-shop/src/App.css @@ -24,17 +24,56 @@ main { min-width: 0; } +.shell { + width: var(--container-wide); + margin: 0 auto; + padding: 0 0 clamp(2.2rem, 6vw, 5rem); + background: transparent; + border: 0; + box-shadow: none; +} + .page, .detail-page, .discovery-page, .about-page, .support-page, -.small-page { +.small-page, +.impressum-page, +.datenschutz-page { isolation: isolate; } +.detail-page .navbar--light, +.discovery-page .navbar--light, +.about-page .navbar--light, +.support-page .navbar--light, +.small-page .navbar--light, +.impressum-page .navbar--light, +.datenschutz-page .navbar--light { + position: fixed; + top: clamp(0.75rem, 2.1vw, 1.4rem); + right: 0; + left: 0; + z-index: 998; + margin-bottom: 0; + padding-top: 0; + pointer-events: none; +} + +.detail-page .navbar--light .nav-pill, +.discovery-page .navbar--light .nav-pill, +.about-page .navbar--light .nav-pill, +.support-page .navbar--light .nav-pill, +.small-page .navbar--light .nav-pill, +.impressum-page .navbar--light .nav-pill, +.datenschutz-page .navbar--light .nav-pill { + pointer-events: auto; +} + .navbar--light .nav-pill, .navbar--light .nav-link, +.shell, [class*="-page"], [class*="-shell"], [class*="-card"], diff --git a/parfum-shop/src/components/ProductDetailPage.css b/parfum-shop/src/components/ProductDetailPage.css index c568363..d9d10bf 100644 --- a/parfum-shop/src/components/ProductDetailPage.css +++ b/parfum-shop/src/components/ProductDetailPage.css @@ -5,25 +5,6 @@ background: var(--theme-bg); } -.detail-page .navbar--light { - position: fixed; - top: clamp(0.75rem, 2.1vw, 1.4rem); - right: 0; - left: 0; - z-index: 998; - margin-bottom: 0; - padding-top: 0; -} - -.detail-shell { - width: var(--container-wide); - margin: 0 auto; - padding: 0 0 clamp(2.2rem, 6vw, 5rem); - background: transparent; - border: 0; - box-shadow: none; -} - .detail-topbar { position: fixed; top: clamp(0.75rem, 2.1vw, 1.4rem); @@ -63,7 +44,13 @@ } .back-link-arrow { - line-height: 1; + display: inline-block; + width: 1rem; + height: 1rem; + flex: 0 0 auto; + background: currentColor; + -webkit-mask: url("/icon-arrow-left.svg") center / contain no-repeat; + mask: url("/icon-arrow-left.svg") center / contain no-repeat; } .detail-topbar-meta { @@ -105,7 +92,7 @@ grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-md); align-items: center; - min-height: 100svh; + min-height: clamp(680px, 100svh, 940px); padding-block: 0; border-bottom: 0; isolation: isolate; @@ -116,13 +103,18 @@ grid-column: 1 / -1; grid-row: 1; display: grid; - place-items: center; + grid-template-columns: repeat(12, minmax(0, 1fr)); + align-items: center; min-height: inherit; min-width: 0; } .product-hero-visual { position: relative; + grid-column: 4 / 10; + grid-row: 1; + justify-self: center; + align-self: center; display: grid; place-items: center; width: 100%; @@ -140,7 +132,7 @@ position: absolute; top: clamp(6.5rem, 11vw, 9rem); left: 0; - z-index: 2; + z-index: 5; width: min(26vw, 390px); } @@ -167,7 +159,7 @@ .product-hero-image { position: relative; z-index: 1; - width: min(36vw, 600px); + width: min(100%, 600px); max-height: min(62svh, 700px); height: auto; object-fit: contain; @@ -198,7 +190,7 @@ min-height: 44px; padding: 0; border: 1px solid var(--theme-border); - background: var(--theme-paper); + background: transparent; overflow: hidden; cursor: pointer; transition: @@ -222,25 +214,26 @@ .thumb-btn img { width: 100%; height: 100%; - object-fit: cover; + object-fit: contain; display: block; } .hero-fact-grid { position: absolute; left: 0; - top: 50%; + top: auto; + bottom: clamp(4rem, 9svh, 7rem); z-index: 3; width: min(22vw, 310px); display: grid; grid-template-columns: 1fr; gap: var(--gap-md); margin-top: 0; - transform: translateY(-42%); + transform: none; } .hero-fact-grid div, -.character-facts div, +.character-facts > div, .meta-card, .delivery-grid div { padding-top: 1rem; @@ -514,6 +507,14 @@ line-height: 1.62; } +.story-copy .character-facts p { + max-width: none; + margin: 0; + color: var(--theme-text); + font-size: var(--text-base); + line-height: 1.55; +} + .story-visual-panel { min-height: clamp(360px, 42vw, 620px); display: flex; @@ -529,21 +530,21 @@ .character-facts { display: grid; - grid-template-columns: 1fr 1fr; + grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-sm); margin-top: clamp(1.4rem, 3vw, 2.4rem); max-width: 58rem; } -.character-facts div:last-child { - grid-column: 1 / -1; +.character-facts > div { + min-height: 132px; } .story-visual-panel > div { width: 100%; } -.story-visual-panel span:first-child { +.story-visual-panel > div > span:first-child { display: block; margin-bottom: var(--gap-sm); color: var(--theme-text-muted); @@ -567,6 +568,8 @@ background: rgba(255, 255, 255, 0.035); color: var(--theme-text); font-size: var(--text-sm); + letter-spacing: 0; + text-transform: none; } .product-structure-section, @@ -922,10 +925,8 @@ } .recommendation-heading { - display: flex; - justify-content: space-between; - align-items: end; - gap: var(--gap-lg); + display: block; + max-width: 74rem; } .recommendation-grid { @@ -992,7 +993,6 @@ } @media (max-width: 1180px) { - .product-hero, .product-story-grid, .product-meta-section, .detail-bottom-cta { @@ -1000,33 +1000,44 @@ } .product-hero { - min-height: auto; + grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.72fr); + align-items: center; + min-height: 100svh; + padding-top: clamp(5.6rem, 9vw, 7.4rem); + padding-bottom: clamp(1rem, 2vw, 1.6rem); } - .product-media-column, - .product-purchase-panel { + .product-media-column { grid-column: 1; - grid-row: auto; + grid-row: 1; } .product-media-column { min-height: 0; - display: block; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto minmax(0, 1fr) auto auto; + gap: clamp(0.65rem, 1.4vw, 1rem); + align-self: stretch; + place-items: stretch; } .product-hero-copy { position: static; width: min(100%, 720px); - margin-bottom: var(--gap-md); + margin-bottom: 0; } .product-hero-visual { - min-height: clamp(520px, 66vw, 760px); + grid-column: auto; + grid-row: auto; + min-height: 0; + height: min(42svh, 420px); } .product-hero-image { - width: min(66vw, 640px); - max-height: none; + width: min(74%, 430px); + max-height: 100%; } .product-thumbs, @@ -1041,16 +1052,46 @@ justify-content: center; } + .thumb-btn { + width: clamp(3.6rem, 6vw, 4.8rem); + height: clamp(3.6rem, 6vw, 4.8rem); + } + + .hero-fact-grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: var(--gap-xs); + } + + .hero-fact-grid div { + padding-top: 0.75rem; + } + + .hero-fact-grid span { + margin-bottom: 0.4rem; + font-size: 0.72rem; + letter-spacing: 0.16em; + } + + .hero-fact-grid p { + font-size: var(--text-sm); + line-height: 1.38; + } + .product-purchase-panel { - position: static; - justify-self: center; - width: min(100%, 720px); + grid-column: 2; + grid-row: 1; + position: relative; + justify-self: stretch; + align-self: center; + width: 100%; max-height: none; overflow: visible; + gap: var(--gap-xs); } .product-hero-copy h1 { max-width: 12ch; + font-size: clamp(2.4rem, 5.5vw, 4.6rem); } .structure-timeline, @@ -1064,13 +1105,8 @@ padding: 0; } - .detail-shell { - width: var(--container-wide); - padding-inline: 0; - } - .detail-topbar { - top: clamp(4.65rem, 15vw, 5.5rem); + top: clamp(4.35rem, 14vw, 5.05rem); z-index: 999; right: clamp(0.75rem, 4vw, 1rem); left: clamp(0.75rem, 4vw, 1rem); @@ -1083,20 +1119,30 @@ } .product-hero { - padding-top: clamp(7.6rem, 25vw, 9rem); + grid-template-columns: 1fr; + align-content: start; + gap: clamp(0.5rem, 1.8vw, 0.8rem); + min-height: 100svh; + padding-top: clamp(6.7rem, 20vw, 7.25rem); + padding-bottom: clamp(0.75rem, 2.4vw, 1rem); + } + + .product-media-column, + .product-purchase-panel { + grid-column: 1; + grid-row: auto; } .product-hero-visual { - min-height: clamp(390px, 102vw, 620px); + height: min(29svh, 250px); + min-height: 198px; } .product-hero-image { - width: min(88%, 560px); + width: min(74%, 292px); } - .hero-fact-grid, .character-facts, - .size-grid, .meta-grid, .delivery-grid, .comment-spotlight-grid, @@ -1105,6 +1151,99 @@ grid-template-columns: 1fr; } + .hero-fact-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .hero-fact-grid div:last-child { + grid-column: 1 / -1; + } + + .size-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .product-hero-copy span { + margin-bottom: 0.35rem; + font-size: 0.68rem; + letter-spacing: 0.16em; + } + + .product-hero-copy h1 { + font-size: clamp(2rem, 10.4vw, 3rem); + line-height: 0.9; + } + + .thumb-btn { + width: clamp(2.8rem, 11vw, 3.25rem); + height: clamp(2.8rem, 11vw, 3.25rem); + } + + .product-thumbs { + margin-top: -0.6rem; + } + + .hero-fact-grid { + gap: 0.45rem; + } + + .hero-fact-grid div { + min-width: 0; + padding-top: 0.45rem; + } + + .hero-fact-grid span { + margin-bottom: 0.25rem; + font-size: 0.58rem; + letter-spacing: 0.09em; + } + + .hero-fact-grid p { + font-size: 0.72rem; + line-height: 1.22; + overflow-wrap: anywhere; + } + + .product-purchase-panel { + min-width: 0; + gap: 0.48rem; + } + + .purchase-price-row { + display: none; + } + + .purchase-price-row strong { + font-size: clamp(1.1rem, 5vw, 1.35rem); + white-space: nowrap; + } + + .size-card { + min-height: 62px; + padding: 0.55rem 0.6rem; + } + + .size-title { + margin-bottom: 0.25rem; + font-size: 0.76rem; + } + + .size-card strong { + margin-bottom: 0; + font-size: 0.95rem; + } + + .size-card small, + .purchase-discovery-note { + display: none; + } + + .buy-button, + .restock-button { + min-height: 38px; + font-size: 0.72rem; + } + .purchase-discovery-note, .reviews-heading, .recommendation-heading { @@ -1122,17 +1261,11 @@ width: min(100%, 24rem); } - .purchase-discovery-note a, .buy-button, .restock-button { width: 100%; } - .purchase-price-row { - align-items: flex-start; - flex-direction: column; - } - .review-score-block { justify-items: start; } @@ -1148,13 +1281,21 @@ @media (max-width: 480px) { .product-hero-copy h1 { - font-size: clamp(2.6rem, 15vw, 4rem); + font-size: clamp(1.95rem, 10.2vw, 2.85rem); + } + + .hero-fact-grid { + grid-template-columns: 1fr; } .product-thumbs { flex-wrap: wrap; } + .restock-button { + display: none; + } + .review-detail-row { grid-template-columns: 1fr; align-items: start; diff --git a/parfum-shop/src/components/ProductDetailPage.jsx b/parfum-shop/src/components/ProductDetailPage.jsx index 7e66ab2..f966cfb 100644 --- a/parfum-shop/src/components/ProductDetailPage.jsx +++ b/parfum-shop/src/components/ProductDetailPage.jsx @@ -530,10 +530,10 @@ function ProductDetailContent({ perfumeSlug }) {
-
+
diff --git a/parfum-shop/src/components/ProductTransition.css b/parfum-shop/src/components/ProductTransition.css index 6f01e81..d37fdc3 100644 --- a/parfum-shop/src/components/ProductTransition.css +++ b/parfum-shop/src/components/ProductTransition.css @@ -11,11 +11,7 @@ .product-transition__wash { position: absolute; inset: 0; - background: - radial-gradient(circle at 50% 50%, rgba(var(--theme-accent-rgb) / 0.16), transparent 32rem), - rgba(12, 12, 12, 0.78); - backdrop-filter: blur(14px) saturate(0.9); - -webkit-backdrop-filter: blur(14px) saturate(0.9); + background: var(--theme-bg); } .product-transition__image { @@ -23,6 +19,7 @@ top: 0; left: 0; display: block; + max-width: none; object-fit: contain; transform-origin: 0 0; will-change: transform, opacity; diff --git a/parfum-shop/src/components/ProductTransition.jsx b/parfum-shop/src/components/ProductTransition.jsx index 4a60a08..9514a0a 100644 --- a/parfum-shop/src/components/ProductTransition.jsx +++ b/parfum-shop/src/components/ProductTransition.jsx @@ -50,12 +50,21 @@ const getStageRect = (sourceRect) => { }; }; -const getTransformForRect = (rect, sourceRect) => ({ - x: rect.left, - y: rect.top, - scaleX: rect.width / sourceRect.width, - scaleY: rect.height / sourceRect.height, -}); +const getTransformForRect = (rect, sourceRect) => { + const scale = Math.min( + rect.width / sourceRect.width, + rect.height / sourceRect.height + ); + const width = sourceRect.width * scale; + const height = sourceRect.height * scale; + + return { + x: rect.left + (rect.width - width) / 2, + y: rect.top + (rect.height - height) / 2, + scaleX: scale, + scaleY: scale, + }; +}; export function ProductTransitionProvider({ children }) { const navigate = useNavigate(); @@ -171,9 +180,9 @@ export function ProductTransitionProvider({ children }) { .to( routeContent, { - autoAlpha: 0.16, - filter: "blur(10px)", - scale: 0.985, + autoAlpha: 0, + filter: "none", + scale: 1, duration: 0.62, ease: "power3.out", }, @@ -277,7 +286,7 @@ export function ProductTransitionProvider({ children }) { duration: 0.82, stagger: 0.07, ease: "power4.out", - clearProps: "transform,opacity,visibility", + clearProps: "transform", }, ">-0.05" ); diff --git a/parfum-shop/src/components/SupportChatbot.css b/parfum-shop/src/components/SupportChatbot.css index 7ac6df4..3eef329 100644 --- a/parfum-shop/src/components/SupportChatbot.css +++ b/parfum-shop/src/components/SupportChatbot.css @@ -278,12 +278,48 @@ /* --- Design System Refinement Start --- */ .chatbot-trigger { - min-height: 48px; - right: var(--page-x); - bottom: var(--page-x); + right: max(0.9rem, env(safe-area-inset-right)); + bottom: max(0.9rem, env(safe-area-inset-bottom)); + width: 52px; + height: 52px; + min-height: 52px; + min-width: 52px; + padding: 0; + display: inline-grid; + place-items: center; + font-size: 0; box-shadow: var(--theme-shadow-soft); } +.chatbot-trigger.is-open { + padding: 0; +} + +.chatbot-trigger-icon, +.chatbot-close-icon { + display: block; + width: 1.45rem; + height: 1.45rem; + background: currentColor; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; +} + +.chatbot-trigger-icon { + -webkit-mask-image: url("/icon-chat.svg"); + mask-image: url("/icon-chat.svg"); +} + +.chatbot-trigger.is-open .chatbot-trigger-icon, +.chatbot-close-icon { + -webkit-mask-image: url("/icon-x.svg"); + mask-image: url("/icon-x.svg"); +} + .chatbot-trigger:hover, .chatbot-trigger:focus-visible { transform: translateY(-2px); @@ -338,8 +374,8 @@ @media (max-width: 700px) { .chatbot-trigger { - right: var(--page-x); - bottom: var(--page-x); + right: max(0.75rem, env(safe-area-inset-right)); + bottom: max(0.75rem, env(safe-area-inset-bottom)); } .chatbot-window { diff --git a/parfum-shop/src/components/SupportChatbot.jsx b/parfum-shop/src/components/SupportChatbot.jsx index 88c5653..7746af6 100644 --- a/parfum-shop/src/components/SupportChatbot.jsx +++ b/parfum-shop/src/components/SupportChatbot.jsx @@ -216,7 +216,7 @@ function SupportChatbot() { onClick={() => setIsOpen((prev) => !prev)} aria-label={isOpen ? "Chat schliessen" : "Support Chat öffnen"} > - {isOpen ? "×" : "Support"} +
@@ -341,4 +341,4 @@ function SupportChatbot() { ); } -export default SupportChatbot; \ No newline at end of file +export default SupportChatbot; diff --git a/parfum-shop/src/pages/AboutPage.css b/parfum-shop/src/pages/AboutPage.css index 80a385a..5d31257 100644 --- a/parfum-shop/src/pages/AboutPage.css +++ b/parfum-shop/src/pages/AboutPage.css @@ -1,543 +1,121 @@ .about-page { min-height: 100vh; + padding: 0 0 var(--section-y-sm); color: var(--theme-text); - padding: 26px 38px 38px; background: - linear-gradient(to right, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.1)), - linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.45)); -} - -.about-shell { - background: var(--theme-surface); - border: 1px solid var(--theme-border); - padding: 38px; + radial-gradient(circle at 86% 8%, rgba(var(--theme-accent-rgb) / 0.13), transparent 28rem), + linear-gradient(180deg, var(--theme-bg), color-mix(in srgb, var(--theme-bg) 88%, #000 12%)); } .about-kicker, .about-label, .about-panel-label, .about-origin-box span, -.about-panel-meta span { - display: block; - font-size: 10px; - letter-spacing: 0.22em; - color: var(--theme-text-muted); -} - -.about-hero { - display: grid; - grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.8fr); - gap: 28px; - align-items: end; - padding-bottom: 36px; - border-bottom: 1px solid var(--theme-border); -} - -.about-hero-copy h1 { - margin: 14px 0 18px; - font-size: 68px; - line-height: 0.92; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.about-intro { - max-width: 720px; - margin: 0; - font-size: 18px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.about-hero-panel { - padding: 24px; - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.08), - rgba(255, 106, 0, 0.03) - ); - border: 1px solid rgba(255, 106, 0, 0.18); -} - -.about-hero-panel p { - margin: 10px 0 0; - font-size: 16px; - line-height: 1.6; - color: var(--theme-text); -} - -.about-panel-meta { - display: grid; - grid-template-columns: 1fr; - gap: 16px; - margin-top: 24px; - padding-top: 20px; - border-top: 1px solid rgba(255, 106, 0, 0.14); -} - -.about-panel-meta p, -.about-origin-box p { - margin: 8px 0 0; - font-size: 14px; - line-height: 1.55; - color: var(--theme-text); -} - -.about-section { - padding-top: 38px; -} - -.about-section--split { - display: grid; - grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr); - gap: 28px; - align-items: start; -} - -.about-section-heading h2, -.about-origin-copy h2, -.about-bottom-copy h2 { - margin: 10px 0 0; - font-size: 42px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.about-section-copy { - display: flex; - flex-direction: column; - gap: 18px; -} - -.about-section-copy p, -.about-origin-copy p, -.about-bottom-copy p { - margin: 0; - font-size: 16px; - line-height: 1.7; - color: var(--theme-text-muted); -} - -.about-quote-block { - margin-top: 38px; - padding: 32px 36px; - background: #1f1f1f; - border-left: 3px solid #ff6a00; -} - -.about-quote-block p { - margin: 0; - font-size: 28px; - line-height: 1.3; - font-weight: 300; - letter-spacing: 0; - color: #fff; - max-width: 900px; -} - -.about-grid-section { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 18px; - margin-top: 38px; -} - -.about-card { - padding: 24px; - background: var(--theme-bg); - border: 1px solid var(--theme-border); - min-height: 260px; -} - -.about-card h3 { - margin: 14px 0 12px; - font-size: 24px; - line-height: 1.05; - font-weight: 400; - color: var(--theme-text); -} - -.about-card p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.about-origin-section { - display: grid; - grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr); - gap: 28px; - margin-top: 38px; - padding-top: 38px; - border-top: 1px solid var(--theme-border); -} - -.about-origin-box { - display: flex; - flex-direction: column; - gap: 18px; - background: var(--theme-bg); - border: 1px solid var(--theme-border); - padding: 24px; -} - -.about-origin-box > div { - padding-bottom: 16px; - border-bottom: 1px solid var(--theme-border); -} - -.about-origin-box > div:last-child { - border-bottom: none; - padding-bottom: 0; -} - -.about-bottom-cta { - margin-top: 38px; - padding: 38px; - background: #ff6a00; - display: grid; - grid-template-columns: minmax(0, 1.2fr) auto; - gap: 24px; - align-items: end; -} - -.about-bottom-copy .about-label, -.about-bottom-copy h2, -.about-bottom-copy p { - color: #fff; -} - -.about-bottom-copy .about-label { - opacity: 0.85; -} - -.about-bottom-copy p { - margin-top: 16px; - max-width: 700px; -} - -.about-bottom-actions { - display: flex; - gap: 12px; - flex-wrap: wrap; -} - -.about-btn { - display: inline-flex; - align-items: center; - justify-content: center; - text-decoration: none; - padding: 12px 18px; - font-size: 14px; - border-radius: 999px; - transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease; -} - -.about-btn:hover { - transform: translateY(-1px); -} - -.about-btn--primary { - background: var(--theme-paper); - color: #ff6a00; -} - -.about-btn--secondary { - background: rgba(255, 255, 255, 0.14); - color: #fff; - backdrop-filter: blur(8px); -} - -.about-proof-strip { - display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 14px; - margin-top: 38px; -} - -.about-proof-item { - padding: 18px; - border: 1px solid var(--theme-border); - background: var(--theme-surface-soft); -} - -.about-proof-item p { - margin: 10px 0 0; - font-size: 14px; - line-height: 1.55; - color: var(--theme-text-muted); -} - -.about-process-section { - margin-top: 38px; - padding-top: 38px; - border-top: 1px solid var(--theme-border); -} - -.about-credentials-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 18px; - margin-top: 38px; -} - -.about-credential-card { - padding: 24px; - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.06), - rgba(255, 106, 0, 0.02) - ); - border: 1px solid rgba(255, 106, 0, 0.16); - min-height: 220px; -} - -.about-credential-card h3 { - margin: 14px 0 12px; - font-size: 24px; - line-height: 1.08; - font-weight: 400; - color: var(--theme-text); -} - -.about-credential-card p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.about-method-section { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr); - gap: 28px; - margin-top: 38px; - padding: 28px; - background: var(--theme-bg); - border: 1px solid var(--theme-border); -} - -.about-method-copy h2 { - margin: 10px 0 16px; - font-size: 40px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.about-method-copy p { - margin: 0; - font-size: 16px; - line-height: 1.7; - color: var(--theme-text-muted); -} - -.about-method-points { - display: grid; - grid-template-columns: 1fr; - gap: 16px; -} - -.about-method-points > div { - padding-bottom: 14px; - border-bottom: 1px solid var(--theme-border); -} - -.about-method-points > div:last-child { - border-bottom: none; - padding-bottom: 0; -} - +.about-panel-meta span, .about-method-points span { display: block; - font-size: 10px; - letter-spacing: 0.22em; color: var(--theme-text-muted); -} - -.about-method-points p { - margin: 8px 0 0; - font-size: 14px; - line-height: 1.55; - color: var(--theme-text); -} - -.about-trust-note { - margin-top: 38px; - padding: 22px; - border: 1px solid rgba(255, 106, 0, 0.18); - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.08), - rgba(255, 106, 0, 0.03) - ); -} - -.about-trust-note p { - margin: 10px 0 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text); -} - -@media (max-width: 1100px) { - .about-hero, - .about-section--split, - .about-origin-section, - .about-bottom-cta, - .about-method-section { - grid-template-columns: 1fr; - } - - .about-hero-copy h1 { - font-size: 52px; - } - - .about-grid-section, - .about-proof-strip, - .about-credentials-grid { - grid-template-columns: 1fr; - } - - .about-method-copy h2 { - font-size: 32px; - } -} - -@media (max-width: 700px) { - .about-page { - padding: 18px; - } - - .about-shell { - padding: 24px 18px; - } - - .about-hero-copy h1 { - font-size: 38px; - } - - .about-section-heading h2, - .about-origin-copy h2, - .about-bottom-copy h2, - .about-method-copy h2 { - font-size: 30px; - } - - .about-intro, - .about-section-copy p, - .about-origin-copy p, - .about-bottom-copy p, - .about-method-copy p, - .about-credential-card p, - .about-proof-item p, - .about-trust-note p { - font-size: 15px; - } - - .about-quote-block { - padding: 24px 20px; - } - - .about-quote-block p { - font-size: 22px; - } - - .about-method-section, - .about-bottom-cta { - padding: 26px 20px; - } -} - - -/* --- Design System Refinement Start --- */ - -.about-page { - padding: clamp(1rem, 3vw, 2.4rem) var(--page-x) clamp(2rem, 5vw, 4rem); - background: - radial-gradient(circle at 88% 9%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), - linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.08)), - var(--theme-bg); -} - -.about-shell { - width: var(--container-wide); - margin: 0 auto; - padding: clamp(1.25rem, 3vw, 2.8rem); - border-radius: var(--radius-lg); - box-shadow: var(--theme-shadow); -} - -.about-kicker, -.about-label, -.about-panel-label, -.about-origin-box span, -.about-panel-meta span { font-size: var(--text-xs); + letter-spacing: 0.22em; + text-transform: uppercase; } .about-hero { + display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.72fr); gap: var(--gap-lg); - padding-bottom: var(--section-y-xs); + align-items: end; + padding: clamp(2rem, 5vw, 5rem) 0 var(--section-y-sm); + border-bottom: 1px solid var(--theme-border); +} + +.about-hero-copy { + min-width: 0; } .about-hero-copy h1 { + max-width: 11.4ch; margin: clamp(0.85rem, 2vw, 1.2rem) 0 clamp(1rem, 2vw, 1.35rem); + color: var(--theme-text); font-size: clamp(3rem, 7.4vw, 8.8rem); line-height: 0.9; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; text-wrap: balance; } .about-intro { max-width: var(--text-measure); + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-lg); -} - -.about-hero-panel, -.about-card, -.about-origin-box, -.about-bottom-cta, -.about-proof-item, -.about-credential-card, -.about-method-section, -.about-trust-note, -.about-quote-block { - border-radius: var(--radius-lg); + line-height: 1.65; } .about-hero-panel { padding: clamp(1.25rem, 3vw, 2rem); + border: 1px solid rgba(var(--theme-accent-rgb) / 0.2); + background: + linear-gradient(135deg, rgba(var(--theme-accent-rgb) / 0.1), transparent 62%), + var(--theme-surface-soft); +} + +.about-hero-panel p { + margin: 0.75rem 0 0; + color: var(--theme-text); + font-size: var(--text-base); + line-height: 1.62; +} + +.about-panel-meta { + display: grid; + gap: var(--gap-sm); + margin-top: clamp(1.2rem, 2.6vw, 2rem); + padding-top: var(--gap-sm); + border-top: 1px solid rgba(var(--theme-accent-rgb) / 0.2); +} + +.about-panel-meta p, +.about-origin-box p, +.about-method-points p { + margin: 0.45rem 0 0; + color: var(--theme-text); + font-size: var(--text-sm); + line-height: 1.55; } .about-section { - padding-top: var(--section-y-xs); + padding-top: var(--section-y-sm); } .about-section--split, .about-origin-section, .about-method-section { + display: grid; + grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr); gap: var(--gap-lg); + align-items: start; } .about-section-heading h2, .about-origin-copy h2, .about-bottom-copy h2, .about-method-copy h2 { + margin: 0.75rem 0 0; + color: var(--theme-text); font-size: clamp(2.15rem, 5.2vw, 6rem); line-height: 0.94; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; text-wrap: balance; } .about-section-copy, .about-method-points { + display: flex; + flex-direction: column; gap: var(--gap-sm); } @@ -549,31 +127,54 @@ .about-card p, .about-proof-item p, .about-trust-note p { + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-base); + line-height: 1.7; +} + +.about-section-copy p + p, +.about-origin-copy p + p { + margin-top: var(--gap-sm); } .about-proof-strip, .about-grid-section, .about-credentials-grid { + display: grid; gap: var(--gap-sm); - margin-top: var(--section-y-xs); + margin-top: var(--section-y-sm); } .about-proof-strip { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); + grid-template-columns: repeat(4, minmax(0, 1fr)); } .about-grid-section { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); + grid-template-columns: repeat(3, minmax(0, 1fr)); } .about-credentials-grid { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.about-card, +.about-proof-item, +.about-credential-card, +.about-origin-box, +.about-method-section, +.about-trust-note { + border: 1px solid var(--theme-border); + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008)), + var(--theme-surface-soft); } .about-card, .about-proof-item, .about-credential-card { + min-height: 100%; + padding: clamp(1.1rem, 2.4vw, 1.8rem); transition: transform var(--duration-med) var(--ease-out), border-color var(--duration-med) var(--ease-out), @@ -590,79 +191,184 @@ .about-card h3, .about-credential-card h3 { + margin: 0.9rem 0 0.75rem; + color: var(--theme-text); font-size: var(--text-xl); + line-height: 1.08; + font-weight: 400; + letter-spacing: 0; +} + +.about-proof-item { + min-height: 9rem; +} + +.about-proof-item p { + margin-top: 0.7rem; } .about-quote-block { - margin-top: var(--section-y-xs); + margin-top: var(--section-y-sm); padding: clamp(1.4rem, 4vw, 3rem); + overflow: hidden; + border-left: 3px solid var(--theme-accent); background: radial-gradient(circle at 100% 0%, rgba(var(--theme-accent-rgb) / 0.18), transparent 18rem), #171717; } .about-quote-block p { + max-width: 58rem; + margin: 0; + color: #fff; font-size: clamp(1.7rem, 4vw, 4.2rem); line-height: 1.08; + font-weight: 300; letter-spacing: 0; } -.about-origin-section, .about-process-section, -.about-faq-section { - margin-top: var(--section-y-xs); - padding-top: var(--section-y-xs); +.about-origin-section { + margin-top: var(--section-y-sm); + padding-top: var(--section-y-sm); + border-top: 1px solid var(--theme-border); +} + +.about-method-section { + margin-top: var(--section-y-sm); + padding: clamp(1.25rem, 3vw, 2.4rem); +} + +.about-method-points > div, +.about-origin-box > div { + padding-top: 1rem; + border-top: 1px solid var(--theme-border); +} + +.about-origin-box { + display: grid; + gap: var(--gap-sm); + padding: clamp(1.1rem, 2.4vw, 1.8rem); +} + +.about-trust-note { + margin-top: var(--section-y-sm); + padding: clamp(1.1rem, 2.4vw, 1.8rem); + border-color: rgba(var(--theme-accent-rgb) / 0.24); + background: + linear-gradient(135deg, rgba(var(--theme-accent-rgb) / 0.11), transparent 60%), + var(--theme-surface-soft); +} + +.about-trust-note p { + max-width: 72rem; + margin-top: 0.75rem; + color: var(--theme-text); } .about-bottom-cta { - margin-top: var(--section-y-xs); + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: var(--gap-lg); + align-items: end; + margin-top: var(--section-y-sm); padding: clamp(1.5rem, 4vw, 3.5rem); + overflow: hidden; background: radial-gradient(circle at 92% 0%, rgba(255, 255, 255, 0.22), transparent 20rem), var(--theme-accent); } +.about-bottom-copy .about-label, +.about-bottom-copy h2, +.about-bottom-copy p { + color: #fff; +} + +.about-bottom-copy p { + max-width: 48rem; + margin-top: 1rem; +} + +.about-bottom-actions { + display: flex; + flex-wrap: wrap; + gap: var(--gap-xs); + justify-content: flex-end; +} + .about-btn { + display: inline-flex; + align-items: center; + justify-content: center; min-height: 48px; + padding: 0 1.1rem; + border: 1px solid transparent; + border-radius: 999px; + color: inherit; + font-size: var(--text-sm); + text-decoration: none; + transition: + transform var(--duration-med) var(--ease-out), + box-shadow var(--duration-med) var(--ease-out), + background-color var(--duration-med) var(--ease-out); } .about-btn:hover, .about-btn:focus-visible { + transform: translateY(-2px); box-shadow: var(--theme-shadow-soft); } -@media (max-width: 1100px) { +.about-btn--primary { + background: #fff; + color: var(--theme-accent); +} + +.about-btn--secondary { + border-color: rgba(255, 255, 255, 0.22); + background: rgba(255, 255, 255, 0.14); + color: #fff; + backdrop-filter: blur(8px); +} + +@media (max-width: 1180px) { .about-hero, .about-section--split, .about-origin-section, - .about-bottom-cta, - .about-method-section { + .about-method-section, + .about-bottom-cta { grid-template-columns: 1fr; } + + .about-proof-strip, + .about-grid-section, + .about-credentials-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } } -@media (max-width: 700px) { - .about-page { - padding-inline: var(--page-x); - } - - .about-shell { - width: var(--container-wide); - padding-inline: clamp(0.9rem, 4vw, 1.1rem); +@media (max-width: 760px) { + .about-hero { + padding-top: clamp(1.4rem, 5vw, 2rem); } .about-hero-copy h1 { font-size: clamp(2.55rem, 13vw, 4.4rem); } + .about-proof-strip, + .about-grid-section, + .about-credentials-grid { + grid-template-columns: 1fr; + } + .about-bottom-actions { display: grid; + justify-content: stretch; } .about-btn { width: 100%; } } - -/* --- Design System Refinement End --- */ - diff --git a/parfum-shop/src/pages/AboutPage.jsx b/parfum-shop/src/pages/AboutPage.jsx index 01a7c92..16acdc3 100644 --- a/parfum-shop/src/pages/AboutPage.jsx +++ b/parfum-shop/src/pages/AboutPage.jsx @@ -7,7 +7,7 @@ function AboutPage() {
-
+
diff --git a/parfum-shop/src/pages/DatenschutzPage.css b/parfum-shop/src/pages/DatenschutzPage.css index c39dcb2..3076db0 100644 --- a/parfum-shop/src/pages/DatenschutzPage.css +++ b/parfum-shop/src/pages/DatenschutzPage.css @@ -1,210 +1,108 @@ .datenschutz-page { min-height: 100vh; + padding: 0 0 var(--section-y-sm); color: var(--theme-text); - padding: 26px 38px 38px; background: - linear-gradient(to right, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.1)), - linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.45)); -} - -.datenschutz-shell { - background: var(--theme-surface); - border: 1px solid var(--theme-border); - padding: 38px; + radial-gradient(circle at 86% 8%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), + linear-gradient(180deg, var(--theme-bg), color-mix(in srgb, var(--theme-bg) 88%, #000 12%)); } .datenschutz-kicker, .datenschutz-label { display: block; - font-size: 10px; - letter-spacing: 0.22em; color: var(--theme-text-muted); + font-size: var(--text-xs); + letter-spacing: 0.22em; + text-transform: uppercase; } .datenschutz-hero { - padding-bottom: 32px; + padding: clamp(2rem, 5vw, 5rem) 0 var(--section-y-sm); border-bottom: 1px solid var(--theme-border); } .datenschutz-hero h1 { - margin: 14px 0 16px; - font-size: 64px; - line-height: 0.92; - font-weight: 300; - letter-spacing: 0; + margin: clamp(0.85rem, 2vw, 1.2rem) 0 clamp(1rem, 2vw, 1.35rem); color: var(--theme-text); -} - -.datenschutz-intro { - max-width: 820px; - margin: 0; - font-size: 17px; - line-height: 1.7; - color: var(--theme-text-muted); -} - -.datenschutz-section { - display: grid; - grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr); - gap: 28px; - align-items: start; - margin-top: 38px; - padding-top: 38px; - border-top: 1px solid var(--theme-border); -} - -.datenschutz-section-heading h2 { - margin: 10px 0 0; - font-size: 38px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.datenschutz-section-copy p { - margin: 0 0 16px; - font-size: 16px; - line-height: 1.75; - color: var(--theme-text-muted); -} - -.datenschutz-list { - margin: 0; - padding-left: 18px; - display: grid; - gap: 10px; -} - -.datenschutz-list li { - font-size: 16px; - line-height: 1.7; - color: var(--theme-text-muted); -} - -.datenschutz-note-box { - padding: 22px; - border: 1px solid rgba(255, 106, 0, 0.18); - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.08), - rgba(255, 106, 0, 0.03) - ); -} - -.datenschutz-note-box p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text); -} - -@media (max-width: 1100px) { - .datenschutz-section { - grid-template-columns: 1fr; - } - - .datenschutz-hero h1 { - font-size: 48px; - } -} - -@media (max-width: 700px) { - .datenschutz-page { - padding: 18px; - } - - .datenschutz-shell { - padding: 24px 18px; - } - - .datenschutz-hero h1 { - font-size: 36px; - } - - .datenschutz-section-heading h2 { - font-size: 28px; - } - - .datenschutz-intro, - .datenschutz-section-copy p, - .datenschutz-list li { - font-size: 15px; - } -} - - -/* --- Design System Refinement Start --- */ - -.datenschutz-page { - padding: clamp(1rem, 3vw, 2.4rem) var(--page-x) clamp(2rem, 5vw, 4rem); - background: - radial-gradient(circle at 88% 9%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), - linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.08)), - var(--theme-bg); -} - -.datenschutz-shell { - width: var(--container-narrow); - margin: 0 auto; - padding: clamp(1.25rem, 3vw, 2.8rem); - border-radius: var(--radius-lg); - box-shadow: var(--theme-shadow); -} - -.datenschutz-kicker, -.datenschutz-label { - font-size: var(--text-xs); -} - -.datenschutz-hero { - padding-bottom: var(--section-y-xs); -} - -.datenschutz-hero h1 { font-size: clamp(3rem, 8vw, 7.2rem); line-height: 0.9; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; } .datenschutz-intro { max-width: var(--text-measure); + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-lg); + line-height: 1.7; } .datenschutz-section { + display: grid; + grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr); gap: var(--gap-lg); - margin-top: var(--section-y-xs); - padding-top: var(--section-y-xs); + align-items: start; + margin-top: var(--section-y-sm); + padding-top: var(--section-y-sm); + border-top: 1px solid var(--theme-border); } .datenschutz-section-heading h2 { + margin: 0.75rem 0 0; + color: var(--theme-text); font-size: clamp(2rem, 4.2vw, 4.5rem); line-height: 0.96; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; text-wrap: balance; } -.datenschutz-section-copy p, -.datenschutz-list li, -.datenschutz-note-box p { +.datenschutz-section-copy p { + margin: 0 0 1rem; + color: var(--theme-text-muted); font-size: var(--text-base); + line-height: 1.75; +} + +.datenschutz-list { + display: grid; + gap: 0.75rem; + margin: 0; + padding-left: 1.1rem; +} + +.datenschutz-list li { + color: var(--theme-text-muted); + font-size: var(--text-base); + line-height: 1.7; } .datenschutz-note-box { - border-radius: var(--radius-lg); + padding: clamp(1.1rem, 2.4vw, 1.8rem); + border: 1px solid rgba(var(--theme-accent-rgb) / 0.24); + background: + linear-gradient(135deg, rgba(var(--theme-accent-rgb) / 0.11), transparent 60%), + var(--theme-surface-soft); +} + +.datenschutz-note-box p { + margin: 0; + color: var(--theme-text); + font-size: var(--text-base); + line-height: 1.65; +} + +@media (max-width: 900px) { + .datenschutz-section { + grid-template-columns: 1fr; + } } @media (max-width: 700px) { - .datenschutz-page { - padding-inline: var(--page-x); - } - - .datenschutz-shell { - width: var(--container-wide); - padding-inline: clamp(0.9rem, 4vw, 1.1rem); + .datenschutz-hero { + padding-top: clamp(1.4rem, 5vw, 2rem); } } - -/* --- Design System Refinement End --- */ - diff --git a/parfum-shop/src/pages/DatenschutzPage.jsx b/parfum-shop/src/pages/DatenschutzPage.jsx index ac16de6..1dcb12b 100644 --- a/parfum-shop/src/pages/DatenschutzPage.jsx +++ b/parfum-shop/src/pages/DatenschutzPage.jsx @@ -6,7 +6,7 @@ function DatenschutzPage() {
-
+
RECHTLICHE ANGABEN

DATENSCHUTZ

diff --git a/parfum-shop/src/pages/DiscoverySetPage.css b/parfum-shop/src/pages/DiscoverySetPage.css index 078ee0a..164e7d8 100644 --- a/parfum-shop/src/pages/DiscoverySetPage.css +++ b/parfum-shop/src/pages/DiscoverySetPage.css @@ -1,604 +1,393 @@ .discovery-page { min-height: 100vh; + padding: 0 0 var(--section-y-sm); color: var(--theme-text); - padding: 26px 38px 38px; background: - linear-gradient(to right, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.1)), - linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.45)); -} - -.discovery-shell { - background: var(--theme-surface); - border: 1px solid var(--theme-border); - padding: 0 38px 38px; + radial-gradient(circle at 88% 6%, rgba(var(--theme-accent-rgb) / 0.12), transparent 30rem), + linear-gradient(180deg, var(--theme-bg), color-mix(in srgb, var(--theme-bg) 88%, #000 12%)); } .discovery-topbar { - padding: 22px 0 10px; + position: fixed; + top: clamp(0.75rem, 2.1vw, 1.4rem); + right: var(--page-x); + left: var(--page-x); + z-index: 997; + min-height: 44px; + margin-bottom: 0; + pointer-events: none; } .discovery-back-link { display: inline-flex; align-items: center; - gap: 10px; - background: none; - border: none; + gap: 0.65rem; + min-height: 44px; padding: 0; - font-size: 13px; - cursor: pointer; + border: 0; + background: transparent; color: var(--theme-text); - letter-spacing: 0.01em; - transition: opacity 0.2s ease, transform 0.2s ease; + cursor: pointer; + font-size: var(--text-sm); + pointer-events: auto; + transition: + opacity var(--duration-med) var(--ease-out), + transform var(--duration-med) var(--ease-out); } -.discovery-back-link:hover { - opacity: 0.65; - transform: translateX(-2px); +.discovery-back-link:hover, +.discovery-back-link:focus-visible { + opacity: 0.68; + transform: translateX(-0.2rem); } .discovery-back-arrow { display: inline-block; - font-size: 14px; - line-height: 1; + width: 1rem; + height: 1rem; + flex: 0 0 auto; + background: currentColor; + -webkit-mask: url("/icon-arrow-left.svg") center / contain no-repeat; + mask: url("/icon-arrow-left.svg") center / contain no-repeat; } .discovery-kicker, -.discovery-label { +.discovery-label, +.discovery-price-row span, +.discovery-panel-facts span, +.discovery-product-index { display: block; - font-size: 10px; + color: var(--theme-text-muted); + font-size: var(--text-xs); letter-spacing: 0.22em; - color: var(--theme-text-muted); + text-transform: uppercase; } .discovery-hero { + position: relative; display: grid; - grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.9fr); - gap: 42px; - align-items: start; - padding: 18px 0 42px; -} - -.discovery-hero-copy h1 { - margin: 14px 0 22px; - font-size: 62px; - line-height: 0.94; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.discovery-intro { - max-width: 620px; - margin: 0; - font-size: 18px; - line-height: 1.55; - color: var(--theme-text-muted); -} - -.discovery-benefits { - display: grid; - gap: 18px; - margin-top: 42px; - max-width: 720px; -} - -.discovery-benefit { - display: grid; - grid-template-columns: 28px 1fr; - gap: 16px; - align-items: start; -} - -.discovery-benefit-icon { - font-size: 24px; - line-height: 1; - color: var(--theme-text); -} - -.discovery-benefit strong { - display: block; - margin-bottom: 4px; - font-size: 18px; - font-weight: 400; - color: var(--theme-text); -} - -.discovery-benefit p { - margin: 0; - font-size: 14px; - line-height: 1.55; - color: var(--theme-text-muted); -} - -.discovery-hero-actions { - margin-top: 40px; - max-width: 540px; -} - -.discovery-primary-btn { - width: 100%; - border: none; - background: #111; - color: #fff; - padding: 20px 24px; - font-size: 15px; - letter-spacing: 0.12em; - cursor: pointer; - transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease; -} - -.discovery-primary-btn:hover { - transform: translateY(-1px); - box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18); -} - -.discovery-hero-actions p, -.discovery-bottom-cta p { - margin: 12px 0 0; - text-align: center; - font-size: 13px; - color: var(--theme-text-muted); -} - -.discovery-mood-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 18px; -} - -.discovery-mood-tile { - aspect-ratio: 1 / 1; - overflow: hidden; - background: var(--theme-surface-soft); -} - -.discovery-mood-tile img { - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} - -/* Sections */ -.discovery-included, -.discovery-comparison-section { - padding-top: 46px; -} - -.discovery-section-heading { - margin-bottom: 28px; -} - -.discovery-section-heading h2 { - margin: 10px 0 0; - font-size: 42px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.discovery-section-heading p { - max-width: 940px; - margin: 18px 0 0; - font-size: 16px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.discovery-section-heading--center { - text-align: center; -} - -.discovery-section-heading--center p { - margin-left: auto; - margin-right: auto; -} - -/* Products */ -.discovery-products-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 26px 20px; -} - -.discovery-product-card { - display: flex; - flex-direction: column; - gap: 18px; -} - -.discovery-product-image { - aspect-ratio: 1 / 1; - overflow: hidden; - background: var(--theme-surface-soft); -} - -.discovery-product-image img { - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} - -.discovery-product-copy h3 { - margin: 0 0 6px; - font-size: 20px; - font-weight: 400; - color: var(--theme-text); -} - -.discovery-product-copy p { - margin: 0; - font-size: 15px; - line-height: 1.5; - color: var(--theme-text-muted); -} - -.discovery-product-tags { - display: flex; - flex-wrap: wrap; - gap: 8px; - margin-top: 14px; -} - -.discovery-product-tags span { - display: inline-flex; - align-items: center; - min-height: 32px; - padding: 7px 12px; - background: var(--theme-surface-soft); - font-size: 12px; - color: var(--theme-text); -} - -/* Steps */ -.discovery-steps-section { - padding-top: 46px; -} - -.discovery-steps-shell { - padding: 42px 38px; - background: #0f0f0f; -} - -.discovery-steps-shell h2 { - margin: 0 0 34px; - text-align: center; - font-size: 48px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: #fff; -} - -.discovery-steps-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 34px; -} - -.discovery-step-card { - text-align: center; - color: #fff; -} - -.discovery-step-number { - width: 52px; - height: 52px; - margin: 0 auto 18px; - display: flex; - align-items: center; - justify-content: center; - background: var(--theme-surface-soft); - color: var(--theme-text); - font-size: 24px; - font-weight: 300; -} - -.discovery-step-card h3 { - margin: 0 0 10px; - font-size: 20px; - font-weight: 400; -} - -.discovery-step-card p { - margin: 0 auto; - max-width: 260px; - font-size: 15px; - line-height: 1.6; - color: rgba(255, 255, 255, 0.84); -} - -/* Comparison */ -.discovery-comparison-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 24px; - margin-top: 34px; -} - -.discovery-comparison-card { - padding: 28px; - border: 1px solid var(--theme-border); - background: var(--theme-bg); -} - -.discovery-comparison-card--highlight { - border-color: rgba(255, 106, 0, 0.24); - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.08), - rgba(255, 106, 0, 0.03) - ); -} - -.discovery-comparison-head { - display: flex; - align-items: center; - gap: 14px; - margin-bottom: 14px; -} - -.discovery-comparison-icon { - font-size: 28px; - line-height: 1; - color: var(--theme-text); -} - -.discovery-comparison-head h3 { - margin: 0; - font-size: 28px; - font-weight: 400; - color: var(--theme-text); -} - -.discovery-comparison-card p { - margin: 0; - font-size: 16px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.discovery-bottom-cta { - max-width: 760px; - margin: 42px auto 0; -} - -@media (max-width: 1200px) { - .discovery-hero { - grid-template-columns: 1fr; - } - - .discovery-mood-grid { - max-width: 760px; - } -} - -@media (max-width: 1100px) { - .discovery-products-grid, - .discovery-steps-grid, - .discovery-comparison-grid { - grid-template-columns: 1fr; - } - - .discovery-hero-copy h1 { - font-size: 48px; - } - - .discovery-steps-shell h2, - .discovery-section-heading h2 { - font-size: 34px; - } -} - -@media (max-width: 700px) { - .discovery-page { - padding: 18px; - } - - .discovery-shell { - padding: 0 18px 28px; - } - - .discovery-hero { - gap: 28px; - padding: 10px 0 30px; - } - - .discovery-hero-copy h1 { - font-size: 34px; - } - - .discovery-intro { - font-size: 16px; - } - - .discovery-benefit strong { - font-size: 16px; - } - - .discovery-benefit p, - .discovery-section-heading p, - .discovery-product-copy p, - .discovery-step-card p, - .discovery-comparison-card p { - font-size: 14px; - } - - .discovery-section-heading h2, - .discovery-steps-shell h2 { - font-size: 28px; - } - - .discovery-mood-grid { - gap: 12px; - } - - .discovery-steps-shell { - padding: 30px 20px; - } - - .discovery-comparison-card { - padding: 22px 18px; - } - - .discovery-comparison-head h3 { - font-size: 22px; - } -} - - -/* --- Design System Refinement Start --- */ - -.discovery-page { - padding: clamp(1rem, 3vw, 2.4rem) var(--page-x) clamp(2rem, 5vw, 4rem); - background: - radial-gradient(circle at 85% 6%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), - linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.08)), - var(--theme-bg); -} - -.discovery-shell { - width: var(--container-wide); - margin: 0 auto; - padding: 0 clamp(1rem, 3vw, 2.6rem) clamp(2rem, 5vw, 4.4rem); - border: 1px solid var(--theme-border); - border-radius: var(--radius-lg); - background: var(--theme-surface); - box-shadow: var(--theme-shadow); -} - -.discovery-topbar { - padding: clamp(1rem, 2.2vw, 1.5rem) 0 clamp(0.8rem, 1.6vw, 1.1rem); -} - -.discovery-back-link, -.discovery-primary-btn { - min-height: 44px; -} - -.discovery-hero { grid-template-columns: repeat(12, minmax(0, 1fr)); - gap: var(--gap-lg); - padding: clamp(1rem, 3vw, 2rem) 0 var(--section-y-xs); + gap: var(--gap-md); + align-items: center; + min-height: clamp(680px, 100svh, 940px); + padding-block: 0; + isolation: isolate; +} + +.discovery-hero-stage { + position: relative; + grid-column: 1 / -1; + grid-row: 1; + display: grid; + grid-template-columns: repeat(12, minmax(0, 1fr)); + align-items: center; + min-height: inherit; + min-width: 0; } .discovery-hero-copy { - grid-column: 1 / span 7; -} - -.discovery-mood-grid { - grid-column: 8 / -1; - align-self: stretch; - grid-template-columns: repeat(6, minmax(0, 1fr)); - grid-auto-rows: minmax(7rem, 1fr); - gap: var(--gap-xs); -} - -.discovery-mood-tile { - grid-column: span 3; - border-radius: var(--radius-lg); - border: 1px solid var(--theme-border); - box-shadow: var(--theme-shadow-soft); -} - -.discovery-mood-tile:nth-child(1) { - grid-column: span 6; - aspect-ratio: 16 / 10; -} - -.discovery-mood-tile:nth-child(4), -.discovery-mood-tile:nth-child(5) { - grid-column: span 2; -} - -.discovery-mood-tile:nth-child(6) { - grid-column: span 2; -} - -.discovery-mood-tile img { - height: 100%; - transition: transform var(--duration-slow) var(--ease-out); -} - -.discovery-mood-tile:hover img { - transform: scale(1.035); -} - -.discovery-kicker, -.discovery-label { - font-size: var(--text-xs); + position: absolute; + top: clamp(6.5rem, 11vw, 9rem); + left: 0; + z-index: 5; + width: min(34vw, 540px); + min-width: 0; } .discovery-hero-copy h1 { - margin: clamp(0.85rem, 1.8vw, 1.2rem) 0 clamp(1.2rem, 2.5vw, 1.8rem); - font-size: clamp(3rem, 7vw, 8.6rem); + max-width: 10.8ch; + margin: clamp(0.75rem, 1.5vw, 1.15rem) 0 clamp(1rem, 2vw, 1.4rem); + color: var(--theme-text); + font-size: clamp(2.8rem, 4.8vw, 6rem); line-height: 0.9; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; text-wrap: balance; } .discovery-intro { max-width: var(--text-measure); + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-lg); + line-height: 1.62; + overflow-wrap: break-word; } -.discovery-benefits { - gap: var(--gap-sm); - margin-top: clamp(2rem, 4vw, 3.4rem); +.discovery-hero-visual { + position: relative; + grid-column: 4 / 10; + grid-row: 1; + justify-self: center; + align-self: center; + z-index: 1; + display: grid; + place-items: center; + width: 100%; + min-height: inherit; + margin: 0; + overflow: visible; } +.discovery-hero-visual img { + position: relative; + z-index: 2; + display: block; + width: min(100%, 560px); + max-height: min(68svh, 760px); + object-fit: contain; + filter: drop-shadow(0 34px 72px rgba(0, 0, 0, 0.42)); +} + +.discovery-panel-facts div, .discovery-benefit { - grid-template-columns: 2.2rem 1fr; - gap: var(--gap-sm); - padding-top: var(--gap-sm); + padding-top: 1rem; border-top: 1px solid var(--theme-border); } -.discovery-benefit-icon { +.discovery-panel-facts p { + margin: 0; + color: var(--theme-text); + font-size: var(--text-base); + line-height: 1.55; +} + +.discovery-order-panel { + position: relative; + grid-column: 10 / -1; + grid-row: 1; + z-index: 4; + justify-self: end; + align-self: center; + display: flex; + flex-direction: column; + gap: clamp(1rem, 1.8vw, 1.45rem); + width: min(100%, 390px); + min-width: 0; + padding: 0; + border: 0; + background: transparent; +} + +.discovery-price-row { + display: flex; + justify-content: space-between; + align-items: flex-end; + gap: var(--gap-sm); +} + +.discovery-price-row strong { + color: var(--theme-text); + font-size: clamp(1.45rem, 2.3vw, 2rem); + font-weight: 400; + letter-spacing: 0; +} + +.discovery-panel-facts { + display: grid; + grid-template-columns: 1fr; + gap: var(--gap-sm); +} + +.discovery-panel-facts span { + margin-bottom: 0.55rem; +} + +.discovery-product-tags span { + display: inline-flex; + align-items: center; + min-height: 34px; + padding: 0.45rem 0.75rem; + border: 1px solid var(--theme-border); + background: rgba(255, 255, 255, 0.035); + color: var(--theme-text); + font-size: var(--text-xs); + line-height: 1.2; +} + +.discovery-panel-actions { + display: grid; + gap: var(--gap-xs); +} + +.discovery-primary-btn { + display: inline-flex; + align-items: center; + justify-content: center; + width: 100%; + min-height: 52px; + padding: 0.8rem 1.35rem; + border: 1px solid var(--theme-accent); + border-radius: 999px; + background: var(--theme-accent); + color: #fff; + cursor: pointer; + font-size: var(--text-sm); + letter-spacing: 0.1em; + line-height: 1.25; + text-align: center; + text-transform: uppercase; + transition: + transform var(--duration-med) var(--ease-out), + border-color var(--duration-med) var(--ease-out), + box-shadow var(--duration-med) var(--ease-out), + background-color var(--duration-med) var(--ease-out); +} + +.discovery-primary-btn:hover, +.discovery-primary-btn:focus-visible { + transform: translateY(-2px); + box-shadow: var(--theme-shadow-soft); +} + +.discovery-primary-btn:active { + transform: translateY(0) scale(0.98); +} + +.discovery-panel-actions p { + margin: 0; + color: var(--theme-text-muted); + font-size: var(--text-sm); + line-height: 1.45; +} + +.discovery-story-grid, +.discovery-comparison-section { + display: grid; + grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); + gap: clamp(1.5rem, 5vw, 6rem); + align-items: stretch; +} + +.discovery-story-grid, +.discovery-process-section, +.discovery-included, +.discovery-comparison-section { + position: relative; + padding-block: clamp(4rem, 9vw, 9rem); +} + +.discovery-story-grid { + margin-top: clamp(4rem, 8vw, 8rem); +} + +.discovery-story-grid::before, +.discovery-process-section::before, +.discovery-included::before, +.discovery-comparison-section::before { + position: absolute; + top: clamp(1.2rem, 3vw, 2rem); + right: 0; + width: min(32vw, 420px); + padding-top: 0.55rem; + border-top: 1px solid var(--theme-border); + color: var(--theme-text-muted); + font-size: var(--text-xs); + letter-spacing: 0.16em; + line-height: 1.4; + text-transform: uppercase; +} + +.discovery-story-grid::before { + content: "01 / Einstieg"; +} + +.discovery-process-section::before { + content: "03 / Ablauf"; +} + +.discovery-included::before { + content: "02 / Düfte"; +} + +.discovery-comparison-section::before { + content: "04 / Entscheidung"; +} + +.discovery-story-copy { + align-self: center; + max-width: 58rem; +} + +.discovery-story-copy h2, +.discovery-section-heading h2, +.discovery-section-intro h2, +.discovery-final-cta h2 { + margin: 0.85rem 0 0; + color: var(--theme-text); + font-size: clamp(2.2rem, 5.6vw, 6rem); + font-weight: 300; + line-height: 0.94; + letter-spacing: 0; + text-transform: uppercase; + text-wrap: balance; +} + +.discovery-story-copy p, +.discovery-section-heading p, +.discovery-final-cta p { + max-width: var(--text-measure); + margin: 1.25rem 0 0; + color: var(--theme-text-muted); + font-size: var(--text-lg); + line-height: 1.62; +} + +.discovery-benefit-panel { + display: grid; + grid-template-columns: 1fr; + align-content: end; + gap: var(--gap-md); + min-height: clamp(360px, 42vw, 620px); + padding: clamp(1.2rem, 3vw, 2.4rem); + border: 1px solid var(--theme-border); + background: + radial-gradient(circle at 66% 32%, rgba(255, 255, 255, 0.1), transparent 14rem), + linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)), + var(--theme-paper); +} + +.discovery-benefit { + display: grid; + grid-template-columns: 2.2rem minmax(0, 1fr); + gap: var(--gap-sm); + align-items: start; +} + +.discovery-benefit-icon, +.discovery-comparison-icon { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; - border: 1px solid rgba(var(--theme-accent-rgb) / 0.45); + border: 1px solid rgba(var(--theme-accent-rgb) / 0.48); border-radius: 999px; color: var(--theme-accent); font-size: 1rem; + line-height: 1; } .discovery-benefit strong { + display: block; + margin-bottom: 0.35rem; + color: var(--theme-text); font-size: var(--text-base); + font-weight: 400; + line-height: 1.25; } -.discovery-benefit p, -.discovery-product-copy p, -.discovery-step-card p, -.discovery-comparison-card p { +.discovery-benefit p { + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-sm); + line-height: 1.55; } -.discovery-hero-actions { - max-width: 36rem; - margin-top: clamp(1.8rem, 3.8vw, 3rem); -} - -.discovery-primary-btn { - border-radius: 999px; - background: #111; - letter-spacing: 0.1em; -} - -.discovery-primary-btn:hover, -.discovery-primary-btn:focus-visible { - box-shadow: var(--theme-shadow-soft); -} - -.discovery-included, -.discovery-comparison-section, -.discovery-steps-section { - padding-top: var(--section-y-sm); +.discovery-section-intro, +.discovery-section-heading { + max-width: 74rem; } .discovery-section-heading { @@ -609,35 +398,72 @@ margin-bottom: clamp(1.8rem, 4vw, 3.8rem); } -.discovery-section-heading h2 { +.discovery-steps-grid, +.discovery-products-grid, +.discovery-comparison-grid { + display: grid; + gap: var(--gap-sm); +} + +.discovery-steps-grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); + margin-top: clamp(1.6rem, 4vw, 4rem); +} + +.discovery-step-card, +.discovery-product-card, +.discovery-comparison-card { + border: 1px solid var(--theme-border); + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008)), + var(--theme-surface-soft); +} + +.discovery-step-card { + min-height: 280px; + display: flex; + flex-direction: column; + justify-content: space-between; + gap: var(--gap-md); + padding: clamp(1rem, 2vw, 1.5rem); +} + +.discovery-step-number { + color: var(--theme-accent); + font-size: var(--text-sm); + letter-spacing: 0.2em; +} + +.discovery-step-card h3, +.discovery-comparison-head h3 { margin: 0; - font-size: clamp(2.2rem, 5.5vw, 6.2rem); - line-height: 0.94; - letter-spacing: 0; - text-wrap: balance; + color: var(--theme-text); + font-size: var(--text-lg); + font-weight: 400; + line-height: 1.08; + letter-spacing: 0.02em; + text-transform: uppercase; } -.discovery-section-heading p { - max-width: var(--text-measure); - margin-top: var(--gap-sm); +.discovery-step-card p, +.discovery-comparison-card p { + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-base); -} - -.discovery-section-heading--center { - display: block; + line-height: 1.65; } .discovery-products-grid { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); - gap: var(--gap-md); + grid-template-columns: repeat(3, minmax(0, 1fr)); } .discovery-product-card { + min-height: clamp(390px, 40vw, 560px); + display: grid; + grid-template-rows: auto minmax(14rem, 1fr) auto; gap: var(--gap-sm); - padding: clamp(0.8rem, 1.4vw, 1rem); - border: 1px solid var(--theme-border); - border-radius: var(--radius-lg); - background: var(--theme-bg); + padding: clamp(1rem, 2vw, 1.4rem); + overflow: hidden; transition: transform var(--duration-med) var(--ease-out), border-color var(--duration-med) var(--ease-out), @@ -651,132 +477,327 @@ } .discovery-product-image { - border-radius: var(--radius-md); + display: grid; + place-items: center; + min-height: 0; + overflow: hidden; + background: + radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.08), transparent 48%), + var(--theme-paper); } .discovery-product-image img { - height: 100%; + display: block; + width: min(86%, 360px); + height: auto; + object-fit: contain; + filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.24)); + transition: transform var(--duration-slow) var(--ease-out); +} + +.discovery-product-card:hover .discovery-product-image img { + transform: scale(1.04) rotate(-0.35deg); } .discovery-product-copy h3 { + max-width: 14ch; + margin: 0 0 0.45rem; + color: var(--theme-text); font-size: var(--text-lg); + font-weight: 400; + line-height: 1.08; + letter-spacing: 0.02em; + text-transform: uppercase; } -.discovery-product-tags span { - min-height: 34px; - border-radius: 999px; - background: var(--theme-surface-soft); +.discovery-product-copy p { + margin: 0; + color: var(--theme-text-muted); + font-size: var(--text-sm); + line-height: 1.5; } -.discovery-steps-shell { - padding: clamp(1.5rem, 5vw, 4rem); - border-radius: var(--radius-lg); - background: - radial-gradient(circle at 20% 0%, rgba(var(--theme-accent-rgb) / 0.2), transparent 24rem), - #111; -} - -.discovery-steps-shell h2 { - font-size: clamp(2.35rem, 5.5vw, 6rem); - letter-spacing: 0; -} - -.discovery-steps-grid { - gap: var(--gap-md); -} - -.discovery-step-card { - padding: clamp(1rem, 2vw, 1.4rem); - border: 1px solid rgba(255, 255, 255, 0.14); - border-radius: var(--radius-lg); - background: rgba(255, 255, 255, 0.045); -} - -.discovery-step-number { - border-radius: 999px; - background: var(--theme-accent); - color: #fff; +.discovery-product-tags { + display: flex; + flex-wrap: wrap; + gap: var(--gap-xs); + margin-top: var(--gap-sm); } .discovery-comparison-grid { - gap: var(--gap-md); + grid-column: 1 / -1; + grid-template-columns: 1fr 1fr; + align-self: start; } .discovery-comparison-card { + min-height: 240px; padding: clamp(1.25rem, 3vw, 2.2rem); - border-radius: var(--radius-lg); } -.discovery-comparison-head h3 { - font-size: var(--text-xl); +.discovery-comparison-card--highlight { + border-color: rgba(var(--theme-accent-rgb) / 0.32); + background: + linear-gradient(135deg, rgba(var(--theme-accent-rgb) / 0.12), transparent 62%), + var(--theme-surface-soft); } -.discovery-bottom-cta { +.discovery-comparison-head { + display: flex; + align-items: center; + gap: var(--gap-sm); + margin-bottom: var(--gap-sm); +} + +.discovery-comparison-icon { + width: 2.3rem; + height: 2.3rem; + font-size: 1.2rem; +} + +.discovery-final-cta { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: var(--gap-lg); + align-items: end; + margin-top: clamp(1rem, 3vw, 2rem); + padding: clamp(1.5rem, 4vw, 3.5rem); + overflow: hidden; + background: + radial-gradient(circle at 86% 12%, rgba(255, 255, 255, 0.24), transparent 18rem), + linear-gradient(135deg, var(--theme-accent), #e95700); +} + +.discovery-final-cta .discovery-label, +.discovery-final-cta h2, +.discovery-final-cta p { + color: #fff; +} + +.discovery-final-cta p { max-width: 48rem; - margin-top: var(--gap-lg); } -@media (max-width: 1200px) { - .discovery-hero { +.discovery-final-actions { + display: flex; + justify-content: flex-end; + min-width: min(100%, 22rem); +} + +.discovery-final-actions .discovery-primary-btn { + border-color: rgba(255, 255, 255, 0.18); + background: #262626; +} + +@media (max-width: 1180px) { + .discovery-story-grid, + .discovery-comparison-section, + .discovery-final-cta { grid-template-columns: 1fr; } - .discovery-hero-copy, - .discovery-mood-grid { - grid-column: 1; + .discovery-hero { + grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.72fr); + align-items: center; + min-height: 100svh; + padding-top: clamp(5.6rem, 9vw, 7.4rem); + padding-bottom: clamp(1rem, 2vw, 1.6rem); } - .discovery-mood-grid { - max-width: none; + .discovery-hero-stage { + grid-column: 1; + grid-row: 1; + min-height: 0; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto minmax(0, 1fr) auto; + gap: clamp(0.65rem, 1.4vw, 1rem); + align-self: stretch; + place-items: stretch; + } + + .discovery-hero-copy { + position: static; + width: min(100%, 720px); + } + + .discovery-hero-copy h1 { + max-width: 12ch; + font-size: clamp(2.4rem, 5.5vw, 4.6rem); + } + + .discovery-hero-visual { + grid-column: auto; + grid-row: auto; + min-height: 0; + height: min(42svh, 420px); + } + + .discovery-hero-visual img { + width: min(78%, 480px); + max-height: 100%; + } + + .discovery-order-panel { + grid-column: 2; + grid-row: 1; + justify-self: stretch; + align-self: center; + width: 100%; + gap: var(--gap-xs); + } + + .discovery-benefit-panel { + min-height: auto; + } + + .discovery-products-grid, + .discovery-steps-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 820px) { - .discovery-page { - padding-inline: var(--page-x); + .discovery-topbar { + top: clamp(4.35rem, 14vw, 5.05rem); + z-index: 999; + right: clamp(0.75rem, 4vw, 1rem); + left: clamp(0.75rem, 4vw, 1rem); } - .discovery-shell { - width: var(--container-wide); - padding-inline: clamp(0.9rem, 4vw, 1.1rem); - } - - .discovery-section-heading { + .discovery-hero { grid-template-columns: 1fr; - gap: var(--gap-sm); + gap: clamp(0.75rem, 2vw, 1rem); + min-height: auto; + padding-top: clamp(6.7rem, 20vw, 7.25rem); + padding-bottom: clamp(1rem, 3vw, 1.5rem); } - .discovery-mood-grid { - grid-template-columns: repeat(2, minmax(0, 1fr)); - grid-auto-rows: auto; + .discovery-hero-stage, + .discovery-order-panel { + grid-column: 1; + grid-row: auto; } - .discovery-mood-tile, - .discovery-mood-tile:nth-child(1), - .discovery-mood-tile:nth-child(4), - .discovery-mood-tile:nth-child(5), - .discovery-mood-tile:nth-child(6) { - grid-column: auto; - aspect-ratio: 1 / 1; + .discovery-hero-copy { + width: 100%; + max-width: 100%; } + .discovery-intro { + width: min(100%, 38ch); + max-width: 38ch; + } + + .discovery-hero-copy h1 { + max-width: 100%; + font-size: clamp(2rem, 8vw, 3rem); + line-height: 0.9; + } + + .discovery-intro { + font-size: var(--text-base); + } + + .discovery-hero-visual { + height: min(30svh, 260px); + min-height: 190px; + } + + .discovery-hero-visual img { + width: min(88%, 380px); + } + + .discovery-panel-facts, + .discovery-section-heading, + .discovery-comparison-grid, .discovery-products-grid, - .discovery-steps-grid, - .discovery-comparison-grid { + .discovery-steps-grid { grid-template-columns: 1fr; } + + .discovery-price-row { + order: 1; + } + + .discovery-panel-actions { + order: 2; + } + + .discovery-panel-facts { + order: 3; + } + + .discovery-story-grid::before, + .discovery-process-section::before, + .discovery-included::before, + .discovery-comparison-section::before { + right: auto; + left: 0; + width: min(100%, 24rem); + } + + .discovery-story-copy h2, + .discovery-section-heading h2, + .discovery-section-intro h2, + .discovery-final-cta h2 { + font-size: clamp(2.1rem, 11vw, 4rem); + } + + .discovery-story-grid, + .discovery-process-section, + .discovery-included, + .discovery-comparison-section { + padding-block: clamp(4rem, 14vw, 6rem); + } + + .discovery-benefit { + grid-template-columns: 1fr; + } + + .discovery-final-actions { + justify-content: stretch; + min-width: 0; + } } -@media (max-width: 430px) { - .discovery-mood-grid { - gap: 0.6rem; +@media (max-width: 520px) { + .discovery-hero-copy h1 { + font-size: clamp(1.95rem, 9vw, 2.85rem); + } + + .discovery-kicker, + .discovery-label, + .discovery-price-row span, + .discovery-panel-facts span, + .discovery-product-index { + font-size: 0.68rem; + letter-spacing: 0.16em; + } + + .discovery-price-row { + align-items: flex-start; + flex-direction: column; + gap: 0.25rem; } .discovery-primary-btn { + min-height: 48px; padding-inline: 1rem; - font-size: 0.78rem; + font-size: 0.76rem; + white-space: normal; + } + + .discovery-product-card { + min-height: 360px; } } -/* --- Design System Refinement End --- */ - +@media (prefers-reduced-motion: reduce) { + .discovery-primary-btn, + .discovery-product-card, + .discovery-product-image img, + .discovery-back-link { + transition: none; + } +} diff --git a/parfum-shop/src/pages/DiscoverySetPage.jsx b/parfum-shop/src/pages/DiscoverySetPage.jsx index c901fac..31e0c61 100644 --- a/parfum-shop/src/pages/DiscoverySetPage.jsx +++ b/parfum-shop/src/pages/DiscoverySetPage.jsx @@ -4,15 +4,271 @@ import SharedNavbar from "../components/SharedNavbar"; import { useShop } from "../shop/useShop"; import "./DiscoverySetPage.css"; -const moodImages = [ - "/DISCOVERYSET.png", - "/DISCOVERYSET.png", - "/DISCOVERYSET.png", - "/DISCOVERYSET.png", - "/DISCOVERYSET.png", - "/DISCOVERYSET.png", +const DISCOVERY_SET_IMAGE = "/DISCOVERYSET.png"; + +const discoveryPanelFacts = [ + { label: "Umfang", value: "6 × 2ml" }, + { label: "Gutschrift", value: "CHF 48 werden beim späteren Full-Size-Kauf berücksichtigt." }, ]; +const discoveryBenefits = [ + { + title: "6 × 2ml Samples aller Signature-Düfte", + text: "Kalter Beton, Schwarzes Benzin, Verbranntes Chrom, Blasse Seide, Weisse Asche und Nasser Marmor.", + }, + { + title: "CHF 48 Gutschein automatisch im Set", + text: "Nur das erste Discovery Set erstellt den einmaligen Rabatt. Er wird bei einem späteren Full-Size-Kauf automatisch angerechnet.", + }, + { + title: "Jedes Sample = ca. 20 Anwendungen", + text: "Genug, um jeden Duft mehrere Tage im Alltag und in unterschiedlichen Situationen zu testen.", + }, + { + title: "Hochwertige Mini-Flacons", + text: "Sorgfältig zusammengestellt, reduziert gestaltet und als Teil des atmos Konzepts gedacht.", + }, +]; + +const discoverySteps = [ + { + number: "01", + title: "Bestellen", + text: "Discovery Set für CHF 48 bestellen. Nur dein erstes Set erzeugt automatisch einen einmaligen Rabatt.", + }, + { + number: "02", + title: "Testen", + text: "Jeden Duft mindestens einige Tage tragen. Im Alltag, zu verschiedenen Anlässen und auf der eigenen Haut.", + }, + { + number: "03", + title: "Entscheiden", + text: "Full-Size bestellen. CHF 48 werden automatisch angerechnet, sofern der Rabatt noch nicht genutzt wurde.", + }, +]; + +const discoveryComparison = [ + { + icon: "×", + title: "Traditioneller Weg", + text: "CHF 180+ für eine Full Size ausgeben, ohne zu wissen, ob sie wirklich passt. Risiko: Fehlkauf, Überforderung oder ein Duft, der im Regal bleibt.", + }, + { + icon: "✓", + title: "Discovery Set Weg", + text: "CHF 48 investieren, alle Düfte testen, bewusst entscheiden. Die erste Investition wird einmalig angerechnet – der Einstieg bleibt kontrolliert, nachvollziehbar und fair.", + highlight: true, + }, +]; + +function DiscoveryOrderPanel({ onBuy }) { + return ( + + ); +} + +function DiscoveryHero({ onBuy }) { + return ( +
+
+
+ DISCOVERY SET +

+ DER SICHERSTE EINSTIEG +
+ IN DIE WELT DER NISCHEN- +
+ DÜFTE +

+ +

+ 6 Düfte × 2ml. Jeden Duft eine Woche tragen. Verstehen, was + wirklich funktioniert. Ohne Risiko. +

+
+ +
+ Atmos Discovery Set +
+ +
+ + +
+ ); +} + +function DiscoveryStorySection() { + return ( +
+
+ + WARUM DISCOVERY SET + +

DER KLÜGERE EINSTIEG IN NISCHENDÜFTE.

+

+ Nischen-Parfums sind keine Impulskäufe. Sie brauchen Zeit, um zu + verstehen, wie sie auf deiner Haut funktionieren, wie sie sich im + Alltag entwickeln und ob sie wirklich zu dir passen. +

+
+ +
+ {discoveryBenefits.map((benefit) => ( +
+ +
+ {benefit.title} +

{benefit.text}

+
+
+ ))} +
+
+ ); +} + +function DiscoveryProcessSection() { + return ( +
+
+ + ABLAUF + +

So funktioniert's

+
+ +
+ {discoverySteps.map((step) => ( +
+ {step.number} +

{step.title}

+

{step.text}

+
+ ))} +
+
+ ); +} + +function DiscoveryIncludedSection() { + return ( +
+
+ + IM SET ENTHALTEN + +

ALLE 6 SIGNATURE-DÜFTE ZUM TESTEN.

+
+ +
+ {perfumes.map((perfume) => ( +
+ {perfume.id} + +
+ {perfume.name} +
+ +
+

{perfume.name}

+

{perfume.text}

+ +
+ {perfume.materialTags.slice(0, 3).map((tag) => ( + {tag} + ))} +
+
+
+ ))} +
+
+ ); +} + +function DiscoveryComparisonSection() { + return ( +
+
+ {discoveryComparison.map((item) => ( +
+
+ +

{item.title}

+
+

{item.text}

+
+ ))} +
+
+ ); +} + +function DiscoveryFinalCta({ onBuy }) { + return ( +
+
+ + DISCOVERY SET + +

DER SICHERSTE EINSTIEG.

+

+ Kostenloser Versand · 2–3 Werktage · Einmalige Anrechnung bei Full-Size +

+
+ +
+ +
+
+ ); +} + function DiscoverySetPage() { const navigate = useNavigate(); const { addToCart } = useShop(); @@ -23,219 +279,20 @@ function DiscoverySetPage() {
-
+
-
-
- - DISCOVERY SET - -

- DER SICHERSTE EINSTIEG -
- IN DIE WELT DER NISCHEN- -
- DÜFTE -

- -

- 6 Düfte × 2ml. Jeden Duft eine Woche tragen. Verstehen, was - wirklich funktioniert. Ohne Risiko. -

- -
-
- -
- 6 × 2ml Samples aller Signature-Düfte -

- Kalter Beton, Schwarzes Benzin, Verbranntes Chrom, Blasse - Seide, Weisse Asche und Nasser Marmor. -

-
-
- -
- -
- CHF 48 Gutschein automatisch im Set -

- Nur das erste Discovery Set erstellt den einmaligen Rabatt. - Er wird bei einem späteren Full-Size-Kauf automatisch angerechnet. -

-
-
- -
- -
- Jedes Sample = ca. 20 Anwendungen -

- Genug, um jeden Duft mehrere Tage im Alltag und in - unterschiedlichen Situationen zu testen. -

-
-
- -
- -
- Hochwertige Mini-Flacons -

- Sorgfältig zusammengestellt, reduziert gestaltet und als - Teil des atmos Konzepts gedacht. -

-
-
-
- -
- -

Nur das erste Set erstellt einen einmaligen CHF 48 Full-Size-Rabatt

-
-
- -
- {moodImages.map((image, index) => ( -
- {`Discovery -
- ))} -
-
- -
-
- - IM SET ENTHALTEN - -

ALLE 6 SIGNATURE-DÜFTE ZUM TESTEN.

-
- -
- {perfumes.map((perfume) => ( -
-
- {perfume.name} -
- -
-

{perfume.name}

-

{perfume.text}

- -
- {perfume.materialTags.slice(0, 3).map((tag) => ( - {tag} - ))} -
-
-
- ))} -
-
- -
-
-

So funktioniert's

- -
-
-
1
-

Bestellen

-

- Discovery Set für CHF 48 bestellen. Nur dein erstes Set erzeugt - automatisch einen einmaligen Rabatt. -

-
- -
-
2
-

Testen

-

- Jeden Duft mindestens einige Tage tragen. Im Alltag, zu - verschiedenen Anlässen und auf der eigenen Haut. -

-
- -
-
3
-

Entscheiden

-

- Full-Size bestellen. CHF 48 werden automatisch angerechnet, - sofern der Rabatt noch nicht genutzt wurde. -

-
-
-
-
- -
-
- - WARUM DISCOVERY SET - -

DER KLÜGERE EINSTIEG IN NISCHENDÜFTE.

-

- Nischen-Parfums sind keine Impulskäufe. Sie brauchen Zeit, um zu - verstehen, wie sie auf deiner Haut funktionieren, wie sie sich im - Alltag entwickeln und ob sie wirklich zu dir passen. -

-
- -
-
-
- × -

Traditioneller Weg

-
-

- CHF 180+ für eine Full Size ausgeben, ohne zu wissen, ob sie - wirklich passt. Risiko: Fehlkauf, Überforderung oder ein Duft, - der im Regal bleibt. -

-
- -
-
- -

Discovery Set Weg

-
-

- CHF 48 investieren, alle Düfte testen, bewusst entscheiden. Die - erste Investition wird einmalig angerechnet – der Einstieg bleibt - kontrolliert, nachvollziehbar und fair. -

-
-
- -
- -

Kostenloser Versand · 2–3 Werktage · Einmalige Anrechnung bei Full-Size

-
-
+ + + + + +
); diff --git a/parfum-shop/src/pages/ImpressumPage.css b/parfum-shop/src/pages/ImpressumPage.css index 949dc19..3fa3921 100644 --- a/parfum-shop/src/pages/ImpressumPage.css +++ b/parfum-shop/src/pages/ImpressumPage.css @@ -1,206 +1,62 @@ .impressum-page { min-height: 100vh; + padding: 0 0 var(--section-y-sm); color: var(--theme-text); - padding: 26px 38px 38px; background: - linear-gradient(to right, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.1)), - linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.45)); -} - -.impressum-shell { - background: var(--theme-surface); - border: 1px solid var(--theme-border); - padding: 38px; + radial-gradient(circle at 86% 8%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), + linear-gradient(180deg, var(--theme-bg), color-mix(in srgb, var(--theme-bg) 88%, #000 12%)); } .impressum-kicker, .impressum-label { display: block; - font-size: 10px; - letter-spacing: 0.22em; color: var(--theme-text-muted); + font-size: var(--text-xs); + letter-spacing: 0.22em; + text-transform: uppercase; } .impressum-hero { - padding-bottom: 32px; + padding: clamp(2rem, 5vw, 5rem) 0 var(--section-y-sm); border-bottom: 1px solid var(--theme-border); } .impressum-hero h1 { - margin: 14px 0 16px; - font-size: 64px; - line-height: 0.92; - font-weight: 300; - letter-spacing: 0; + margin: clamp(0.85rem, 2vw, 1.2rem) 0 clamp(1rem, 2vw, 1.35rem); color: var(--theme-text); -} - -.impressum-intro { - max-width: 760px; - margin: 0; - font-size: 17px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.impressum-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 18px; - margin-top: 38px; -} - -.impressum-card { - padding: 24px; - background: var(--theme-bg); - border: 1px solid var(--theme-border); - min-height: 210px; -} - -.impressum-card h2 { - margin: 14px 0 12px; - font-size: 26px; - line-height: 1.05; - font-weight: 400; - color: var(--theme-text); -} - -.impressum-card p { - margin: 0; - font-size: 15px; - line-height: 1.7; - color: var(--theme-text-muted); -} - -.impressum-section { - display: grid; - grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr); - gap: 28px; - align-items: start; - margin-top: 38px; - padding-top: 38px; - border-top: 1px solid var(--theme-border); -} - -.impressum-section-heading h2 { - margin: 10px 0 0; - font-size: 38px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.impressum-section-copy p { - margin: 0 0 16px; - font-size: 16px; - line-height: 1.75; - color: var(--theme-text-muted); -} - -.impressum-note-box { - padding: 22px; - border: 1px solid rgba(255, 106, 0, 0.18); - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.08), - rgba(255, 106, 0, 0.03) - ); -} - -.impressum-note-box p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text); -} - -@media (max-width: 1100px) { - .impressum-grid, - .impressum-section { - grid-template-columns: 1fr; - } - - .impressum-hero h1 { - font-size: 48px; - } -} - -@media (max-width: 700px) { - .impressum-page { - padding: 18px; - } - - .impressum-shell { - padding: 24px 18px; - } - - .impressum-hero h1 { - font-size: 36px; - } - - .impressum-section-heading h2 { - font-size: 28px; - } - - .impressum-intro, - .impressum-card p, - .impressum-section-copy p { - font-size: 15px; - } -} - - -/* --- Design System Refinement Start --- */ - -.impressum-page { - padding: clamp(1rem, 3vw, 2.4rem) var(--page-x) clamp(2rem, 5vw, 4rem); - background: - radial-gradient(circle at 88% 9%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), - linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.08)), - var(--theme-bg); -} - -.impressum-shell { - width: var(--container-narrow); - margin: 0 auto; - padding: clamp(1.25rem, 3vw, 2.8rem); - border-radius: var(--radius-lg); - box-shadow: var(--theme-shadow); -} - -.impressum-kicker, -.impressum-label { - font-size: var(--text-xs); -} - -.impressum-hero { - padding-bottom: var(--section-y-xs); -} - -.impressum-hero h1 { font-size: clamp(3rem, 8vw, 7.2rem); line-height: 0.9; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; } .impressum-intro { max-width: var(--text-measure); + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-lg); + line-height: 1.65; } .impressum-grid { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-sm); - margin-top: var(--section-y-xs); + margin-top: var(--section-y-sm); } .impressum-card, .impressum-note-box { - border-radius: var(--radius-lg); + border: 1px solid var(--theme-border); + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008)), + var(--theme-surface-soft); } .impressum-card { + min-height: 210px; + padding: clamp(1.1rem, 2.4vw, 1.8rem); transition: transform var(--duration-med) var(--ease-out), border-color var(--duration-med) var(--ease-out), @@ -213,42 +69,74 @@ box-shadow: var(--theme-shadow-soft); } -.impressum-card h2, -.impressum-section-heading h2 { +.impressum-card h2 { + margin: 0.9rem 0 0.75rem; + color: var(--theme-text); + font-size: var(--text-xl); + line-height: 1.08; + font-weight: 400; letter-spacing: 0; } -.impressum-card h2 { - font-size: var(--text-xl); +.impressum-card p { + margin: 0; + color: var(--theme-text-muted); + font-size: var(--text-base); + line-height: 1.7; } .impressum-section { + display: grid; + grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.28fr); gap: var(--gap-lg); - margin-top: var(--section-y-xs); - padding-top: var(--section-y-xs); + align-items: start; + margin-top: var(--section-y-sm); + padding-top: var(--section-y-sm); + border-top: 1px solid var(--theme-border); } .impressum-section-heading h2 { + margin: 0.75rem 0 0; + color: var(--theme-text); font-size: clamp(2rem, 4.2vw, 4.5rem); line-height: 0.96; + font-weight: 300; + letter-spacing: 0; + text-transform: uppercase; + text-wrap: balance; } -.impressum-card p, -.impressum-section-copy p, -.impressum-note-box p { +.impressum-section-copy p { + margin: 0 0 1rem; + color: var(--theme-text-muted); font-size: var(--text-base); + line-height: 1.75; +} + +.impressum-note-box { + padding: clamp(1.1rem, 2.4vw, 1.8rem); + border-color: rgba(var(--theme-accent-rgb) / 0.24); + background: + linear-gradient(135deg, rgba(var(--theme-accent-rgb) / 0.11), transparent 60%), + var(--theme-surface-soft); +} + +.impressum-note-box p { + margin: 0; + color: var(--theme-text); + font-size: var(--text-base); + line-height: 1.65; +} + +@media (max-width: 900px) { + .impressum-grid, + .impressum-section { + grid-template-columns: 1fr; + } } @media (max-width: 700px) { - .impressum-page { - padding-inline: var(--page-x); - } - - .impressum-shell { - width: var(--container-wide); - padding-inline: clamp(0.9rem, 4vw, 1.1rem); + .impressum-hero { + padding-top: clamp(1.4rem, 5vw, 2rem); } } - -/* --- Design System Refinement End --- */ - diff --git a/parfum-shop/src/pages/ImpressumPage.jsx b/parfum-shop/src/pages/ImpressumPage.jsx index de927b3..566e5d7 100644 --- a/parfum-shop/src/pages/ImpressumPage.jsx +++ b/parfum-shop/src/pages/ImpressumPage.jsx @@ -6,7 +6,7 @@ function ImpressumPage() {
-
+
RECHTLICHE ANGABEN diff --git a/parfum-shop/src/pages/LandingPage.css b/parfum-shop/src/pages/LandingPage.css index e5ee078..acdcd8e 100644 --- a/parfum-shop/src/pages/LandingPage.css +++ b/parfum-shop/src/pages/LandingPage.css @@ -447,9 +447,22 @@ align-items: center; justify-content: center; min-width: 2rem; + width: 2rem; + height: 2rem; color: var(--theme-accent); - font-size: clamp(1.5rem, 2.5vw, 2rem); - line-height: 1; + font-size: 0; + line-height: 0; +} + +.arrow::before { + content: ""; + display: block; + width: clamp(1.35rem, 2.2vw, 1.75rem); + height: clamp(1.35rem, 2.2vw, 1.75rem); + background: currentColor; + transform: rotate(180deg); + -webkit-mask: url("/icon-arrow-left.svg") center / contain no-repeat; + mask: url("/icon-arrow-left.svg") center / contain no-repeat; } .product-id, diff --git a/parfum-shop/src/pages/LandingPage.jsx b/parfum-shop/src/pages/LandingPage.jsx index a6eeb1e..24a18d7 100644 --- a/parfum-shop/src/pages/LandingPage.jsx +++ b/parfum-shop/src/pages/LandingPage.jsx @@ -450,7 +450,7 @@ function LandingPage() {

{item.text}

- +
))} diff --git a/parfum-shop/src/pages/SmallBatchPage.css b/parfum-shop/src/pages/SmallBatchPage.css index 71249c8..808cdb6 100644 --- a/parfum-shop/src/pages/SmallBatchPage.css +++ b/parfum-shop/src/pages/SmallBatchPage.css @@ -1,193 +1,90 @@ .small-page { min-height: 100vh; - padding: 26px 38px 38px; - background: var(--theme-bg); + padding: 0 0 var(--section-y-sm); color: var(--theme-text); -} - -.small-shell { - background: var(--theme-surface); - border: 1px solid var(--theme-border); - padding: 38px; -} - -.small-hero { - max-width: 780px; - padding-bottom: 34px; - border-bottom: 1px solid var(--theme-border); - margin-bottom: 28px; -} - -.small-kicker { - display: block; - margin-bottom: 12px; - color: var(--theme-text-muted); - font-size: 10px; - letter-spacing: 0.22em; -} - -.small-hero h1, -.small-panel h2 { - margin: 0 0 14px; - letter-spacing: 0; -} - -.small-hero h1 { - font-size: clamp(42px, 8vw, 92px); - line-height: 0.92; -} - -.small-hero p, -.small-panel p, -.release-card p { - margin: 0; - color: var(--theme-text-muted); - line-height: 1.55; -} - -.small-panel, -.release-card, -.small-error { - background: var(--theme-surface-soft); - border: 1px solid var(--theme-border); - padding: 22px; -} - -.small-panel button, -.release-card button { - min-height: 44px; - margin-top: 18px; - border: 1px solid #1f1f1f; - border-radius: 0; - background: #1f1f1f; - color: #fff; - padding: 0 18px; - cursor: pointer; -} - -.small-requirements { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 12px; - margin-top: 18px; -} - -.small-requirement { - display: flex; - justify-content: space-between; - gap: 12px; - padding: 14px; - background: var(--theme-surface-soft); - border: 1px solid var(--theme-border); -} - -.small-requirement span, -.release-card span { - color: var(--theme-text-muted); - font-size: 10px; - letter-spacing: 0.18em; - text-transform: uppercase; -} - -.small-requirement strong.met { - color: #ff6a00; -} - -.release-grid { - display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); - gap: 16px; - margin-top: 22px; -} - -.release-card h3 { - margin: 10px 0 12px; -} - -.small-error { - margin: 16px 0 0; - border-color: #ff6a00; -} - -@media (max-width: 760px) { - .small-page { - padding: 18px; - } - - .small-shell { - padding: 24px 18px; - } - - .small-requirements, - .release-grid { - grid-template-columns: 1fr; - } -} - - -/* --- Design System Refinement Start --- */ - -.small-page { - padding: clamp(1rem, 3vw, 2.4rem) var(--page-x) clamp(2rem, 5vw, 4rem); background: - radial-gradient(circle at 84% 7%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), - var(--theme-bg); -} - -.small-shell { - width: var(--container-wide); - margin: 0 auto; - padding: clamp(1.25rem, 3vw, 2.8rem); - border-radius: var(--radius-lg); - box-shadow: var(--theme-shadow); + radial-gradient(circle at 84% 8%, rgba(var(--theme-accent-rgb) / 0.13), transparent 28rem), + linear-gradient(180deg, var(--theme-bg), color-mix(in srgb, var(--theme-bg) 88%, #000 12%)); } .small-hero { - max-width: min(100%, 58rem); - padding-bottom: var(--section-y-xs); - margin-bottom: var(--gap-lg); + max-width: 64rem; + padding: clamp(2rem, 5vw, 5rem) 0 var(--section-y-sm); + border-bottom: 1px solid var(--theme-border); } .small-kicker, .small-requirement span, .release-card span { + display: block; + margin-bottom: 0.75rem; + color: var(--theme-text-muted); font-size: var(--text-xs); + letter-spacing: 0.22em; + text-transform: uppercase; } .small-hero h1, .small-panel h2 { + margin: 0 0 clamp(0.85rem, 2vw, 1.2rem); + color: var(--theme-text); + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; } .small-hero h1 { - font-size: clamp(3rem, 9vw, 9rem); + font-size: clamp(3rem, 8.6vw, 9rem); line-height: 0.88; text-wrap: balance; } +.small-panel h2 { + font-size: clamp(2.2rem, 5vw, 5.4rem); + line-height: 0.94; +} + .small-hero p, .small-panel p, .release-card p { max-width: var(--text-measure); + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-base); + line-height: 1.65; } .small-panel, .release-card, -.small-error, -.small-requirement { - border-radius: var(--radius-lg); +.small-error { + border: 1px solid var(--theme-border); + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008)), + var(--theme-surface-soft); } -.small-panel, -.release-card { - padding: clamp(1.2rem, 3vw, 2rem); +.small-panel { + max-width: 68rem; + margin-top: var(--section-y-sm); + padding: clamp(1.25rem, 3vw, 2.2rem); } .small-panel button, .release-card button { + display: inline-flex; + align-items: center; + justify-content: center; min-height: 48px; + margin-top: 1.2rem; + padding: 0 1.1rem; + border: 1px solid #111; border-radius: 999px; + background: #111; + color: #fff; + cursor: pointer; + font-size: var(--text-sm); + text-transform: uppercase; + letter-spacing: 0.1em; transition: transform var(--duration-med) var(--ease-out), box-shadow var(--duration-med) var(--ease-out), @@ -203,21 +100,60 @@ } .small-requirements { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-sm); + margin-top: clamp(1.4rem, 3vw, 2.4rem); } .small-requirement { - min-height: 4.5rem; + min-height: 7rem; + display: flex; + flex-direction: column; + justify-content: space-between; + gap: var(--gap-xs); + padding: clamp(1rem, 2vw, 1.4rem); + border: 1px solid var(--theme-border); + background: var(--theme-paper); +} + +.small-requirement span { + margin-bottom: 0; +} + +.small-requirement strong { + color: var(--theme-text); + font-size: var(--text-base); + font-weight: 400; + line-height: 1.3; +} + +.small-requirement strong.met { + color: var(--theme-accent); +} + +.small-error { + max-width: 68rem; + margin: var(--gap-sm) 0 0; + padding: clamp(1rem, 2vw, 1.4rem); + border-color: rgba(var(--theme-accent-rgb) / 0.45); + color: var(--theme-text); } .release-grid { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-sm); - margin-top: var(--gap-lg); + margin-top: var(--section-y-sm); } .release-card { + min-height: 280px; + display: flex; + flex-direction: column; + justify-content: space-between; + gap: var(--gap-sm); + padding: clamp(1.1rem, 2.4vw, 1.8rem); transition: transform var(--duration-med) var(--ease-out), border-color var(--duration-med) var(--ease-out), @@ -230,23 +166,42 @@ box-shadow: var(--theme-shadow-soft); } +.release-card span { + margin-bottom: 0; +} + .release-card h3 { + margin: 0; + color: var(--theme-text); font-size: var(--text-xl); line-height: 1.08; + font-weight: 400; letter-spacing: 0; } -@media (max-width: 760px) { - .small-page { - padding-inline: var(--page-x); - } - - .small-shell { - width: var(--container-wide); - padding-inline: clamp(0.9rem, 4vw, 1.1rem); +@media (max-width: 1180px) { + .small-requirements, + .release-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); } } -/* --- Design System Refinement End --- */ +@media (max-width: 760px) { + .small-hero { + padding-top: clamp(1.4rem, 5vw, 2rem); + } + .small-hero h1 { + font-size: clamp(2.55rem, 13vw, 4.4rem); + } + .small-requirements, + .release-grid { + grid-template-columns: 1fr; + } + + .small-panel button, + .release-card button { + width: 100%; + } +} diff --git a/parfum-shop/src/pages/SmallBatchPage.jsx b/parfum-shop/src/pages/SmallBatchPage.jsx index 13c0a58..6ffd089 100644 --- a/parfum-shop/src/pages/SmallBatchPage.jsx +++ b/parfum-shop/src/pages/SmallBatchPage.jsx @@ -62,7 +62,7 @@ function SmallBatchPage() {
-
+
SMALL BATCH / ARCHIVE / PROTOTYPE diff --git a/parfum-shop/src/pages/SupportPage.css b/parfum-shop/src/pages/SupportPage.css index 070eaf3..d73d86b 100644 --- a/parfum-shop/src/pages/SupportPage.css +++ b/parfum-shop/src/pages/SupportPage.css @@ -1,16 +1,10 @@ .support-page { min-height: 100vh; + padding: 0 0 var(--section-y-sm); color: var(--theme-text); - padding: 26px 38px 38px; background: - linear-gradient(to right, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.1)), - linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.45)); -} - -.support-shell { - background: var(--theme-surface); - border: 1px solid var(--theme-border); - padding: 38px; + radial-gradient(circle at 86% 8%, rgba(var(--theme-accent-rgb) / 0.13), transparent 28rem), + linear-gradient(180deg, var(--theme-bg), color-mix(in srgb, var(--theme-bg) 88%, #000 12%)); } .support-kicker, @@ -18,435 +12,119 @@ .support-panel-label, .support-panel-meta span { display: block; - font-size: 10px; - letter-spacing: 0.22em; color: var(--theme-text-muted); + font-size: var(--text-xs); + letter-spacing: 0.22em; + text-transform: uppercase; } .support-hero { display: grid; - grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.8fr); - gap: 28px; + grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.72fr); + gap: var(--gap-lg); align-items: end; - padding-bottom: 36px; + padding: clamp(2rem, 5vw, 5rem) 0 var(--section-y-sm); border-bottom: 1px solid var(--theme-border); } -.support-hero-copy h1 { - margin: 14px 0 18px; - font-size: 68px; - line-height: 0.92; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.support-intro { - max-width: 720px; - margin: 0; - font-size: 18px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.support-hero-panel { - padding: 24px; - background: linear-gradient( - 180deg, - rgba(255, 106, 0, 0.08), - rgba(255, 106, 0, 0.03) - ); - border: 1px solid rgba(255, 106, 0, 0.18); -} - -.support-hero-panel p { - margin: 10px 0 0; - font-size: 16px; - line-height: 1.6; - color: var(--theme-text); -} - -.support-panel-meta { - display: grid; - grid-template-columns: 1fr; - gap: 16px; - margin-top: 24px; - padding-top: 20px; - border-top: 1px solid rgba(255, 106, 0, 0.14); -} - -.support-panel-meta p { - margin: 8px 0 0; - font-size: 14px; - line-height: 1.55; - color: var(--theme-text); -} - -.support-quick-grid { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 18px; - margin-top: 38px; -} - -.support-quick-card { - padding: 24px; - background: var(--theme-bg); - border: 1px solid var(--theme-border); - min-height: 240px; -} - -.support-quick-card h3 { - margin: 14px 0 12px; - font-size: 24px; - line-height: 1.08; - font-weight: 400; - color: var(--theme-text); -} - -.support-quick-card p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.support-section { - padding-top: 38px; -} - -.support-section--split { - display: grid; - grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr); - gap: 28px; - align-items: start; -} - -.support-section-heading h2, -.support-bottom-copy h2 { - margin: 10px 0 0; - font-size: 42px; - line-height: 0.98; - font-weight: 300; - letter-spacing: 0; - color: var(--theme-text); -} - -.support-section-copy { - display: flex; - flex-direction: column; - gap: 18px; -} - -.support-section-copy p, -.support-bottom-copy p { - margin: 0; - font-size: 16px; - line-height: 1.7; - color: var(--theme-text-muted); -} - -.support-info-grid { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr); - gap: 18px; - margin-top: 38px; -} - -.support-info-box { - padding: 24px; - border: 1px solid var(--theme-border); - background: var(--theme-surface-soft); -} - -.support-info-box h3 { - margin: 14px 0 12px; - font-size: 28px; - line-height: 1.02; - font-weight: 400; - color: #fff; -} - -.support-info-box p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.support-info-box--dark { - background: #1f1f1f; - border-color: var(--theme-text); -} - -.support-info-box--dark .support-label, -.support-info-box--dark p { - color: rgba(255, 255, 255, 0.78); -} - -.support-list { - margin: 14px 0 0; - padding-left: 18px; - display: grid; - gap: 10px; -} - -.support-list li { - font-size: 15px; - line-height: 1.6; - color: var(--theme-text); -} - -.support-mail-btn { - display: inline-flex; - align-items: center; - justify-content: center; - margin-top: 18px; - text-decoration: none; - padding: 12px 18px; - border-radius: 999px; - background: #ff6a00; - color: #fff; - font-size: 14px; - transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease; -} - -.support-mail-btn:hover { - transform: translateY(-1px); -} - -.support-faq-section { - margin-top: 38px; - padding-top: 38px; - border-top: 1px solid var(--theme-border); -} - -.support-faq-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 18px; - margin-top: 28px; -} - -.support-faq-card { - padding: 24px; - border: 1px solid var(--theme-border); - background: var(--theme-bg); - min-height: 210px; -} - -.support-faq-card h3 { - margin: 0 0 12px; - font-size: 22px; - line-height: 1.08; - font-weight: 400; - color: var(--theme-text); -} - -.support-faq-card p { - margin: 0; - font-size: 15px; - line-height: 1.65; - color: var(--theme-text-muted); -} - -.support-bottom-cta { - margin-top: 38px; - padding: 38px; - background: #ff6a00; - display: grid; - grid-template-columns: minmax(0, 1.2fr) auto; - gap: 24px; - align-items: end; -} - -.support-bottom-copy .support-label, -.support-bottom-copy h2, -.support-bottom-copy p { - color: #fff; -} - -.support-bottom-copy .support-label { - opacity: 0.85; -} - -.support-bottom-copy p { - margin-top: 16px; - max-width: 700px; -} - -.support-bottom-actions { - display: flex; - gap: 12px; - flex-wrap: wrap; -} - -.support-btn { - display: inline-flex; - align-items: center; - justify-content: center; - text-decoration: none; - padding: 12px 18px; - font-size: 14px; - border-radius: 999px; - transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease; -} - -.support-btn:hover { - transform: translateY(-1px); -} - -.support-btn--primary { - background: var(--theme-paper); - color: #ff6a00; -} - -.support-btn--secondary { - background: rgba(255, 255, 255, 0.14); - color: #fff; - backdrop-filter: blur(8px); -} - -@media (max-width: 1100px) { - .support-hero, - .support-section--split, - .support-info-grid, - .support-bottom-cta { - grid-template-columns: 1fr; - } - - .support-hero-copy h1 { - font-size: 52px; - } - - .support-quick-grid, - .support-faq-grid { - grid-template-columns: 1fr; - } -} - -@media (max-width: 700px) { - .support-page { - padding: 18px; - } - - .support-shell { - padding: 24px 18px; - } - - .support-hero-copy h1 { - font-size: 38px; - } - - .support-section-heading h2, - .support-bottom-copy h2 { - font-size: 30px; - } - - .support-intro, - .support-section-copy p, - .support-bottom-copy p, - .support-quick-card p, - .support-faq-card p { - font-size: 15px; - } - - .support-bottom-cta { - padding: 26px 20px; - } -} - - -/* --- Design System Refinement Start --- */ - -.support-page { - padding: clamp(1rem, 3vw, 2.4rem) var(--page-x) clamp(2rem, 5vw, 4rem); - background: - radial-gradient(circle at 88% 9%, rgba(var(--theme-accent-rgb) / 0.12), transparent 28rem), - linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.08)), - var(--theme-bg); -} - -.support-shell { - width: var(--container-wide); - margin: 0 auto; - padding: clamp(1.25rem, 3vw, 2.8rem); - border-radius: var(--radius-lg); - box-shadow: var(--theme-shadow); -} - -.support-kicker, -.support-label, -.support-panel-label, -.support-panel-meta span { - font-size: var(--text-xs); -} - -.support-hero { - grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.72fr); - gap: var(--gap-lg); - padding-bottom: var(--section-y-xs); +.support-hero-copy { + min-width: 0; } .support-hero-copy h1 { + max-width: 10.8ch; margin: clamp(0.85rem, 2vw, 1.2rem) 0 clamp(1rem, 2vw, 1.35rem); + color: var(--theme-text); font-size: clamp(3rem, 7.4vw, 8.8rem); line-height: 0.9; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; text-wrap: balance; } .support-intro { max-width: var(--text-measure); + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-lg); -} - -.support-hero-panel, -.support-quick-card, -.support-info-box, -.support-faq-card, -.support-bottom-cta { - border-radius: var(--radius-lg); + line-height: 1.65; } .support-hero-panel { padding: clamp(1.25rem, 3vw, 2rem); + border: 1px solid rgba(var(--theme-accent-rgb) / 0.2); + background: + linear-gradient(135deg, rgba(var(--theme-accent-rgb) / 0.1), transparent 62%), + var(--theme-surface-soft); +} + +.support-hero-panel p { + margin: 0.75rem 0 0; + color: var(--theme-text); + font-size: var(--text-base); + line-height: 1.62; +} + +.support-panel-meta { + display: grid; + gap: var(--gap-sm); + margin-top: clamp(1.2rem, 2.6vw, 2rem); + padding-top: var(--gap-sm); + border-top: 1px solid rgba(var(--theme-accent-rgb) / 0.2); +} + +.support-panel-meta p { + margin: 0.45rem 0 0; + color: var(--theme-text); + font-size: var(--text-sm); + line-height: 1.55; } .support-quick-grid, .support-info-grid, .support-faq-grid { + display: grid; gap: var(--gap-sm); - margin-top: var(--section-y-xs); } .support-quick-grid { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); + grid-template-columns: repeat(3, minmax(0, 1fr)); + margin-top: var(--section-y-sm); } -.support-faq-grid { - grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); -} - -.support-section { - padding-top: var(--section-y-xs); +.support-section, +.support-faq-section { + padding-top: var(--section-y-sm); } .support-section--split, -.support-info-grid, -.support-bottom-cta { +.support-info-grid { + display: grid; + grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr); gap: var(--gap-lg); + align-items: start; +} + +.support-info-grid { + margin-top: var(--section-y-sm); } .support-section-heading h2, .support-bottom-copy h2 { + margin: 0.75rem 0 0; + color: var(--theme-text); font-size: clamp(2.15rem, 5.2vw, 6rem); line-height: 0.94; + font-weight: 300; letter-spacing: 0; + text-transform: uppercase; text-wrap: balance; } .support-section-copy { + display: flex; + flex-direction: column; gap: var(--gap-sm); } @@ -456,12 +134,21 @@ .support-faq-card p, .support-info-box p, .support-list li { + margin: 0; + color: var(--theme-text-muted); font-size: var(--text-base); + line-height: 1.7; } .support-quick-card, .support-faq-card, .support-info-box { + min-height: 100%; + padding: clamp(1.1rem, 2.4vw, 1.8rem); + border: 1px solid var(--theme-border); + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008)), + var(--theme-surface-soft); transition: transform var(--duration-med) var(--ease-out), border-color var(--duration-med) var(--ease-out), @@ -479,72 +166,170 @@ .support-quick-card h3, .support-faq-card h3, .support-info-box h3 { + margin: 0.9rem 0 0.75rem; + color: var(--theme-text); font-size: var(--text-xl); + line-height: 1.08; + font-weight: 400; letter-spacing: 0; } .support-info-box--dark { + border-color: rgba(255, 255, 255, 0.16); background: radial-gradient(circle at 100% 0%, rgba(var(--theme-accent-rgb) / 0.18), transparent 18rem), #171717; } +.support-info-box--dark .support-label, +.support-info-box--dark p { + color: rgba(255, 255, 255, 0.78); +} + +.support-info-box--dark h3 { + color: #fff; +} + +.support-list { + display: grid; + gap: 0.75rem; + margin: 1rem 0 0; + padding-left: 1.1rem; +} + +.support-mail-btn { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 48px; + margin-top: 1.15rem; + padding: 0 1.1rem; + border-radius: 999px; + background: var(--theme-accent); + color: #fff; + font-size: var(--text-sm); + text-decoration: none; + transition: + transform var(--duration-med) var(--ease-out), + box-shadow var(--duration-med) var(--ease-out); +} + +.support-mail-btn:hover, +.support-mail-btn:focus-visible { + transform: translateY(-2px); + box-shadow: var(--theme-shadow-soft); +} + .support-faq-section { - margin-top: var(--section-y-xs); - padding-top: var(--section-y-xs); + margin-top: var(--section-y-sm); + border-top: 1px solid var(--theme-border); +} + +.support-faq-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + margin-top: clamp(1.6rem, 4vw, 3rem); } .support-bottom-cta { - margin-top: var(--section-y-xs); + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: var(--gap-lg); + align-items: end; + margin-top: var(--section-y-sm); padding: clamp(1.5rem, 4vw, 3.5rem); + overflow: hidden; background: radial-gradient(circle at 92% 0%, rgba(255, 255, 255, 0.22), transparent 20rem), var(--theme-accent); } -.support-btn, -.support-mail-btn { +.support-bottom-copy .support-label, +.support-bottom-copy h2, +.support-bottom-copy p { + color: #fff; +} + +.support-bottom-copy p { + max-width: 48rem; + margin-top: 1rem; +} + +.support-bottom-actions { + display: flex; + flex-wrap: wrap; + gap: var(--gap-xs); + justify-content: flex-end; +} + +.support-btn { + display: inline-flex; + align-items: center; + justify-content: center; min-height: 48px; + padding: 0 1.1rem; + border: 1px solid transparent; + border-radius: 999px; + color: inherit; + font-size: var(--text-sm); + text-decoration: none; + transition: + transform var(--duration-med) var(--ease-out), + box-shadow var(--duration-med) var(--ease-out), + background-color var(--duration-med) var(--ease-out); } .support-btn:hover, -.support-btn:focus-visible, -.support-mail-btn:hover, -.support-mail-btn:focus-visible { +.support-btn:focus-visible { + transform: translateY(-2px); box-shadow: var(--theme-shadow-soft); } -@media (max-width: 1100px) { +.support-btn--primary { + background: #fff; + color: var(--theme-accent); +} + +.support-btn--secondary { + border-color: rgba(255, 255, 255, 0.22); + background: rgba(255, 255, 255, 0.14); + color: #fff; + backdrop-filter: blur(8px); +} + +@media (max-width: 1180px) { .support-hero, .support-section--split, .support-info-grid, .support-bottom-cta { grid-template-columns: 1fr; } + + .support-quick-grid, + .support-faq-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } } -@media (max-width: 700px) { - .support-page { - padding-inline: var(--page-x); - } - - .support-shell { - width: var(--container-wide); - padding-inline: clamp(0.9rem, 4vw, 1.1rem); +@media (max-width: 760px) { + .support-hero { + padding-top: clamp(1.4rem, 5vw, 2rem); } .support-hero-copy h1 { font-size: clamp(2.55rem, 13vw, 4.4rem); } + .support-quick-grid, + .support-faq-grid { + grid-template-columns: 1fr; + } + .support-bottom-actions { display: grid; + justify-content: stretch; } .support-btn { width: 100%; } } - -/* --- Design System Refinement End --- */ - diff --git a/parfum-shop/src/pages/SupportPage.jsx b/parfum-shop/src/pages/SupportPage.jsx index fae656c..090b805 100644 --- a/parfum-shop/src/pages/SupportPage.jsx +++ b/parfum-shop/src/pages/SupportPage.jsx @@ -7,7 +7,7 @@ function SupportPage() {
-
+