diff --git a/LootahRoboticsBlackBackground.png b/LootahRoboticsBlackBackground.png new file mode 100644 index 0000000..376f559 Binary files /dev/null and b/LootahRoboticsBlackBackground.png differ diff --git a/LootahRoboticsLogo.png b/LootahRoboticsLogo.png new file mode 100644 index 0000000..54ddc04 Binary files /dev/null and b/LootahRoboticsLogo.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index 972bd1a..453f3c7 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/favicon.ico b/public/favicon.ico index b834f83..ff9f3fd 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/icon-192-maskable.webp b/public/icon-192-maskable.webp index 7925fcf..9f018d8 100644 Binary files a/public/icon-192-maskable.webp and b/public/icon-192-maskable.webp differ diff --git a/public/icon-192.webp b/public/icon-192.webp index 45bb834..9f018d8 100644 Binary files a/public/icon-192.webp and b/public/icon-192.webp differ diff --git a/public/icon-512-maskable.webp b/public/icon-512-maskable.webp index f678270..65b415f 100644 Binary files a/public/icon-512-maskable.webp and b/public/icon-512-maskable.webp differ diff --git a/public/icon-512.webp b/public/icon-512.webp index d635e76..65b415f 100644 Binary files a/public/icon-512.webp and b/public/icon-512.webp differ diff --git a/public/images/brands/lootah-mark-mono.png b/public/images/brands/lootah-mark-mono.png new file mode 100644 index 0000000..f91ee97 Binary files /dev/null and b/public/images/brands/lootah-mark-mono.png differ diff --git a/public/images/brands/lootah-mark-white.png b/public/images/brands/lootah-mark-white.png new file mode 100644 index 0000000..8a6c933 Binary files /dev/null and b/public/images/brands/lootah-mark-white.png differ diff --git a/public/images/brands/lootah-robotics-logo-mono-light.png b/public/images/brands/lootah-robotics-logo-mono-light.png new file mode 100644 index 0000000..54ddc04 Binary files /dev/null and b/public/images/brands/lootah-robotics-logo-mono-light.png differ diff --git a/public/images/brands/lootah-robotics-logo-mono.png b/public/images/brands/lootah-robotics-logo-mono.png new file mode 100644 index 0000000..376f559 Binary files /dev/null and b/public/images/brands/lootah-robotics-logo-mono.png differ diff --git a/public/images/robots/pudu-bg1-pro.webp b/public/images/robots/pudu-bg1-pro.webp new file mode 100644 index 0000000..da4151e Binary files /dev/null and b/public/images/robots/pudu-bg1-pro.webp differ diff --git a/public/images/robots/pudu-cc1-pro.webp b/public/images/robots/pudu-cc1-pro.webp new file mode 100644 index 0000000..86841b6 Binary files /dev/null and b/public/images/robots/pudu-cc1-pro.webp differ diff --git a/public/images/robots/pudu-mt1-max.webp b/public/images/robots/pudu-mt1-max.webp new file mode 100644 index 0000000..bc6620f Binary files /dev/null and b/public/images/robots/pudu-mt1-max.webp differ diff --git a/public/images/robots/pudu-mt1-vac.webp b/public/images/robots/pudu-mt1-vac.webp new file mode 100644 index 0000000..38eb980 Binary files /dev/null and b/public/images/robots/pudu-mt1-vac.webp differ diff --git a/public/images/robots/pudu-t600-underride.webp b/public/images/robots/pudu-t600-underride.webp new file mode 100644 index 0000000..c66b0ab Binary files /dev/null and b/public/images/robots/pudu-t600-underride.webp differ diff --git a/public/images/robots/pudu-t600.webp b/public/images/robots/pudu-t600.webp new file mode 100644 index 0000000..0c35f03 Binary files /dev/null and b/public/images/robots/pudu-t600.webp differ diff --git a/scripts/prod-check.mjs b/scripts/prod-check.mjs deleted file mode 100644 index 237d985..0000000 --- a/scripts/prod-check.mjs +++ /dev/null @@ -1,23 +0,0 @@ -import { chromium } from 'playwright'; -const browser = await chromium.launch(); -const ctx = await browser.newContext({ viewport: { width: 390, height: 844 }, isMobile: true, hasTouch: true, deviceScaleFactor: 2 }); -const page = await ctx.newPage(); -await page.goto('https://yslootahrobotics.com/', { waitUntil: 'networkidle', timeout: 60000 }); -await page.waitForSelector('footer', { timeout: 30000 }); -await page.waitForTimeout(3000); -const r = await page.evaluate(() => { - const footer = document.querySelector('footer'); - if (!footer) return { error: 'no footer' }; - const body = document.body; - const fRect = footer.getBoundingClientRect(); - return { - bodyScrollHeight: body.scrollHeight, - footerBottomAbs: Math.round(fRect.bottom + window.scrollY), - spaceBelowFooter: Math.round(body.scrollHeight - (fRect.bottom + window.scrollY)), - bodyDisplay: getComputedStyle(body).display, - bodyMinHeight: getComputedStyle(body).minHeight, - footerMarginTop: getComputedStyle(footer).marginTop, - }; -}); -console.log(JSON.stringify(r, null, 2)); -await browser.close(); diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 762d6b7..d9574b0 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -26,7 +26,7 @@ export default function AboutPage() {

In Tech We Innovate. In Trust We Lead.

-

+

YS Lootah Robotics is part of the Yousuf Saeed Lootah Investment Group a trusted UAE technology and robotics partner helping businesses innovate, automate, and deploy intelligent robotic solutions. The UAE's dedicated destination for selected Unitree and Pudu Robotics solutions.

diff --git a/src/app/accessories/[slug]/page.tsx b/src/app/accessories/[slug]/page.tsx index 490be9f..03de81e 100644 --- a/src/app/accessories/[slug]/page.tsx +++ b/src/app/accessories/[slug]/page.tsx @@ -376,22 +376,22 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; - color: #8891C7; + color: #a8a8a8; } - .acc-breadcrumbs a { color: #8891C7; text-decoration: none; transition: color 0.25s; } + .acc-breadcrumbs a { color: #a8a8a8; text-decoration: none; transition: color 0.25s; } .acc-breadcrumbs a:hover { color: #FFFFFF; } .acc-breadcrumbs li[aria-current="page"] { color: #FFFFFF; } - .acc-breadcrumbs li[aria-hidden] { display: inline-flex; align-items: center; color: #4a4f63; } + .acc-breadcrumbs li[aria-hidden] { display: inline-flex; align-items: center; color: #575757; } /* HERO */ .acc-hero { position: relative; overflow: hidden; border-radius: 26px; - border: 1px solid rgba(74, 102, 216, 0.22); + border: 1px solid rgba(145, 145, 145, 0.22); background: - radial-gradient(ellipse 70% 100% at 0% 0%, rgba(58, 85, 196, 0.20), transparent 55%), + radial-gradient(ellipse 70% 100% at 0% 0%, rgba(127, 127, 127, 0.20), transparent 55%), radial-gradient(ellipse 60% 80% at 100% 100%, color-mix(in srgb, var(--acc) 16%, transparent), transparent 60%), - linear-gradient(135deg, rgba(14, 13, 22, 0.95), rgba(6, 6, 10, 0.97)); + linear-gradient(135deg, rgba(18, 18, 18, 0.95), rgba(8, 8, 8, 0.97)); box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04); } .acc-hero-glow { @@ -403,8 +403,8 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< .acc-hero-grid { position: absolute; inset: 0; background: - linear-gradient(rgba(74, 102, 216, 0.05) 1px, transparent 1px), - linear-gradient(90deg, rgba(74, 102, 216, 0.05) 1px, transparent 1px); + linear-gradient(rgba(145, 145, 145, 0.05) 1px, transparent 1px), + linear-gradient(90deg, rgba(145, 145, 145, 0.05) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(ellipse 70% 90% at 70% 60%, #000 25%, transparent 80%); -webkit-mask-image: radial-gradient(ellipse 70% 90% at 70% 60%, #000 25%, transparent 80%); @@ -422,24 +422,24 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< aspect-ratio: 5 / 4; border-radius: 20px; overflow: hidden; - border: 1px solid rgba(222, 224, 240, 0.10); + border: 1px solid rgba(231, 231, 231, 0.10); background: - radial-gradient(ellipse 38% 18% at 50% 80%, rgba(200, 210, 240, 0.16), transparent 70%), + radial-gradient(ellipse 38% 18% at 50% 80%, rgba(220, 220, 220, 0.16), transparent 70%), radial-gradient(ellipse 55% 55% at 50% 50%, color-mix(in srgb, var(--acc) 22%, transparent), transparent 65%), - linear-gradient(180deg, rgba(10, 10, 16, 0.95), rgba(4, 4, 8, 0.98)); + linear-gradient(180deg, rgba(13, 13, 13, 0.95), rgba(6, 6, 6, 0.98)); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04); } .acc-hero-stage { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; - background: radial-gradient(ellipse 60% 100% at 50% 100%, rgba(200, 210, 240, 0.10), transparent 70%); + background: radial-gradient(ellipse 60% 100% at 50% 100%, rgba(220, 220, 220, 0.10), transparent 70%); pointer-events: none; } .acc-hero-grid-inner { position: absolute; inset: 0; background-image: - linear-gradient(rgba(222, 224, 240, 0.05) 1px, transparent 1px), - linear-gradient(90deg, rgba(222, 224, 240, 0.05) 1px, transparent 1px); + linear-gradient(rgba(231, 231, 231, 0.05) 1px, transparent 1px), + linear-gradient(90deg, rgba(231, 231, 231, 0.05) 1px, transparent 1px); background-size: 32px 32px; mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 80%); -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 80%); @@ -463,13 +463,13 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< } .acc-hero-title :global(.text-gradient) { font-weight: 500; } .acc-hero-tagline { - margin: 0; color: #DEE0F0; + margin: 0; color: #e7e7e7; font-size: clamp(0.98rem, 1.8vw, 1.12rem); line-height: 1.55; font-weight: 500; } .acc-hero-desc { - margin: 0; color: #C9CCDE; + margin: 0; color: #d4d4d4; font-size: clamp(0.9rem, 1.6vw, 1rem); line-height: 1.65; max-width: 560px; @@ -488,10 +488,10 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< .acc-block { padding: clamp(1.2rem, 2vw, 1.6rem); border-radius: 20px; - border: 1px solid rgba(222, 224, 240, 0.10); + border: 1px solid rgba(231, 231, 231, 0.10); background: radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--acc) 12%, transparent), transparent 60%), - linear-gradient(180deg, rgba(22, 21, 30, 0.92), rgba(10, 10, 14, 0.96)); + linear-gradient(180deg, rgba(26, 26, 26, 0.92), rgba(12, 12, 12, 0.96)); display: flex; flex-direction: column; gap: 1rem; } .acc-block header { display: flex; flex-direction: column; gap: 0.45rem; } @@ -505,31 +505,31 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< } .acc-feature-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.65rem; - color: #DEE0F0; font-size: 0.92rem; line-height: 1.55; + color: #e7e7e7; font-size: 0.92rem; line-height: 1.55; } .acc-feature-check { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; - background: rgba(127, 214, 208, 0.18); - border: 1px solid rgba(127, 214, 208, 0.4); - color: #7FD6D0; + background: rgba(171, 171, 171, 0.18); + border: 1px solid rgba(171, 171, 171, 0.4); + color: #ababab; margin-top: 2px; } .acc-compat-list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.55rem; - color: #DEE0F0; font-size: 0.92rem; + color: #e7e7e7; font-size: 0.92rem; padding: 0.55rem 0.7rem; border-radius: 10px; - border: 1px solid rgba(222, 224, 240, 0.08); - background: linear-gradient(135deg, rgba(20, 19, 26, 0.6), rgba(10, 10, 14, 0.8)); + border: 1px solid rgba(231, 231, 231, 0.08); + background: linear-gradient(135deg, rgba(23, 23, 23, 0.6), rgba(12, 12, 12, 0.8)); } .acc-compat-icon { color: var(--acc); font-weight: 800; font-size: 1.1rem; line-height: 1; } - .acc-block-empty { margin: 0; color: #C9CCDE; font-size: 0.92rem; line-height: 1.55; } + .acc-block-empty { margin: 0; color: #d4d4d4; font-size: 0.92rem; line-height: 1.55; } .acc-meta-grid { margin-top: auto; padding-top: 1rem; - border-top: 1px solid rgba(74, 102, 216, 0.18); + border-top: 1px solid rgba(145, 145, 145, 0.18); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; } @@ -538,7 +538,7 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< } .acc-meta span { font-size: 0.58rem; letter-spacing: 0.24em; text-transform: uppercase; - color: #8891C7; font-weight: 800; + color: #a8a8a8; font-weight: 800; } .acc-meta strong { color: #FFFFFF; font-weight: 600; font-size: 0.88rem; letter-spacing: -0.005em; } @@ -546,17 +546,17 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< .acc-cta { position: relative; overflow: hidden; border-radius: 26px; - border: 1px solid rgba(74, 102, 216, 0.26); + border: 1px solid rgba(145, 145, 145, 0.26); background: - radial-gradient(ellipse 60% 100% at 100% 0%, rgba(58, 85, 196, 0.22), transparent 60%), - linear-gradient(135deg, rgba(18, 16, 28, 0.95), rgba(8, 8, 12, 0.97)); + radial-gradient(ellipse 60% 100% at 100% 0%, rgba(127, 127, 127, 0.22), transparent 60%), + linear-gradient(135deg, rgba(22, 22, 22, 0.95), rgba(10, 10, 10, 0.97)); box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04); scroll-margin-top: clamp(80px, 12vh, 120px); } .acc-cta-glow { position: absolute; width: 480px; height: 480px; border-radius: 999px; top: -160px; left: -160px; - background: radial-gradient(circle, rgba(74, 102, 216, 0.45), transparent 70%); + background: radial-gradient(circle, rgba(145, 145, 145, 0.45), transparent 70%); filter: blur(100px); opacity: 0.55; pointer-events: none; } .acc-cta-inner { @@ -575,7 +575,7 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 400; letter-spacing: -0.02em; color: #FFFFFF; line-height: 1.1; } - .acc-cta-text p { margin: 0; color: #DEE0F0; font-size: 0.95rem; line-height: 1.65; } + .acc-cta-text p { margin: 0; color: #e7e7e7; font-size: 0.95rem; line-height: 1.65; } .acc-cta-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; justify-content: flex-start; } @@ -600,35 +600,35 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< display: flex; flex-direction: column; gap: 0.35rem; padding: 1.1rem 1.15rem; border-radius: 18px; - border: 1px solid rgba(120, 140, 255, 0.22); + border: 1px solid rgba(188, 188, 188, 0.22); background: radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--acc) 16%, transparent), transparent 60%), - linear-gradient(135deg, rgba(80, 110, 255, 0.10), rgba(255, 255, 255, 0.03)); + linear-gradient(135deg, rgba(168, 168, 168, 0.10), rgba(255, 255, 255, 0.03)); overflow: hidden; transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s; } .acc-highlight::before { content: ''; position: absolute; top: 0; right: 16px; width: 28px; height: 1px; - background: linear-gradient(90deg, transparent, rgba(180, 195, 255, 0.55)); + background: linear-gradient(90deg, transparent, rgba(218, 218, 218, 0.55)); } .acc-highlight:hover { - border-color: rgba(120, 140, 255, 0.55); + border-color: rgba(188, 188, 188, 0.55); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45), 0 0 22px color-mix(in srgb, var(--acc) 18%, transparent); } .acc-highlight-value { font-size: clamp(1.7rem, 3.2vw, 2.4rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1; - background: linear-gradient(180deg, #FFFFFF, #B5BDDB); + background: linear-gradient(180deg, #FFFFFF, #c8c8c8); -webkit-background-clip: text; background-clip: text; color: transparent; } .acc-highlight-label { font-size: 0.66rem; letter-spacing: 0.22em; - text-transform: uppercase; font-weight: 800; color: #DEE0F0; + text-transform: uppercase; font-weight: 800; color: #e7e7e7; } .acc-highlight-sub { - font-size: 0.78rem; color: #8891C7; line-height: 1.3; + font-size: 0.78rem; color: #a8a8a8; line-height: 1.3; } /* FEATURE SECTIONS — full-bleed alternating */ @@ -643,10 +643,10 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< gap: clamp(1.25rem, 3vw, 2rem); padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 24px; - border: 1px solid rgba(74, 102, 216, 0.20); + border: 1px solid rgba(145, 145, 145, 0.20); background: radial-gradient(ellipse 70% 80% at 0% 100%, color-mix(in srgb, var(--acc) 16%, transparent), transparent 60%), - linear-gradient(135deg, rgba(18, 17, 26, 0.95), rgba(8, 8, 12, 0.97)); + linear-gradient(135deg, rgba(22, 22, 22, 0.95), rgba(10, 10, 10, 0.97)); box-shadow: 0 22px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04); overflow: hidden; align-items: center; @@ -664,14 +664,14 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< aspect-ratio: 16 / 11; border-radius: 18px; overflow: hidden; - background: #0a0a0e; - border: 1px solid rgba(222, 224, 240, 0.08); + background: #0c0c0c; + border: 1px solid rgba(231, 231, 231, 0.08); min-height: 200px; } .acc-feature-media-overlay { position: absolute; inset: 0; background: - linear-gradient(180deg, rgba(10, 10, 14, 0.08) 0%, rgba(10, 10, 14, 0.02) 40%, rgba(10, 10, 14, 0.55) 100%), + linear-gradient(180deg, rgba(12, 12, 12, 0.08) 0%, rgba(12, 12, 12, 0.02) 40%, rgba(12, 12, 12, 0.55) 100%), radial-gradient(ellipse 60% 70% at 100% 0%, color-mix(in srgb, var(--acc) 18%, transparent), transparent 65%); pointer-events: none; } @@ -689,7 +689,7 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< line-height: 1.1; } .acc-feature-body p { - margin: 0; color: #DEE0F0; + margin: 0; color: #e7e7e7; font-size: clamp(0.95rem, 1.8vw, 1.05rem); line-height: 1.65; } @@ -699,7 +699,7 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< } .acc-feature-bullets li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.65rem; - color: #DEE0F0; font-size: 0.92rem; line-height: 1.55; + color: #e7e7e7; font-size: 0.92rem; line-height: 1.55; } /* PARAMS DIAGRAM */ @@ -707,15 +707,15 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< margin: 0; padding: clamp(1.2rem, 2.4vw, 1.8rem); border-radius: 22px; - border: 1px solid rgba(74, 102, 216, 0.22); + border: 1px solid rgba(145, 145, 145, 0.22); background: radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in srgb, var(--acc) 12%, transparent), transparent 60%), - linear-gradient(180deg, rgba(14, 13, 22, 0.95), rgba(8, 8, 12, 0.97)); + linear-gradient(180deg, rgba(18, 18, 18, 0.95), rgba(10, 10, 10, 0.97)); display: flex; flex-direction: column; gap: 1rem; box-shadow: 0 22px 52px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04); } .acc-params-figure figcaption { - color: #8891C7; font-size: 0.78rem; + color: #a8a8a8; font-size: 0.78rem; letter-spacing: 0.04em; text-align: center; } @@ -731,15 +731,15 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< } .acc-spec-group { border-radius: 18px; - border: 1px solid rgba(222, 224, 240, 0.10); - background: linear-gradient(180deg, rgba(20, 19, 26, 0.85), rgba(10, 10, 14, 0.94)); + border: 1px solid rgba(231, 231, 231, 0.10); + background: linear-gradient(180deg, rgba(23, 23, 23, 0.85), rgba(12, 12, 12, 0.94)); overflow: hidden; } .acc-spec-head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.9rem 1.1rem; - border-bottom: 1px solid rgba(74, 102, 216, 0.18); - background: linear-gradient(180deg, rgba(74, 102, 216, 0.08), rgba(20, 19, 26, 0.6)); + border-bottom: 1px solid rgba(145, 145, 145, 0.18); + background: linear-gradient(180deg, rgba(145, 145, 145, 0.08), rgba(23, 23, 23, 0.6)); } .acc-spec-head h3 { margin: 0; font-size: 0.95rem; font-weight: 600; @@ -755,7 +755,7 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< padding: 0.22rem 0.55rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--acc) 38%, transparent); - background: rgba(10, 10, 14, 0.6); + background: rgba(12, 12, 12, 0.6); } .acc-spec-table { width: 100%; @@ -767,17 +767,17 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< padding: 0.7rem 1.1rem; text-align: left; vertical-align: top; - border-bottom: 1px solid rgba(222, 224, 240, 0.06); + border-bottom: 1px solid rgba(231, 231, 231, 0.06); } .acc-spec-table tr:last-child th, .acc-spec-table tr:last-child td { border-bottom: none; } .acc-spec-table th { - color: #A6B2D8; + color: #bfbfbf; font-weight: 600; width: 38%; } .acc-spec-table td { - color: #DEE0F0; + color: #e7e7e7; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.82rem; letter-spacing: 0.01em; @@ -788,8 +788,8 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: clamp(1.2rem, 2.4vw, 1.8rem); border-radius: 18px; - border: 1px solid rgba(222, 224, 240, 0.10); - background: linear-gradient(180deg, rgba(18, 17, 24, 0.85), rgba(10, 10, 14, 0.94)); + border: 1px solid rgba(231, 231, 231, 0.10); + background: linear-gradient(180deg, rgba(21, 21, 21, 0.85), rgba(12, 12, 12, 0.94)); } @media (min-width: 820px) { .acc-foot { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.5rem; } } .acc-foot-block { display: flex; flex-direction: column; gap: 0.55rem; } @@ -798,14 +798,14 @@ export default async function AccessoryDetailPage({ params }: { params: Promise< display: flex; flex-direction: column; gap: 0.45rem; } .acc-foot-list li { - color: #C9CCDE; font-size: 0.82rem; line-height: 1.55; + color: #d4d4d4; font-size: 0.82rem; line-height: 1.55; } .acc-foot-list sup { color: color-mix(in srgb, var(--acc) 70%, white); font-weight: 800; margin-right: 0.25rem; } - .acc-foot-block p { margin: 0; color: #C9CCDE; font-size: 0.82rem; line-height: 1.55; } + .acc-foot-block p { margin: 0; color: #d4d4d4; font-size: 0.82rem; line-height: 1.55; } /* RELATED */ .acc-related { display: flex; flex-direction: column; gap: 1.25rem; } @@ -837,10 +837,10 @@ function RelatedCard({ accessory }: { accessory: Accessory }) { overflow: 'hidden', textDecoration: 'none', color: '#FFFFFF', - border: '1px solid rgba(222, 224, 240, 0.10)', + border: '1px solid rgba(231, 231, 231, 0.10)', background: - `radial-gradient(ellipse 80% 60% at 100% 0%, ${accent}1A, transparent 60%), linear-gradient(180deg, rgba(22, 21, 30, 0.92), rgba(10, 10, 14, 0.96))`, - boxShadow: '0 1px 0 rgba(222, 224, 240, 0.04) inset, 0 14px 28px rgba(0, 0, 0, 0.36)', + `radial-gradient(ellipse 80% 60% at 100% 0%, ${accent}1A, transparent 60%), linear-gradient(180deg, rgba(26, 26, 26, 0.92), rgba(12, 12, 12, 0.96))`, + boxShadow: '0 1px 0 rgba(231, 231, 231, 0.04) inset, 0 14px 28px rgba(0, 0, 0, 0.36)', transition: 'transform 0.4s cubic-bezier(0.16,1,0.3,1), border-color 0.4s, box-shadow 0.4s', }} > @@ -848,9 +848,9 @@ function RelatedCard({ accessory }: { accessory: Accessory }) { style={{ position: 'relative', aspectRatio: '16 / 11', - background: '#0a0a0e', + background: '#0c0c0c', overflow: 'hidden', - borderBottom: '1px solid rgba(222, 224, 240, 0.06)', + borderBottom: '1px solid rgba(231, 231, 231, 0.06)', }} >

{accessory.name}

-

{accessory.tagline}

- +

{accessory.tagline}

+ View accessory diff --git a/src/app/accessories/page.tsx b/src/app/accessories/page.tsx index 9ddb320..e732ff0 100644 --- a/src/app/accessories/page.tsx +++ b/src/app/accessories/page.tsx @@ -27,11 +27,11 @@ export default function AccessoriesIndexPage() { gap: 'clamp(2rem, 4vw, 3rem)', }} > -